@lovrabet/lovrabet-cli 2.3.0-beta.6 → 2.3.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.d.ts +1 -1
  25. package/lib/commands/config/init.js +1 -1
  26. package/lib/commands/config/shared.js +1 -1
  27. package/lib/commands/data/index.js +1 -1
  28. package/lib/commands/dataset/detail.js +1 -1
  29. package/lib/commands/dataset/index.js +1 -1
  30. package/lib/commands/dataset/list.js +1 -1
  31. package/lib/commands/dataset/sdk-doc.js +1 -1
  32. package/lib/commands/doctor.js +1 -1
  33. package/lib/commands/file/index.js +1 -1
  34. package/lib/commands/init.js +1 -1
  35. package/lib/commands/kb/index.js +1 -1
  36. package/lib/commands/logs/index.js +1 -1
  37. package/lib/commands/notification/config-list.js +1 -1
  38. package/lib/commands/notification/index.js +1 -1
  39. package/lib/commands/notification/shared.js +1 -1
  40. package/lib/commands/ocr/index.js +1 -1
  41. package/lib/commands/permit/dataset-get.js +1 -1
  42. package/lib/commands/permit/dataset-set.js +1 -1
  43. package/lib/commands/permit/index.js +1 -1
  44. package/lib/commands/permit/page-get.js +1 -1
  45. package/lib/commands/permit/page-set.js +1 -1
  46. package/lib/commands/permit/role-menus-set.js +1 -1
  47. package/lib/commands/permit/role-menus.js +1 -1
  48. package/lib/commands/permit/shared.js +1 -1
  49. package/lib/commands/personal-bff/index.js +1 -1
  50. package/lib/commands/registry.js +1 -1
  51. package/lib/commands/role/create.js +1 -1
  52. package/lib/commands/role/delete.js +1 -1
  53. package/lib/commands/role/detail.js +1 -1
  54. package/lib/commands/role/index.js +1 -1
  55. package/lib/commands/role/list.js +1 -1
  56. package/lib/commands/role/shared.js +1 -1
  57. package/lib/commands/role/update.js +1 -1
  58. package/lib/commands/role/user-add.js +1 -1
  59. package/lib/commands/role/user-remove.js +1 -1
  60. package/lib/commands/schedule/index.js +1 -1
  61. package/lib/commands/schema.js +1 -1
  62. package/lib/commands/service/dynamic.js +1 -1
  63. package/lib/commands/service/function-name-adapter.js +1 -1
  64. package/lib/commands/service/index.js +1 -1
  65. package/lib/commands/service/registry.js +1 -1
  66. package/lib/commands/skill/commands/create.js +1 -1
  67. package/lib/commands/skill/commands/diagram.js +1 -1
  68. package/lib/commands/skill/commands/install.js +1 -1
  69. package/lib/commands/skill/commands/list.js +1 -1
  70. package/lib/commands/skill/commands/push.js +1 -1
  71. package/lib/commands/skill/commands/validate.js +1 -1
  72. package/lib/commands/skill/diagram.js +1 -1
  73. package/lib/commands/skill/flags.js +1 -1
  74. package/lib/commands/skill/index.js +1 -1
  75. package/lib/commands/skill/manifest-helpers.js +1 -1
  76. package/lib/commands/skill/push-execute.js +1 -1
  77. package/lib/commands/skill/push-flow-helpers.js +1 -1
  78. package/lib/commands/skill/push-retarget.js +1 -1
  79. package/lib/commands/skill/scopes.js +1 -1
  80. package/lib/commands/skill/summary.js +1 -1
  81. package/lib/commands/skill/templates.js +1 -1
  82. package/lib/commands/skill/validate.js +1 -1
  83. package/lib/commands/sql/detail.js +1 -1
  84. package/lib/commands/sql/exec.js +1 -1
  85. package/lib/commands/sql/index.js +1 -1
  86. package/lib/commands/update.js +1 -1
  87. package/lib/commands/user-account/bind.js +1 -1
  88. package/lib/commands/user-account/index.js +1 -1
  89. package/lib/commands/workspace/index.js +1 -1
  90. package/lib/config/domain-config.d.ts +1 -1
  91. package/lib/config/domain-config.js +1 -1
  92. package/lib/config/schema.d.ts +1 -1
  93. package/lib/config/schema.js +1 -1
  94. package/lib/constant/app.js +1 -1
  95. package/lib/constant/auth-mode.js +1 -1
  96. package/lib/constant/cli.js +1 -1
  97. package/lib/constant/defaults.js +1 -1
  98. package/lib/constant/distribution.js +1 -1
  99. package/lib/constant/domain.d.ts +6 -3
  100. package/lib/constant/domain.js +1 -1
  101. package/lib/constant/env.js +1 -1
  102. package/lib/constant/output.js +1 -1
  103. package/lib/constant/product.js +1 -1
  104. package/lib/constant/region.js +1 -1
  105. package/lib/constant/risk.js +1 -1
  106. package/lib/constant/url.js +1 -1
  107. package/lib/context.js +1 -1
  108. package/lib/core/api-client.d.ts +0 -16
  109. package/lib/core/api-client.js +1 -1
  110. package/lib/core/db-resolver.js +1 -1
  111. package/lib/core/kb-search-client.d.ts +30 -0
  112. package/lib/core/kb-search-client.js +1 -0
  113. package/lib/core/sdk-client.js +1 -1
  114. package/lib/errors.js +1 -1
  115. package/lib/framework/build-all-flags.js +1 -1
  116. package/lib/framework/dryrun.js +1 -1
  117. package/lib/framework/flags.js +1 -1
  118. package/lib/framework/help.js +1 -1
  119. package/lib/framework/index.js +1 -1
  120. package/lib/framework/output.js +1 -1
  121. package/lib/framework/preparse.js +1 -1
  122. package/lib/framework/rate-limit.js +1 -1
  123. package/lib/framework/raw-flags.js +1 -1
  124. package/lib/framework/response.js +1 -1
  125. package/lib/framework/runner-confirmation.js +1 -1
  126. package/lib/framework/runner-error.js +1 -1
  127. package/lib/framework/runner.js +1 -1
  128. package/lib/framework/schema-export.js +1 -1
  129. package/lib/framework/service-order.js +1 -1
  130. package/lib/framework/types.d.ts +2 -0
  131. package/lib/framework/types.js +1 -1
  132. package/lib/generated/build-info.d.ts +4 -4
  133. package/lib/generated/build-info.js +1 -1
  134. package/lib/help.js +1 -1
  135. package/lib/postinstall.js +1 -1
  136. package/lib/runtime/confirmation.js +1 -1
  137. package/lib/runtime/event.js +1 -1
  138. package/lib/runtime/index.js +1 -1
  139. package/lib/runtime/queue.js +1 -1
  140. package/lib/runtime/resolve.js +1 -1
  141. package/lib/skills/builtin-skill.js +1 -1
  142. package/lib/skills/npx-skills-add.js +1 -1
  143. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  144. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  145. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  146. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  147. package/lib/skills/runtime-skill-sync/links.js +1 -1
  148. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  149. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  150. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  151. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  152. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  153. package/lib/skills/runtime-skill-sync/push.js +1 -1
  154. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  155. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  156. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  157. package/lib/skills/runtime-skill-sync.js +1 -1
  158. package/lib/skills/skill-presence.js +1 -1
  159. package/lib/utils/access-key-redaction.js +1 -1
  160. package/lib/utils/apply-jq-filter.js +1 -1
  161. package/lib/utils/cli-version-check.js +1 -1
  162. package/lib/utils/cli-version-policy.js +1 -1
  163. package/lib/utils/logger.js +1 -1
  164. package/lib/utils/lossless-json.js +1 -1
  165. package/lib/utils/params.js +1 -1
  166. package/lib/utils/platform.js +1 -1
  167. package/lib/utils/update-notice.js +1 -1
  168. package/lib/utils/version.js +1 -1
  169. package/lib/utils/write-cli-side-channel.js +1 -1
  170. package/package.json +1 -1
  171. package/skills/lovrabet/SKILL.md +3 -2
  172. package/skills/lovrabet/guides/sql-and-bff-workflow.md +1 -1
  173. package/skills/lovrabet/references/lovrabet-config-commands.md +7 -6
  174. package/skills/lovrabet/references/lovrabet-config.md +9 -8
  175. package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
  176. package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
  177. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +32 -0
  178. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a58_0x996ba=a58_0x5137;(function(_0x24802c,_0x1e0fc4){const _0x41c36c=a58_0x5137,_0x4d1eef=_0x24802c();while(!![]){try{const _0x153c39=parseInt(_0x41c36c(0x198))/0x1+-parseInt(_0x41c36c(0x1b1))/0x2*(parseInt(_0x41c36c(0x18f))/0x3)+-parseInt(_0x41c36c(0x195))/0x4+parseInt(_0x41c36c(0x1ad))/0x5+-parseInt(_0x41c36c(0x190))/0x6*(-parseInt(_0x41c36c(0x1b6))/0x7)+parseInt(_0x41c36c(0x1ae))/0x8*(parseInt(_0x41c36c(0x1c1))/0x9)+-parseInt(_0x41c36c(0x197))/0xa;if(_0x153c39===_0x1e0fc4)break;else _0x4d1eef['push'](_0x4d1eef['shift']());}catch(_0x5429a1){_0x4d1eef['push'](_0x4d1eef['shift']());}}}(a58_0x1601,0x1ca8f));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a58_0x5137(_0x4bfca5,_0xc0338b){_0x4bfca5=_0x4bfca5-0x17a;const _0x1601b1=a58_0x1601();let _0x5137e5=_0x1601b1[_0x4bfca5];return _0x5137e5;}import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0x996ba(0x19b),'type':a58_0x996ba(0x1ac),'required':!![],'enum':[a58_0x996ba(0x17b),'ONCE'],'description':a58_0x996ba(0x1aa)},CRON_FLAG={'name':a58_0x996ba(0x18e),'type':'string','description':a58_0x996ba(0x1a3)},SCHEDULED_AT_FLAG={'name':a58_0x996ba(0x1a1),'type':a58_0x996ba(0x1ac),'description':a58_0x996ba(0x1c3)},TITLE_FLAG={'name':a58_0x996ba(0x182),'type':a58_0x996ba(0x1ac),'required':!![],'description':a58_0x996ba(0x183)},PROMPT_FLAG={'name':a58_0x996ba(0x1a4),'type':a58_0x996ba(0x1ac),'required':!![],'description':a58_0x996ba(0x17e)},MODEL_FLAG={'name':a58_0x996ba(0x187),'type':a58_0x996ba(0x1ac),'enum':[a58_0x996ba(0x18b),a58_0x996ba(0x199),a58_0x996ba(0x1b4)],'default':a58_0x996ba(0x199),'description':a58_0x996ba(0x1a7)},SCHEDULE_ID_FLAG={'name':a58_0x996ba(0x18a),'type':a58_0x996ba(0x1ac),'required':!![],'description':a58_0x996ba(0x1bd),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a58_0x996ba(0x181)}},LIMIT_FLAG={'name':a58_0x996ba(0x1c2),'type':a58_0x996ba(0x1c4),'default':0x14,'description':a58_0x996ba(0x1c0)},CURSOR_FLAG={'name':'cursor','type':'string','description':a58_0x996ba(0x1c6)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function a58_0x1601(){const _0x21a256=['9CmVHZm','limit','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','number','read','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','Preview:\x20create\x20an\x20Agent\x20schedule','create','high-risk-write','Deleted\x20schedule\x20','CRON','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','/api/harness/apps/','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','length','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','title','Schedule\x20title','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','cursor','appCode','model','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Schedule\x20input\x20is\x20valid','schedule-id','kimi/k3','ONCE','Preview:\x20delete\x20schedule\x20','cron','6942EwZbxg','1060194ZUyFcH','detail','str','delete','\x20immediately','37356vQhqBw','UTC','4345920QxiDtW','168394WOgcfN','deepseek-v4-flash-0731','description','kind','\x20from\x20schedule\x20','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','Show\x20one\x20schedule\x20by\x20schedule\x20ID','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','scheduled-at','scheduleId','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','prompt','validation','DELETE','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','build','POST','Schedule\x20kind:\x20CRON\x20or\x20ONCE','\x20schedule\x20','string','258755iLlMdd','1723088xOACcc','num','Queued\x20Task\x20','44AIific','list','Created\x20','deepseek-v4-pro-0813','run','7dJjHEf','--title\x20must\x20not\x20be\x20blank.','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','--prompt\x20must\x20not\x20be\x20blank.','body','schedule','isSafeInteger','Schedule\x20UUID','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','trim','Page\x20size\x20from\x201\x20to\x20100'];a58_0x1601=function(){return _0x21a256;};return a58_0x1601();}function readScheduleInput(_0x966dcc){const _0x34e33f=a58_0x996ba,_0x66ee47=_0x966dcc[_0x34e33f(0x192)]('kind'),_0xb66dca=_0x966dcc[_0x34e33f(0x192)](_0x34e33f(0x182))[_0x34e33f(0x1bf)](),_0xf7dacc=_0x966dcc[_0x34e33f(0x192)](_0x34e33f(0x1a4))['trim'](),_0x273c0f=_0x966dcc[_0x34e33f(0x192)](_0x34e33f(0x187)),_0x58bcdf=_0x966dcc[_0x34e33f(0x192)]('cron'),_0x3ee051=_0x966dcc[_0x34e33f(0x192)](_0x34e33f(0x1a1));if(!_0xb66dca)throw CliErrors[_0x34e33f(0x1a5)](_0x34e33f(0x1b7));if(!_0xf7dacc)throw CliErrors[_0x34e33f(0x1a5)](_0x34e33f(0x1b9));if(_0x66ee47===_0x34e33f(0x17b)){if(!_0x58bcdf||_0x3ee051)throw CliErrors[_0x34e33f(0x1a5)](_0x34e33f(0x17f));return{'kind':_0x66ee47,'timezone':_0x34e33f(0x196),'cron':_0x58bcdf,'title':_0xb66dca,'prompt':_0xf7dacc,'model':_0x273c0f};}if(_0x66ee47===_0x34e33f(0x18c)){if(!_0x3ee051||_0x58bcdf)throw CliErrors[_0x34e33f(0x1a5)]('ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.');return{'kind':_0x66ee47,'timezone':_0x34e33f(0x196),'scheduledAt':_0x3ee051,'title':_0xb66dca,'prompt':_0xf7dacc,'model':_0x273c0f};}throw CliErrors[_0x34e33f(0x1a5)](_0x34e33f(0x184));}function scheduleCollectionPath(_0x3a47bf){const _0x426ab1=a58_0x996ba;return _0x426ab1(0x17d)+encodeURIComponent(_0x3a47bf)+'/schedules';}function scheduleItemPath(_0x5c2676,_0x26b4d2){return scheduleCollectionPath(_0x5c2676)+'/'+encodeURIComponent(_0x26b4d2);}const scheduleValidate={'service':a58_0x996ba(0x1bb),'command':'validate','description':a58_0x996ba(0x1b8),'risk':a58_0x996ba(0x1c5),'flags':INPUT_FLAGS,async 'validate'(_0x458374){readScheduleInput(_0x458374);},async 'execute'(_0x5a5022){const _0x508e71=a58_0x996ba,_0xf712b1=readScheduleInput(_0x5a5022),_0x45b484=await validateRuntimeSchedule(_0x5a5022[_0x508e71(0x186)],_0xf712b1);return{'ok':!![],'data':_0x45b484,'message':_0x508e71(0x189)};}},scheduleCreate={'service':a58_0x996ba(0x1bb),'command':a58_0x996ba(0x1c8),'description':a58_0x996ba(0x17c),'risk':a58_0x996ba(0x1c9),'confirmationDescription':a58_0x996ba(0x19f),'flags':INPUT_FLAGS,async 'validate'(_0x2cc96c){readScheduleInput(_0x2cc96c);},async 'execute'(_0x243efd){const _0x3ba4b3=a58_0x996ba,_0x18c032=readScheduleInput(_0x243efd),_0x3ce4b6=await validateRuntimeSchedule(_0x243efd[_0x3ba4b3(0x186)],_0x18c032),_0x3e05b5=await createRuntimeSchedule(_0x243efd[_0x3ba4b3(0x186)],_0x3ce4b6);return{'ok':!![],'data':_0x3e05b5,'message':_0x3ba4b3(0x1b3)+_0x3e05b5[_0x3ba4b3(0x19b)]+_0x3ba4b3(0x1ab)+_0x3e05b5[_0x3ba4b3(0x1a2)]};},async 'dryRun'(_0x50ac1e){const _0x374f0d=a58_0x996ba,_0x3158f4=readScheduleInput(_0x50ac1e);return dryRun('POST',scheduleCollectionPath(_0x50ac1e['appCode']))[_0x374f0d(0x1ba)](_0x3158f4)[_0x374f0d(0x19a)](_0x374f0d(0x1c7))[_0x374f0d(0x1a8)]();}},scheduleList={'service':a58_0x996ba(0x1bb),'command':a58_0x996ba(0x1b2),'description':a58_0x996ba(0x1be),'risk':a58_0x996ba(0x1c5),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x5597a6){const _0x325489=a58_0x996ba,_0x2a4644=_0x5597a6[_0x325489(0x1af)](_0x325489(0x1c2));if(!Number[_0x325489(0x1bc)](_0x2a4644)||_0x2a4644<0x1||_0x2a4644>0x64)throw CliErrors[_0x325489(0x1a5)]('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x32bbea=_0x5597a6[_0x325489(0x192)](_0x325489(0x185));if(_0x32bbea&&(_0x32bbea[_0x325489(0x180)]>0x400||_0x32bbea[_0x325489(0x1bf)]()!==_0x32bbea))throw CliErrors[_0x325489(0x1a5)](_0x325489(0x188));},async 'execute'(_0x4307e0){const _0x594485=a58_0x996ba,_0x47cf9e=_0x4307e0[_0x594485(0x192)](_0x594485(0x185)),_0x5f42b0=await listRuntimeSchedules(_0x4307e0[_0x594485(0x186)],{'kind':_0x4307e0['str'](_0x594485(0x19b)),'limit':_0x4307e0[_0x594485(0x1af)]('limit'),..._0x47cf9e?{'cursor':_0x47cf9e}:{}});return{'ok':!![],'data':_0x5f42b0};}},scheduleDetail={'service':'schedule','command':a58_0x996ba(0x191),'description':a58_0x996ba(0x19e),'risk':a58_0x996ba(0x1c5),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1ec006){const _0x1f2657=a58_0x996ba,_0x550d2e=await getRuntimeSchedule(_0x1ec006['appCode'],_0x1ec006[_0x1f2657(0x192)](_0x1f2657(0x18a)));return{'ok':!![],'data':_0x550d2e};}},scheduleRun={'service':a58_0x996ba(0x1bb),'command':a58_0x996ba(0x1b5),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a58_0x996ba(0x1c9),'confirmationDescription':a58_0x996ba(0x19d),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x547e52){const _0x223e46=a58_0x996ba,_0xd190ff=_0x547e52[_0x223e46(0x192)](_0x223e46(0x18a)),_0xb0b119=await runRuntimeSchedule(_0x547e52[_0x223e46(0x186)],_0xd190ff);return{'ok':!![],'data':_0xb0b119,'message':_0x223e46(0x1b0)+_0xb0b119['taskId']+_0x223e46(0x19c)+_0xd190ff};},async 'dryRun'(_0x3458ce){const _0x27a862=a58_0x996ba,_0x36d104=_0x3458ce[_0x27a862(0x192)](_0x27a862(0x18a));return dryRun(_0x27a862(0x1a9),scheduleItemPath(_0x3458ce[_0x27a862(0x186)],_0x36d104)+'/run')[_0x27a862(0x19a)]('Preview:\x20run\x20schedule\x20'+_0x36d104+_0x27a862(0x194))[_0x27a862(0x1a8)]();}},scheduleDelete={'service':a58_0x996ba(0x1bb),'command':a58_0x996ba(0x193),'description':a58_0x996ba(0x1a0),'risk':a58_0x996ba(0x1c9),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1473b8){const _0x20862d=a58_0x996ba,_0x28cf97=_0x1473b8[_0x20862d(0x192)](_0x20862d(0x18a)),_0x4c6513=await deleteRuntimeSchedule(_0x1473b8[_0x20862d(0x186)],_0x28cf97);return{'ok':!![],'data':_0x4c6513,'message':_0x20862d(0x17a)+_0x28cf97};},async 'dryRun'(_0x167e0e){const _0x1a2d3e=a58_0x996ba,_0x1cf759=_0x167e0e[_0x1a2d3e(0x192)](_0x1a2d3e(0x18a));return dryRun(_0x1a2d3e(0x1a6),scheduleItemPath(_0x167e0e['appCode'],_0x1cf759))['description'](_0x1a2d3e(0x18d)+_0x1cf759)[_0x1a2d3e(0x1a8)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
1
+ const a58_0x519fe7=a58_0x5b83;(function(_0x805a50,_0x5e5b35){const _0xb3d77f=a58_0x5b83,_0x3c9e95=_0x805a50();while(!![]){try{const _0x10d7b7=-parseInt(_0xb3d77f(0x125))/0x1+-parseInt(_0xb3d77f(0x129))/0x2+-parseInt(_0xb3d77f(0x112))/0x3*(parseInt(_0xb3d77f(0x134))/0x4)+-parseInt(_0xb3d77f(0x10a))/0x5+parseInt(_0xb3d77f(0x10d))/0x6*(-parseInt(_0xb3d77f(0x108))/0x7)+-parseInt(_0xb3d77f(0x120))/0x8+parseInt(_0xb3d77f(0x100))/0x9*(parseInt(_0xb3d77f(0x13d))/0xa);if(_0x10d7b7===_0x5e5b35)break;else _0x3c9e95['push'](_0x3c9e95['shift']());}catch(_0x2a72e3){_0x3c9e95['push'](_0x3c9e95['shift']());}}}(a58_0x48bb,0x944b7));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0x519fe7(0x12c),'type':a58_0x519fe7(0x12f),'required':!![],'enum':[a58_0x519fe7(0x133),a58_0x519fe7(0x138)],'description':a58_0x519fe7(0x13a)},CRON_FLAG={'name':a58_0x519fe7(0x121),'type':'string','description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':'scheduled-at','type':a58_0x519fe7(0x12f),'description':a58_0x519fe7(0x132)},TITLE_FLAG={'name':a58_0x519fe7(0x116),'type':'string','required':!![],'description':'Schedule\x20title'},PROMPT_FLAG={'name':a58_0x519fe7(0x11b),'type':a58_0x519fe7(0x12f),'required':!![],'description':a58_0x519fe7(0x144)},MODEL_FLAG={'name':'model','type':'string','enum':[a58_0x519fe7(0x109),a58_0x519fe7(0x11a),'deepseek-v4-pro-0813'],'default':a58_0x519fe7(0x11a),'description':a58_0x519fe7(0x126)},SCHEDULE_ID_FLAG={'name':a58_0x519fe7(0x10e),'type':a58_0x519fe7(0x12f),'required':!![],'description':a58_0x519fe7(0x136),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a58_0x519fe7(0x11c),'type':a58_0x519fe7(0x110),'default':0x14,'description':a58_0x519fe7(0x11f)},CURSOR_FLAG={'name':a58_0x519fe7(0x141),'type':'string','description':a58_0x519fe7(0x13b)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x5c9291){const _0x2ca05c=a58_0x519fe7,_0x58738a=_0x5c9291[_0x2ca05c(0x130)](_0x2ca05c(0x12c)),_0x2a3b6d=_0x5c9291['str'](_0x2ca05c(0x116))['trim'](),_0x30bf18=_0x5c9291[_0x2ca05c(0x130)](_0x2ca05c(0x11b))['trim'](),_0x4635eb=_0x5c9291['str']('model'),_0x4e52f0=_0x5c9291[_0x2ca05c(0x130)](_0x2ca05c(0x121)),_0x4010c0=_0x5c9291[_0x2ca05c(0x130)]('scheduled-at');if(!_0x2a3b6d)throw CliErrors[_0x2ca05c(0x123)](_0x2ca05c(0x104));if(!_0x30bf18)throw CliErrors['validation']('--prompt\x20must\x20not\x20be\x20blank.');if(_0x58738a===_0x2ca05c(0x133)){if(!_0x4e52f0||_0x4010c0)throw CliErrors[_0x2ca05c(0x123)](_0x2ca05c(0x11e));return{'kind':_0x58738a,'timezone':_0x2ca05c(0x135),'cron':_0x4e52f0,'title':_0x2a3b6d,'prompt':_0x30bf18,'model':_0x4635eb};}if(_0x58738a===_0x2ca05c(0x138)){if(!_0x4010c0||_0x4e52f0)throw CliErrors[_0x2ca05c(0x123)](_0x2ca05c(0x12a));return{'kind':_0x58738a,'timezone':_0x2ca05c(0x135),'scheduledAt':_0x4010c0,'title':_0x2a3b6d,'prompt':_0x30bf18,'model':_0x4635eb};}throw CliErrors['validation'](_0x2ca05c(0x102));}function scheduleCollectionPath(_0x44caa9){const _0xafae90=a58_0x519fe7;return'/api/harness/apps/'+encodeURIComponent(_0x44caa9)+_0xafae90(0x12e);}function a58_0x5b83(_0x3cf882,_0x4ee227){_0x3cf882=_0x3cf882-0xff;const _0x48bb60=a58_0x48bb();let _0x5b83bf=_0x48bb60[_0x3cf882];return _0x5b83bf;}function scheduleItemPath(_0x34f16f,_0x5a8b1a){return scheduleCollectionPath(_0x34f16f)+'/'+encodeURIComponent(_0x5a8b1a);}function a58_0x48bb(){const _0x4bdf6c=['str','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','CRON','5156BVsWdB','UTC','Schedule\x20UUID','Created\x20','ONCE','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Schedule\x20kind:\x20CRON\x20or\x20ONCE','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','20oJlLFB','isSafeInteger','POST','build','cursor','detail','num','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','Schedule\x20input\x20is\x20valid','22443606tKHDip','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','DELETE','--title\x20must\x20not\x20be\x20blank.','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','validate','14RjMmNn','kimi/k3','4338195WAsysq','\x20immediately','high-risk-write','1048056jKuQIV','schedule-id','schedule','number','Deleted\x20schedule\x20','1113mGpKdq','Queued\x20Task\x20','Preview:\x20create\x20an\x20Agent\x20schedule','/run','title','create','scheduleId','Show\x20one\x20schedule\x20by\x20schedule\x20ID','deepseek-v4-flash-0731','prompt','limit','description','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','Page\x20size\x20from\x201\x20to\x20100','5902816VRHkSd','cron','trim','validation','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','887075fLvyKE','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','taskId','2119832QzIRUW','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','read','kind','appCode','/schedules','string'];a58_0x48bb=function(){return _0x4bdf6c;};return a58_0x48bb();}const scheduleValidate={'service':'schedule','command':a58_0x519fe7(0x107),'description':a58_0x519fe7(0x105),'risk':a58_0x519fe7(0x12b),'flags':INPUT_FLAGS,async 'validate'(_0x285c82){readScheduleInput(_0x285c82);},async 'execute'(_0x244e79){const _0x223431=a58_0x519fe7,_0x5e533d=readScheduleInput(_0x244e79),_0x5f1f70=await validateRuntimeSchedule(_0x244e79[_0x223431(0x12d)],_0x5e533d);return{'ok':!![],'data':_0x5f1f70,'message':_0x223431(0xff)};}},scheduleCreate={'service':a58_0x519fe7(0x10f),'command':a58_0x519fe7(0x117),'description':a58_0x519fe7(0x13c),'risk':a58_0x519fe7(0x10c),'confirmationDescription':a58_0x519fe7(0x127),'flags':INPUT_FLAGS,async 'validate'(_0x244976){readScheduleInput(_0x244976);},async 'execute'(_0x5c1dae){const _0x85c1b1=a58_0x519fe7,_0x2f37c4=readScheduleInput(_0x5c1dae),_0x8bfac4=await validateRuntimeSchedule(_0x5c1dae[_0x85c1b1(0x12d)],_0x2f37c4),_0x2e54c0=await createRuntimeSchedule(_0x5c1dae[_0x85c1b1(0x12d)],_0x8bfac4);return{'ok':!![],'data':_0x2e54c0,'message':_0x85c1b1(0x137)+_0x2e54c0[_0x85c1b1(0x12c)]+'\x20schedule\x20'+_0x2e54c0[_0x85c1b1(0x118)]};},async 'dryRun'(_0x306d59){const _0x2c107f=a58_0x519fe7,_0x32490f=readScheduleInput(_0x306d59);return dryRun(_0x2c107f(0x13f),scheduleCollectionPath(_0x306d59['appCode']))['body'](_0x32490f)[_0x2c107f(0x11d)](_0x2c107f(0x114))[_0x2c107f(0x140)]();}},scheduleList={'service':a58_0x519fe7(0x10f),'command':'list','description':a58_0x519fe7(0x124),'risk':a58_0x519fe7(0x12b),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x29f28d){const _0x1cd8e6=a58_0x519fe7,_0x2715cd=_0x29f28d[_0x1cd8e6(0x143)](_0x1cd8e6(0x11c));if(!Number[_0x1cd8e6(0x13e)](_0x2715cd)||_0x2715cd<0x1||_0x2715cd>0x64)throw CliErrors[_0x1cd8e6(0x123)]('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x277142=_0x29f28d['str']('cursor');if(_0x277142&&(_0x277142['length']>0x400||_0x277142[_0x1cd8e6(0x122)]()!==_0x277142))throw CliErrors[_0x1cd8e6(0x123)](_0x1cd8e6(0x139));},async 'execute'(_0x10ac0f){const _0x9ca395=a58_0x519fe7,_0x27d3f2=_0x10ac0f[_0x9ca395(0x130)](_0x9ca395(0x141)),_0x279dd4=await listRuntimeSchedules(_0x10ac0f[_0x9ca395(0x12d)],{'kind':_0x10ac0f[_0x9ca395(0x130)](_0x9ca395(0x12c)),'limit':_0x10ac0f[_0x9ca395(0x143)](_0x9ca395(0x11c)),..._0x27d3f2?{'cursor':_0x27d3f2}:{}});return{'ok':!![],'data':_0x279dd4};}},scheduleDetail={'service':a58_0x519fe7(0x10f),'command':a58_0x519fe7(0x142),'description':a58_0x519fe7(0x119),'risk':'read','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1cde04){const _0x3f0e76=a58_0x519fe7,_0x2dac5d=await getRuntimeSchedule(_0x1cde04[_0x3f0e76(0x12d)],_0x1cde04['str'](_0x3f0e76(0x10e)));return{'ok':!![],'data':_0x2dac5d};}},scheduleRun={'service':a58_0x519fe7(0x10f),'command':'run','description':a58_0x519fe7(0x131),'risk':a58_0x519fe7(0x10c),'confirmationDescription':a58_0x519fe7(0x101),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x45fb62){const _0x42f9b3=a58_0x519fe7,_0x3ecdd3=_0x45fb62['str']('schedule-id'),_0x234467=await runRuntimeSchedule(_0x45fb62[_0x42f9b3(0x12d)],_0x3ecdd3);return{'ok':!![],'data':_0x234467,'message':_0x42f9b3(0x113)+_0x234467[_0x42f9b3(0x128)]+'\x20from\x20schedule\x20'+_0x3ecdd3};},async 'dryRun'(_0x460e5e){const _0xf9bb1=a58_0x519fe7,_0x2538ef=_0x460e5e['str']('schedule-id');return dryRun('POST',scheduleItemPath(_0x460e5e[_0xf9bb1(0x12d)],_0x2538ef)+_0xf9bb1(0x115))[_0xf9bb1(0x11d)]('Preview:\x20run\x20schedule\x20'+_0x2538ef+_0xf9bb1(0x10b))[_0xf9bb1(0x140)]();}},scheduleDelete={'service':a58_0x519fe7(0x10f),'command':'delete','description':a58_0x519fe7(0x106),'risk':a58_0x519fe7(0x10c),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x4b2c85){const _0x378cdf=a58_0x519fe7,_0x2a333e=_0x4b2c85[_0x378cdf(0x130)](_0x378cdf(0x10e)),_0x197657=await deleteRuntimeSchedule(_0x4b2c85['appCode'],_0x2a333e);return{'ok':!![],'data':_0x197657,'message':_0x378cdf(0x111)+_0x2a333e};},async 'dryRun'(_0x3e3ee8){const _0x1e69d4=a58_0x519fe7,_0x2c3a06=_0x3e3ee8[_0x1e69d4(0x130)](_0x1e69d4(0x10e));return dryRun(_0x1e69d4(0x103),scheduleItemPath(_0x3e3ee8[_0x1e69d4(0x12d)],_0x2c3a06))[_0x1e69d4(0x11d)]('Preview:\x20delete\x20schedule\x20'+_0x2c3a06)[_0x1e69d4(0x140)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
@@ -1 +1 @@
1
- function a59_0x3c8d(_0x763320,_0x2f9f0e){_0x763320=_0x763320-0x185;const _0x2415fa=a59_0x2415();let _0x3c8dc8=_0x2415fa[_0x763320];return _0x3c8dc8;}function a59_0x2415(){const _0x426a07=['52970HuKyhv','367ulcLdg','3MIDXBe','1719396dgQkln','579688lBQcYS','873BndxoR','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','23472aOZKOM','43352gtvgxc','271640YwPdZp','schema','592fKuhHw','read'];a59_0x2415=function(){return _0x426a07;};return a59_0x2415();}const a59_0x1a4d30=a59_0x3c8d;(function(_0x534383,_0xd3812f){const _0x59465e=a59_0x3c8d,_0x5a62dc=_0x534383();while(!![]){try{const _0x2e1cbf=-parseInt(_0x59465e(0x191))/0x1*(parseInt(_0x59465e(0x18e))/0x2)+parseInt(_0x59465e(0x192))/0x3*(parseInt(_0x59465e(0x186))/0x4)+parseInt(_0x59465e(0x18c))/0x5+-parseInt(_0x59465e(0x18a))/0x6+-parseInt(_0x59465e(0x185))/0x7+parseInt(_0x59465e(0x18b))/0x8*(parseInt(_0x59465e(0x187))/0x9)+-parseInt(_0x59465e(0x190))/0xa;if(_0x2e1cbf===_0xd3812f)break;else _0x5a62dc['push'](_0x5a62dc['shift']());}catch(_0x323a37){_0x5a62dc['push'](_0x5a62dc['shift']());}}}(a59_0x2415,0x583d0));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5ea99e){const _0x4950ed=await buildSchemaPayload();return{'ok':!![],'data':_0x4950ed};}export const schemaDefinition={'service':a59_0x1a4d30(0x18d),'command':a59_0x1a4d30(0x189),'description':a59_0x1a4d30(0x188),'risk':a59_0x1a4d30(0x18f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a59_0x3559ee=a59_0x1d37;(function(_0x3718d0,_0x378f71){const _0x2067ba=a59_0x1d37,_0x4c609e=_0x3718d0();while(!![]){try{const _0x2c622a=parseInt(_0x2067ba(0x112))/0x1+parseInt(_0x2067ba(0x117))/0x2+-parseInt(_0x2067ba(0x118))/0x3*(-parseInt(_0x2067ba(0x119))/0x4)+parseInt(_0x2067ba(0x111))/0x5*(-parseInt(_0x2067ba(0x115))/0x6)+-parseInt(_0x2067ba(0x110))/0x7+parseInt(_0x2067ba(0x11b))/0x8*(parseInt(_0x2067ba(0x116))/0x9)+-parseInt(_0x2067ba(0x114))/0xa;if(_0x2c622a===_0x378f71)break;else _0x4c609e['push'](_0x4c609e['shift']());}catch(_0x5ab624){_0x4c609e['push'](_0x4c609e['shift']());}}}(a59_0x10be,0xf22d4));import{buildSchemaPayload}from'../framework/schema-export.js';function a59_0x10be(){const _0x33924e=['172031wKnNNp','Export\x20machine-readable\x20command\x20schema\x20(JSON)','13497480fNTLPP','102bNzjyh','85833vmdeJp','2621544JLUHou','83829LnPYLi','276FMomep','schema','1136wPsypq','8621802hfukyL','350510KMHtZX'];a59_0x10be=function(){return _0x33924e;};return a59_0x10be();}function a59_0x1d37(_0x3bf5b7,_0x537bd8){_0x3bf5b7=_0x3bf5b7-0x110;const _0x10bed0=a59_0x10be();let _0x1d3706=_0x10bed0[_0x3bf5b7];return _0x1d3706;}async function execute(_0xe92e9b){const _0x5c3952=await buildSchemaPayload();return{'ok':!![],'data':_0x5c3952};}export const schemaDefinition={'service':a59_0x3559ee(0x11a),'command':'export','description':a59_0x3559ee(0x113),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x2d3fb0,_0xd9cffb){const _0x442fd5=a60_0x3b52,_0x4cfb4a=_0x2d3fb0();while(!![]){try{const _0x4fb6a7=parseInt(_0x442fd5(0x1b8))/0x1+-parseInt(_0x442fd5(0x186))/0x2*(-parseInt(_0x442fd5(0x1d0))/0x3)+parseInt(_0x442fd5(0x1e8))/0x4+parseInt(_0x442fd5(0x1c8))/0x5+parseInt(_0x442fd5(0x1ab))/0x6+parseInt(_0x442fd5(0x184))/0x7*(-parseInt(_0x442fd5(0x1b7))/0x8)+-parseInt(_0x442fd5(0x185))/0x9*(parseInt(_0x442fd5(0x183))/0xa);if(_0x4fb6a7===_0xd9cffb)break;else _0x4cfb4a['push'](_0x4cfb4a['shift']());}catch(_0x3f2123){_0x4cfb4a['push'](_0x4cfb4a['shift']());}}}(a60_0x4caa,0x7e1e8));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x45bd5b,_0x56a968){const _0x1fee85=a60_0x3b52,_0x549954=listLocalServiceTrees();let _0x54bb06;for(const _0x9a4e3a of _0x549954){const _0x31b596=matchServiceTreeCommand(_0x9a4e3a,_0x45bd5b);if(!_0x31b596)continue;(!_0x54bb06||_0x31b596[_0x1fee85(0x1d4)][_0x1fee85(0x1cf)][_0x1fee85(0x1c9)]>_0x54bb06[_0x1fee85(0x1d4)][_0x1fee85(0x1cf)]['length'])&&(_0x54bb06={'tree':_0x9a4e3a,'command':_0x31b596[_0x1fee85(0x1d4)],'remainingArgs':_0x31b596[_0x1fee85(0x1a9)]});}if(!_0x54bb06)return undefined;const _0x2276ad={..._0x56a968};return applyAppBinding(_0x54bb06[_0x1fee85(0x1c4)],_0x54bb06[_0x1fee85(0x1d4)],_0x2276ad),{'definition':buildDynamicCommandDefinition(_0x54bb06[_0x1fee85(0x1c4)],_0x54bb06[_0x1fee85(0x1d4)]),'args':_0x54bb06[_0x1fee85(0x1a9)],'flags':_0x2276ad,'tree':_0x54bb06[_0x1fee85(0x1c4)],'command':_0x54bb06[_0x1fee85(0x1d4)]};}export function generateDynamicServiceHelp(_0x1613d2){const _0x281ad6=a60_0x3b52,_0x2b5e8b=listLocalServiceTrees()[_0x281ad6(0x19c)](_0x1c392a=>_0x1c392a[_0x281ad6(0x1e2)]['code']===_0x1613d2);if(!_0x2b5e8b)return undefined;const _0x3781e3=[CLI_BIN_NAME+'\x20'+_0x1613d2+'\x20<command>\x20[flags]','',_0x2b5e8b['service'][_0x281ad6(0x1c0)]||_0x1613d2,_0x2b5e8b[_0x281ad6(0x1e2)][_0x281ad6(0x1d6)]?'\x20\x20'+_0x2b5e8b[_0x281ad6(0x1e2)][_0x281ad6(0x1d6)]:'','','Commands:',..._0x2b5e8b[_0x281ad6(0x1aa)][_0x281ad6(0x191)](_0x11c7c0=>{const _0x498166=_0x281ad6,_0x2c7759=_0x11c7c0[_0x498166(0x1cf)]['slice'](0x1)[_0x498166(0x19a)]('\x20'),_0x6f046e=_0x11c7c0['risk']===_0x498166(0x1d1)?'':'\x20['+_0x11c7c0[_0x498166(0x19e)]+']';return'\x20\x20'+_0x2c7759[_0x498166(0x190)](0x18)+'\x20'+(_0x11c7c0[_0x498166(0x1d6)]||'')+_0x6f046e;}),'',_0x281ad6(0x1a6)+CLI_BIN_NAME+_0x281ad6(0x18f)+_0x1613d2+_0x281ad6(0x1af)]['filter'](Boolean);return _0x3781e3[_0x281ad6(0x19a)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x1b64e4=>{const _0x2e765b=a60_0x3b52,_0x15d912=_0x1b64e4[_0x2e765b(0x1c2)];return{'service':_0x15d912[_0x2e765b(0x1e2)][_0x2e765b(0x192)],'label':_0x15d912[_0x2e765b(0x1e2)][_0x2e765b(0x1c0)]||_0x15d912[_0x2e765b(0x1e2)][_0x2e765b(0x192)],'commands':_0x15d912['commands'][_0x2e765b(0x191)](_0x52e941=>({'command':dynamicCommandName(_0x52e941),'description':_0x52e941['description']||_0x2e765b(0x1e1)+_0x52e941[_0x2e765b(0x194)],'tag':riskTag(_0x52e941[_0x2e765b(0x19e)])}))};});}export function getDynamicServiceEntry(_0x14eb1b){const _0x2775ea=a60_0x3b52;return listDynamicServiceEntries()[_0x2775ea(0x19c)](_0x44e87d=>_0x44e87d[_0x2775ea(0x1e2)]===_0x14eb1b);}function a60_0x3b52(_0x32c270,_0x2f642c){_0x32c270=_0x32c270-0x182;const _0x4caa83=a60_0x4caa();let _0x3b5288=_0x4caa83[_0x32c270];return _0x3b5288;}export function listDynamicServiceDefinitions(_0x45c7e5){const _0x47ff5b=a60_0x3b52;return listLocalServiceTrees()[_0x47ff5b(0x1d9)](_0x260f0a=>!_0x45c7e5||_0x260f0a[_0x47ff5b(0x1e2)][_0x47ff5b(0x192)]===_0x45c7e5)[_0x47ff5b(0x188)](_0x36f435=>_0x36f435[_0x47ff5b(0x1aa)]['map'](_0x4b746b=>buildDynamicCommandDefinition(_0x36f435,_0x4b746b)));}export function getDynamicServiceDefinitions(_0x28e8f0){const _0x1c4c2d=a60_0x3b52,_0xf6fba6=listDynamicServiceDefinitions(_0x28e8f0);return _0xf6fba6[_0x1c4c2d(0x1c9)]>0x0?_0xf6fba6:undefined;}export function findDynamicServiceDefinition(_0x52d8bb,_0x4b77f3){const _0x3d7070=a60_0x3b52;return listDynamicServiceDefinitions(_0x52d8bb)[_0x3d7070(0x19c)](_0xb6c06e=>_0xb6c06e[_0x3d7070(0x1d4)]===_0x4b77f3);}export function buildDynamicCommandDefinition(_0x421d73,_0x5e977d){const _0x1a82d8=a60_0x3b52;return{'service':_0x421d73[_0x1a82d8(0x1e2)]['code'],'command':dynamicCommandName(_0x5e977d),'description':_0x5e977d[_0x1a82d8(0x1d6)]||'Run\x20service\x20command\x20'+_0x5e977d[_0x1a82d8(0x194)],'risk':_0x5e977d[_0x1a82d8(0x19e)],..._0x5e977d['risk']===_0x1a82d8(0x1d1)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x5e977d)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x5e977d[_0x1a82d8(0x1bf)][_0x1a82d8(0x191)](_0x59abf9=>({'name':_0x59abf9[_0x1a82d8(0x1c0)],'description':_0x59abf9[_0x1a82d8(0x1d6)]||_0x59abf9[_0x1a82d8(0x1c0)],'required':_0x59abf9[_0x1a82d8(0x19b)]})),'flags':_0x5e977d[_0x1a82d8(0x1c7)][_0x1a82d8(0x191)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x5e977d),async 'dryRun'(_0x1f9e7c){const _0x318867=_0x1a82d8,_0x5b0f99=await compilePlan(_0x5e977d,_0x1f9e7c);return{'method':'SERVICE_TREE','url':_0x5e977d[_0x318867(0x194)],'body':{'target':targetPreview(_0x5b0f99),'params':_0x5b0f99[_0x318867(0x1c6)]},'description':_0x318867(0x1a8)+_0x5e977d['cliPath']};},async 'execute'(_0xa3c8d){const _0x34f823=_0x1a82d8,_0x41e0ee=await compilePlan(_0x5e977d,_0xa3c8d),_0x49547a=Date[_0x34f823(0x1b5)](),_0x50e376=await executePlan(_0x41e0ee,_0x5e977d,_0xa3c8d),_0xee85ea=Date[_0x34f823(0x1b5)]()-_0x49547a;return{'ok':!![],'data':{'service':_0x421d73[_0x34f823(0x1e2)],'command':_0x5e977d[_0x34f823(0x194)],'target':targetPreview(_0x41e0ee),'result':_0x50e376,'elapsed':_0xee85ea},'message':_0x34f823(0x1d5)+_0x5e977d[_0x34f823(0x194)]+_0x34f823(0x1a5)+_0xee85ea+'ms'};}};}function buildDynamicConfirmationDescription(_0x4d27fd){const _0x2a22c9=a60_0x3b52,_0x5cc3f7=_0x4d27fd[_0x2a22c9(0x1d6)]||_0x4d27fd[_0x2a22c9(0x194)],_0x9b616a=_0x4d27fd['risk']==='high-risk-write'?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.';return _0x2a22c9(0x1c3)+_0x5cc3f7+_0x2a22c9(0x1c1)+_0x9b616a;}function dynamicCommandName(_0x184353){const _0x266e64=a60_0x3b52;return _0x184353[_0x266e64(0x1cf)][_0x266e64(0x1b1)](0x1)[_0x266e64(0x19a)]('\x20');}function riskTag(_0x2fe4ea){const _0x232ab9=a60_0x3b52;return _0x2fe4ea===_0x232ab9(0x1d1)?'':_0x232ab9(0x1ba)+_0x2fe4ea+']';}function flagToCommandFlag(_0x9f5f66){const _0x676c8a=a60_0x3b52;return{'name':_0x9f5f66[_0x676c8a(0x19d)],'type':_0x9f5f66[_0x676c8a(0x1dc)]===_0x676c8a(0x1d7)?_0x676c8a(0x1dd):_0x9f5f66['type'],'description':_0x9f5f66['description']||_0x9f5f66[_0x676c8a(0x1c0)],'required':_0x9f5f66['required'],'default':isPrimitiveFlagDefault(_0x9f5f66[_0x676c8a(0x1cc)])?_0x9f5f66[_0x676c8a(0x1cc)]:undefined,'enum':_0x9f5f66['enum']};}async function compilePlan(_0x9b1e83,_0x4b3913){const _0x3f72cd=a60_0x3b52;return compileServiceTreeCommand(_0x9b1e83,{'flags':_0x4b3913[_0x3f72cd(0x1e5)],'args':_0x4b3913[_0x3f72cd(0x1bf)],'context':await buildServiceContext(_0x9b1e83,_0x4b3913)});}async function buildServiceContext(_0x2a6883,_0x1f057d){const _0xf20c29=a60_0x3b52,_0x1374d5={'appCode':_0x1f057d[_0xf20c29(0x1d3)],'env':_0x1f057d[_0xf20c29(0x1e0)],'envName':_0x1f057d[_0xf20c29(0x1e0)]};if(!usesRuntimeContext(_0x2a6883))return _0x1374d5;const _0x23f3ab=await getLoginUserInfo(),_0x11cc90=pickFirst(_0x23f3ab[_0xf20c29(0x1e7)],_0x23f3ab['id']);return{..._0x1374d5,'user':_0x23f3ab,'userId':_0x11cc90,'id':_0x23f3ab['id'],'username':pickFirst(_0x23f3ab[_0xf20c29(0x1e9)],_0x23f3ab[_0xf20c29(0x1ae)],_0x23f3ab[_0xf20c29(0x18b)]),'userName':_0x23f3ab[_0xf20c29(0x1ae)],'nickname':pickFirst(_0x23f3ab['nickname'],_0x23f3ab['nickName']),'nickName':_0x23f3ab[_0xf20c29(0x1b2)],'tenantCode':_0x23f3ab[_0xf20c29(0x1b9)],'employeeId':_0x23f3ab[_0xf20c29(0x19f)]};}function usesRuntimeContext(_0x20ac57){const _0x19361c=a60_0x3b52;return _0x20ac57[_0x19361c(0x1df)][_0x19361c(0x198)](_0x16e56f=>typeof _0x16e56f[_0x19361c(0x1c5)]==='string'&&(_0x16e56f[_0x19361c(0x1c5)][_0x19361c(0x1de)](_0x19361c(0x1b4))||_0x16e56f[_0x19361c(0x1c5)][_0x19361c(0x1de)](_0x19361c(0x1d2))));}function pickFirst(..._0x2db51f){return _0x2db51f['find'](_0x58a6bc=>_0x58a6bc!==undefined&&_0x58a6bc!==null);}async function executePlan(_0x3afd15,_0x202b70,_0x1525e3){const _0x21e7a9=a60_0x3b52;if(_0x3afd15[_0x21e7a9(0x1e4)]==='data'){const _0x45ae2b=await resolveDatasetCode(_0x3afd15,_0x202b70,_0x1525e3);return executeData(_0x45ae2b,_0x3afd15[_0x21e7a9(0x1d4)],_0x3afd15[_0x21e7a9(0x1c6)]);}if(_0x3afd15[_0x21e7a9(0x1e4)]===_0x21e7a9(0x1e3)){if(!_0x3afd15[_0x21e7a9(0x1a4)])throw CliErrors[_0x21e7a9(0x1a2)](_0x21e7a9(0x1d5)+_0x202b70[_0x21e7a9(0x194)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x3afd15[_0x21e7a9(0x1a4)],normalizeScalarParams(_0x3afd15[_0x21e7a9(0x1c6)]));}if(_0x3afd15[_0x21e7a9(0x1e4)]===_0x21e7a9(0x1da)){const _0x5bb1f0=_0x3afd15[_0x21e7a9(0x182)]||_0x3afd15[_0x21e7a9(0x1be)]||(_0x3afd15['bffId']==null?'':String(_0x3afd15[_0x21e7a9(0x1ac)]));if(!_0x5bb1f0)throw CliErrors['validation']('Service\x20command\x20'+_0x202b70[_0x21e7a9(0x194)]+_0x21e7a9(0x1cd));return executeSdkBff(_0x5bb1f0,_0x3afd15[_0x21e7a9(0x1c6)]);}throw CliErrors[_0x21e7a9(0x1a2)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x3afd15[_0x21e7a9(0x1e4)]);}async function resolveDatasetCode(_0x2317a1,_0x85776,_0x4c2ef4){const _0x4b048c=a60_0x3b52;if(_0x2317a1['datasetCode'])return _0x2317a1[_0x4b048c(0x189)];if(!_0x2317a1[_0x4b048c(0x1ea)])throw CliErrors[_0x4b048c(0x1a2)]('Service\x20command\x20'+_0x85776[_0x4b048c(0x194)]+_0x4b048c(0x18e));const _0x2c8814=await listDatasets(_0x4c2ef4['appCode']),_0x1bb88b=_0x2c8814[_0x4b048c(0x19c)](_0x419451=>_0x419451[_0x4b048c(0x1a3)]?.['tableName']===_0x2317a1[_0x4b048c(0x1ea)]);if(!_0x1bb88b?.[_0x4b048c(0x192)])throw CliErrors[_0x4b048c(0x1a2)](_0x4b048c(0x196)+_0x2317a1[_0x4b048c(0x1ea)]+_0x4b048c(0x1bc)+_0x4c2ef4['appCode']+'.',_0x4b048c(0x199));return _0x1bb88b[_0x4b048c(0x192)];}function applyAppBinding(_0x55cd73,_0x416c32,_0x219d93){const _0x4ec68f=a60_0x3b52,_0xc13122=_0x416c32[_0x4ec68f(0x1b0)][_0x4ec68f(0x18a)];if(!_0xc13122)return;const _0x123d11=_0x55cd73[_0x4ec68f(0x18c)][_0xc13122];if(!_0x123d11)throw CliErrors[_0x4ec68f(0x1a2)](_0x4ec68f(0x1cb)+_0xc13122+_0x4ec68f(0x1db)+_0x416c32[_0x4ec68f(0x194)]+'.',_0x4ec68f(0x197));const _0x257755=_0x123d11['appcode']||_0x123d11[_0x4ec68f(0x1d3)];_0x257755&&!hasText(_0x219d93[_0x4ec68f(0x18d)])&&(_0x219d93[_0x4ec68f(0x18d)]=_0x257755),_0x123d11[_0x4ec68f(0x1d8)]&&!hasText(_0x219d93[_0x4ec68f(0x1d8)])&&!hasText(_0x219d93['appcode'])&&(_0x219d93[_0x4ec68f(0x1d8)]=_0x123d11[_0x4ec68f(0x1d8)]),_0x123d11[_0x4ec68f(0x1a1)]&&!hasText(_0x219d93[_0x4ec68f(0x1a1)])&&(_0x219d93['env']=_0x123d11['env']);}function renderDynamicCommandHelp(_0x185a36){const _0x3d6ab9=a60_0x3b52,_0xb461a1=[_0x3d6ab9(0x195),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x185a36['target']['kind'],'\x20\x20\x20\x20command:\x20'+_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x1d4)]];if(_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x189)])_0xb461a1[_0x3d6ab9(0x193)](_0x3d6ab9(0x1b6)+_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x189)]);if(_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x1ea)])_0xb461a1[_0x3d6ab9(0x193)](_0x3d6ab9(0x1a7)+_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x1ea)]);if(_0x185a36['target'][_0x3d6ab9(0x1a4)])_0xb461a1['push'](_0x3d6ab9(0x1bb)+_0x185a36[_0x3d6ab9(0x1b0)][_0x3d6ab9(0x1a4)]);if(_0x185a36['target']['scriptName'])_0xb461a1[_0x3d6ab9(0x193)](_0x3d6ab9(0x1a0)+_0x185a36['target']['scriptName']);if(_0x185a36['mapTo']['length']>0x0){_0xb461a1[_0x3d6ab9(0x193)]('',_0x3d6ab9(0x1ad));for(const _0x2683ea of _0x185a36[_0x3d6ab9(0x1df)]){_0xb461a1[_0x3d6ab9(0x193)]('\x20\x20\x20\x20'+(_0x2683ea[_0x3d6ab9(0x1c5)]||'const')+_0x3d6ab9(0x187)+_0x2683ea['target']+(_0x2683ea[_0x3d6ab9(0x1e6)]?'.'+_0x2683ea[_0x3d6ab9(0x1e6)]:''));}}return _0xb461a1[_0x3d6ab9(0x19a)]('\x0a');}function a60_0x4caa(){const _0x3712f6=['app','filter','bff','\x22\x20in\x20service\x20command\x20','type','string','startsWith','mapTo','envName','Run\x20service\x20command\x20','service','sql','kind','rawFlags','operator','userId','2658872umxMol','username','datatable','scriptName','300tuzNOv','56MWsYzB','488250uNGitx','4iEBJKL','\x20->\x20','flatMap','datasetCode','appRef','loginName','appBindings','appcode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','\x20service\x20detail\x20--service\x20','padEnd','map','code','push','cliPath','\x20\x20SERVICE\x20TREE\x20TARGET','Cannot\x20resolve\x20datatable\x20\x22','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','some','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','join','required','find','cliName','risk','employeeId','\x20\x20\x20\x20functionName:\x20','env','validation','dbtableConfig','sqlCode','\x20completed\x20in\x20','Use\x20`','\x20\x20\x20\x20datatable:\x20','Preview\x20dynamic\x20service\x20command:\x20','remainingArgs','commands','5024820jqXehl','bffId','\x20\x20MAP\x20TO','userName','`\x20to\x20inspect\x20the\x20manifest.','target','slice','nickName','trim','context.','now','\x20\x20\x20\x20datasetCode:\x20','481216CeGoeA','820381UTCmzP','tenantCode','\x20\x20[','\x20\x20\x20\x20sqlCode:\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','number','bffCode','args','name','\x22.\x20','normalizedManifest','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','tree','source','params','flags','359885MCIqbR','length','boolean','Unknown\x20appRef\x20\x22','default','\x20requires\x20target.functionName.','entries','fullPath','346131zoWeTV','read','ctx.','appCode','command','Service\x20command\x20','description','json'];a60_0x4caa=function(){return _0x3712f6;};return a60_0x4caa();}function targetPreview(_0x1a7c66){const _0x30358f=a60_0x3b52;return{'kind':_0x1a7c66[_0x30358f(0x1e4)],'command':_0x1a7c66[_0x30358f(0x1d4)],'appRef':_0x1a7c66[_0x30358f(0x18a)],'datasetCode':_0x1a7c66[_0x30358f(0x189)],'datatable':_0x1a7c66[_0x30358f(0x1ea)],'sqlCode':_0x1a7c66[_0x30358f(0x1a4)],'bffCode':_0x1a7c66[_0x30358f(0x1be)],'bffId':_0x1a7c66['bffId'],'functionName':_0x1a7c66[_0x30358f(0x182)]};}function normalizeScalarParams(_0x4a34bd){const _0x16d793=a60_0x3b52;return Object['fromEntries'](Object[_0x16d793(0x1ce)](_0x4a34bd)[_0x16d793(0x1d9)](([,_0x932838])=>typeof _0x932838==='string'||typeof _0x932838==='number'));}function hasText(_0x57ca60){const _0x1e60b6=a60_0x3b52;return typeof _0x57ca60==='string'&&_0x57ca60[_0x1e60b6(0x1b3)]()[_0x1e60b6(0x1c9)]>0x0;}function isPrimitiveFlagDefault(_0x3cd76e){const _0x13dc23=a60_0x3b52;return _0x3cd76e===undefined||typeof _0x3cd76e===_0x13dc23(0x1dd)||typeof _0x3cd76e===_0x13dc23(0x1bd)||typeof _0x3cd76e===_0x13dc23(0x1ca);}
1
+ (function(_0x1fcc35,_0x16bdf4){const _0x797e52=a60_0x206f,_0x29f8b4=_0x1fcc35();while(!![]){try{const _0x425afd=-parseInt(_0x797e52(0xf0))/0x1+-parseInt(_0x797e52(0xe0))/0x2*(-parseInt(_0x797e52(0xd6))/0x3)+-parseInt(_0x797e52(0xbd))/0x4*(-parseInt(_0x797e52(0xf2))/0x5)+parseInt(_0x797e52(0x10a))/0x6+-parseInt(_0x797e52(0xec))/0x7*(-parseInt(_0x797e52(0xf5))/0x8)+parseInt(_0x797e52(0xad))/0x9*(-parseInt(_0x797e52(0xd4))/0xa)+parseInt(_0x797e52(0x108))/0xb;if(_0x425afd===_0x16bdf4)break;else _0x29f8b4['push'](_0x29f8b4['shift']());}catch(_0x99afb9){_0x29f8b4['push'](_0x29f8b4['shift']());}}}(a60_0x37b9,0xb2c23));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a60_0x37b9(){const _0x38919a=['sql','sqlCode','dbtableConfig','default','Commands:','datasetCode','userName','fullPath','tenantCode','code','appRef','app','1660gXbKiw','scriptName','3AXDLft','\x20service\x20detail\x20--service\x20','appBindings','json','entries','appcode','slice','name','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','\x20->\x20','941962ltuuGX','risk','length','Unsupported\x20service\x20target\x20kind:\x20','service','cliPath','bffId','Run\x20service\x20command\x20','Unknown\x20appRef\x20\x22','flags','map','Cannot\x20resolve\x20datatable\x20\x22','443387xxzejj','userId','target','read','36016javcEL','mapTo','170EuyPCG','padEnd','commands','16mdpMTI','`\x20to\x20inspect\x20the\x20manifest.','username','tree','validation','\x20\x20MAP\x20TO','\x20requires\x20target.functionName.','rawFlags','params','\x20completed\x20in\x20','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20requires\x20target.sqlCode.','loginName','remainingArgs','type','\x20\x20\x20\x20sqlCode:\x20','operator','push','bff','3681634qjPNFm','appCode','3415968KnAoEH','envName','now','\x20\x20\x20\x20','\x22.\x20','trim','flatMap','Service\x20command\x20','number','required','string','68562ocYBME','\x22\x20in\x20service\x20command\x20','context.','boolean','\x20\x20\x20\x20functionName:\x20','high-risk-write','tableName','nickName','find','nickname','kind','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','startsWith','\x20\x20\x20\x20datasetCode:\x20','join','description','62484qcNPQh','datatable','source','data','args','normalizedManifest','command','env','filter','bffCode','\x20<command>\x20[flags]'];a60_0x37b9=function(){return _0x38919a;};return a60_0x37b9();}export function resolveDynamicServiceCommand(_0x3de2aa,_0x47023e){const _0x230a67=a60_0x206f,_0x7a278c=listLocalServiceTrees();let _0x344cbe;for(const _0x424c92 of _0x7a278c){const _0x2d48d0=matchServiceTreeCommand(_0x424c92,_0x3de2aa);if(!_0x2d48d0)continue;(!_0x344cbe||_0x2d48d0[_0x230a67(0xc3)]['fullPath'][_0x230a67(0xe2)]>_0x344cbe['command'][_0x230a67(0xcf)][_0x230a67(0xe2)])&&(_0x344cbe={'tree':_0x424c92,'command':_0x2d48d0[_0x230a67(0xc3)],'remainingArgs':_0x2d48d0[_0x230a67(0x102)]});}if(!_0x344cbe)return undefined;const _0x2f3fb6={..._0x47023e};return applyAppBinding(_0x344cbe['tree'],_0x344cbe['command'],_0x2f3fb6),{'definition':buildDynamicCommandDefinition(_0x344cbe[_0x230a67(0xf8)],_0x344cbe[_0x230a67(0xc3)]),'args':_0x344cbe[_0x230a67(0x102)],'flags':_0x2f3fb6,'tree':_0x344cbe[_0x230a67(0xf8)],'command':_0x344cbe[_0x230a67(0xc3)]};}export function generateDynamicServiceHelp(_0x3f2e17){const _0x2f35ec=a60_0x206f,_0x144119=listLocalServiceTrees()[_0x2f35ec(0xb5)](_0x50555b=>_0x50555b['service'][_0x2f35ec(0xd1)]===_0x3f2e17);if(!_0x144119)return undefined;const _0x280938=[CLI_BIN_NAME+'\x20'+_0x3f2e17+_0x2f35ec(0xc7),'',_0x144119[_0x2f35ec(0xe4)][_0x2f35ec(0xdd)]||_0x3f2e17,_0x144119[_0x2f35ec(0xe4)][_0x2f35ec(0xbc)]?'\x20\x20'+_0x144119[_0x2f35ec(0xe4)]['description']:'','',_0x2f35ec(0xcc),..._0x144119[_0x2f35ec(0xf4)][_0x2f35ec(0xea)](_0x1ea5ad=>{const _0x3ab43c=_0x2f35ec,_0x2858e7=_0x1ea5ad[_0x3ab43c(0xcf)]['slice'](0x1)['join']('\x20'),_0x397224=_0x1ea5ad['risk']==='read'?'':'\x20['+_0x1ea5ad['risk']+']';return'\x20\x20'+_0x2858e7[_0x3ab43c(0xf3)](0x18)+'\x20'+(_0x1ea5ad[_0x3ab43c(0xbc)]||'')+_0x397224;}),'','Use\x20`'+CLI_BIN_NAME+_0x2f35ec(0xd7)+_0x3f2e17+_0x2f35ec(0xf6)][_0x2f35ec(0xc5)](Boolean);return _0x280938['join']('\x0a');}export function listDynamicServiceEntries(){const _0x29957e=a60_0x206f;return listLocalServices()[_0x29957e(0xea)](_0x6dfe1c=>{const _0x570730=_0x29957e,_0x3c3245=_0x6dfe1c[_0x570730(0xc2)];return{'service':_0x3c3245[_0x570730(0xe4)][_0x570730(0xd1)],'label':_0x3c3245['service'][_0x570730(0xdd)]||_0x3c3245[_0x570730(0xe4)][_0x570730(0xd1)],'commands':_0x3c3245[_0x570730(0xf4)][_0x570730(0xea)](_0x4ceb91=>({'command':dynamicCommandName(_0x4ceb91),'description':_0x4ceb91['description']||_0x570730(0xe7)+_0x4ceb91[_0x570730(0xe5)],'tag':riskTag(_0x4ceb91[_0x570730(0xe1)])}))};});}export function getDynamicServiceEntry(_0x330cac){const _0x175922=a60_0x206f;return listDynamicServiceEntries()[_0x175922(0xb5)](_0x414877=>_0x414877[_0x175922(0xe4)]===_0x330cac);}export function listDynamicServiceDefinitions(_0x31d736){const _0x507c22=a60_0x206f;return listLocalServiceTrees()[_0x507c22(0xc5)](_0x3fde7f=>!_0x31d736||_0x3fde7f[_0x507c22(0xe4)][_0x507c22(0xd1)]===_0x31d736)[_0x507c22(0x110)](_0x5bcdad=>_0x5bcdad['commands'][_0x507c22(0xea)](_0x3b8008=>buildDynamicCommandDefinition(_0x5bcdad,_0x3b8008)));}export function getDynamicServiceDefinitions(_0x4d5792){const _0x1e7a2=listDynamicServiceDefinitions(_0x4d5792);return _0x1e7a2['length']>0x0?_0x1e7a2:undefined;}export function findDynamicServiceDefinition(_0xa944a8,_0x264535){const _0xe45abf=a60_0x206f;return listDynamicServiceDefinitions(_0xa944a8)[_0xe45abf(0xb5)](_0x345574=>_0x345574[_0xe45abf(0xc3)]===_0x264535);}export function buildDynamicCommandDefinition(_0x1088e4,_0x437977){const _0x4752ac=a60_0x206f;return{'service':_0x1088e4['service'][_0x4752ac(0xd1)],'command':dynamicCommandName(_0x437977),'description':_0x437977[_0x4752ac(0xbc)]||_0x4752ac(0xe7)+_0x437977[_0x4752ac(0xe5)],'risk':_0x437977[_0x4752ac(0xe1)],..._0x437977[_0x4752ac(0xe1)]===_0x4752ac(0xef)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x437977)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x437977[_0x4752ac(0xc1)][_0x4752ac(0xea)](_0x38251b=>({'name':_0x38251b[_0x4752ac(0xdd)],'description':_0x38251b[_0x4752ac(0xbc)]||_0x38251b[_0x4752ac(0xdd)],'required':_0x38251b[_0x4752ac(0xab)]})),'flags':_0x437977[_0x4752ac(0xe9)][_0x4752ac(0xea)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x437977),async 'dryRun'(_0x452fbb){const _0x5d9e29=_0x4752ac,_0x4e3b90=await compilePlan(_0x437977,_0x452fbb);return{'method':'SERVICE_TREE','url':_0x437977[_0x5d9e29(0xe5)],'body':{'target':targetPreview(_0x4e3b90),'params':_0x4e3b90['params']},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x437977[_0x5d9e29(0xe5)]};},async 'execute'(_0x59d820){const _0x4f0e9d=_0x4752ac,_0xc86553=await compilePlan(_0x437977,_0x59d820),_0x92d15b=Date[_0x4f0e9d(0x10c)](),_0x501d70=await executePlan(_0xc86553,_0x437977,_0x59d820),_0x45855f=Date[_0x4f0e9d(0x10c)]()-_0x92d15b;return{'ok':!![],'data':{'service':_0x1088e4[_0x4f0e9d(0xe4)],'command':_0x437977[_0x4f0e9d(0xe5)],'target':targetPreview(_0xc86553),'result':_0x501d70,'elapsed':_0x45855f},'message':'Service\x20command\x20'+_0x437977[_0x4f0e9d(0xe5)]+_0x4f0e9d(0xfe)+_0x45855f+'ms'};}};}function buildDynamicConfirmationDescription(_0x21b6ad){const _0x564e58=a60_0x206f,_0x2ac949=_0x21b6ad[_0x564e58(0xbc)]||_0x21b6ad[_0x564e58(0xe5)],_0x51aa67=_0x21b6ad[_0x564e58(0xe1)]===_0x564e58(0xb2)?_0x564e58(0xb8):'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.';return'This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22'+_0x2ac949+_0x564e58(0x10e)+_0x51aa67;}function dynamicCommandName(_0x1697d1){const _0x4c3568=a60_0x206f;return _0x1697d1[_0x4c3568(0xcf)][_0x4c3568(0xdc)](0x1)['join']('\x20');}function riskTag(_0x47924b){const _0x31d341=a60_0x206f;return _0x47924b===_0x31d341(0xef)?'':'\x20\x20['+_0x47924b+']';}function flagToCommandFlag(_0x414a85){const _0x10bfe2=a60_0x206f;return{'name':_0x414a85['cliName'],'type':_0x414a85[_0x10bfe2(0x103)]===_0x10bfe2(0xd9)?_0x10bfe2(0xac):_0x414a85['type'],'description':_0x414a85[_0x10bfe2(0xbc)]||_0x414a85[_0x10bfe2(0xdd)],'required':_0x414a85[_0x10bfe2(0xab)],'default':isPrimitiveFlagDefault(_0x414a85[_0x10bfe2(0xcb)])?_0x414a85[_0x10bfe2(0xcb)]:undefined,'enum':_0x414a85['enum']};}async function compilePlan(_0x93a840,_0x33f4dc){const _0xaef5f5=a60_0x206f;return compileServiceTreeCommand(_0x93a840,{'flags':_0x33f4dc[_0xaef5f5(0xfc)],'args':_0x33f4dc[_0xaef5f5(0xc1)],'context':await buildServiceContext(_0x93a840,_0x33f4dc)});}async function buildServiceContext(_0x2af4c5,_0x3d4001){const _0x5b0bbe=a60_0x206f,_0x1ca18c={'appCode':_0x3d4001['appCode'],'env':_0x3d4001[_0x5b0bbe(0x10b)],'envName':_0x3d4001[_0x5b0bbe(0x10b)]};if(!usesRuntimeContext(_0x2af4c5))return _0x1ca18c;const _0x391d03=await getLoginUserInfo(),_0x151d2e=pickFirst(_0x391d03[_0x5b0bbe(0xed)],_0x391d03['id']);return{..._0x1ca18c,'user':_0x391d03,'userId':_0x151d2e,'id':_0x391d03['id'],'username':pickFirst(_0x391d03[_0x5b0bbe(0xf7)],_0x391d03[_0x5b0bbe(0xce)],_0x391d03[_0x5b0bbe(0x101)]),'userName':_0x391d03[_0x5b0bbe(0xce)],'nickname':pickFirst(_0x391d03[_0x5b0bbe(0xb6)],_0x391d03[_0x5b0bbe(0xb4)]),'nickName':_0x391d03[_0x5b0bbe(0xb4)],'tenantCode':_0x391d03[_0x5b0bbe(0xd0)],'employeeId':_0x391d03['employeeId']};}function usesRuntimeContext(_0x5691f8){const _0x289403=a60_0x206f;return _0x5691f8[_0x289403(0xf1)]['some'](_0x53639c=>typeof _0x53639c[_0x289403(0xbf)]===_0x289403(0xac)&&(_0x53639c[_0x289403(0xbf)][_0x289403(0xb9)](_0x289403(0xaf))||_0x53639c[_0x289403(0xbf)][_0x289403(0xb9)]('ctx.')));}function pickFirst(..._0x581a49){const _0x3e9fcb=a60_0x206f;return _0x581a49[_0x3e9fcb(0xb5)](_0x2fe123=>_0x2fe123!==undefined&&_0x2fe123!==null);}async function executePlan(_0x39dc23,_0x28aa73,_0x28c240){const _0x35a02f=a60_0x206f;if(_0x39dc23[_0x35a02f(0xb7)]===_0x35a02f(0xc0)){const _0x454946=await resolveDatasetCode(_0x39dc23,_0x28aa73,_0x28c240);return executeData(_0x454946,_0x39dc23[_0x35a02f(0xc3)],_0x39dc23[_0x35a02f(0xfd)]);}if(_0x39dc23[_0x35a02f(0xb7)]===_0x35a02f(0xc8)){if(!_0x39dc23[_0x35a02f(0xc9)])throw CliErrors[_0x35a02f(0xf9)](_0x35a02f(0x111)+_0x28aa73[_0x35a02f(0xe5)]+_0x35a02f(0x100));return executeSdkSql(_0x39dc23[_0x35a02f(0xc9)],normalizeScalarParams(_0x39dc23['params']));}if(_0x39dc23[_0x35a02f(0xb7)]===_0x35a02f(0x107)){const _0x97f20e=_0x39dc23[_0x35a02f(0xd5)]||_0x39dc23[_0x35a02f(0xc6)]||(_0x39dc23['bffId']==null?'':String(_0x39dc23[_0x35a02f(0xe6)]));if(!_0x97f20e)throw CliErrors[_0x35a02f(0xf9)]('Service\x20command\x20'+_0x28aa73[_0x35a02f(0xe5)]+_0x35a02f(0xfb));return executeSdkBff(_0x97f20e,_0x39dc23['params']);}throw CliErrors['validation'](_0x35a02f(0xe3)+_0x39dc23[_0x35a02f(0xb7)]);}async function resolveDatasetCode(_0x5b9671,_0x329bef,_0x501884){const _0x421114=a60_0x206f;if(_0x5b9671[_0x421114(0xcd)])return _0x5b9671[_0x421114(0xcd)];if(!_0x5b9671['datatable'])throw CliErrors['validation']('Service\x20command\x20'+_0x329bef[_0x421114(0xe5)]+_0x421114(0xde));const _0x38d0ee=await listDatasets(_0x501884[_0x421114(0x109)]),_0x31a311=_0x38d0ee[_0x421114(0xb5)](_0x60e1b4=>_0x60e1b4[_0x421114(0xca)]?.[_0x421114(0xb3)]===_0x5b9671['datatable']);if(!_0x31a311?.['code'])throw CliErrors[_0x421114(0xf9)](_0x421114(0xeb)+_0x5b9671[_0x421114(0xbe)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x501884['appCode']+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x31a311[_0x421114(0xd1)];}function applyAppBinding(_0x820e9,_0x2ce3c4,_0x3ed2c7){const _0x36e4e7=a60_0x206f,_0xcec987=_0x2ce3c4[_0x36e4e7(0xee)][_0x36e4e7(0xd2)];if(!_0xcec987)return;const _0x4fa6e0=_0x820e9[_0x36e4e7(0xd8)][_0xcec987];if(!_0x4fa6e0)throw CliErrors[_0x36e4e7(0xf9)](_0x36e4e7(0xe8)+_0xcec987+_0x36e4e7(0xae)+_0x2ce3c4[_0x36e4e7(0xe5)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0xb89851=_0x4fa6e0[_0x36e4e7(0xdb)]||_0x4fa6e0[_0x36e4e7(0x109)];_0xb89851&&!hasText(_0x3ed2c7[_0x36e4e7(0xdb)])&&(_0x3ed2c7[_0x36e4e7(0xdb)]=_0xb89851),_0x4fa6e0['app']&&!hasText(_0x3ed2c7[_0x36e4e7(0xd3)])&&!hasText(_0x3ed2c7[_0x36e4e7(0xdb)])&&(_0x3ed2c7[_0x36e4e7(0xd3)]=_0x4fa6e0[_0x36e4e7(0xd3)]),_0x4fa6e0[_0x36e4e7(0xc4)]&&!hasText(_0x3ed2c7[_0x36e4e7(0xc4)])&&(_0x3ed2c7[_0x36e4e7(0xc4)]=_0x4fa6e0[_0x36e4e7(0xc4)]);}function renderDynamicCommandHelp(_0x5883a9){const _0x5a41a7=a60_0x206f,_0x474f31=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x5a41a7(0xff)+_0x5883a9[_0x5a41a7(0xee)]['kind'],'\x20\x20\x20\x20command:\x20'+_0x5883a9['target']['command']];if(_0x5883a9['target'][_0x5a41a7(0xcd)])_0x474f31[_0x5a41a7(0x106)](_0x5a41a7(0xba)+_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xcd)]);if(_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xbe)])_0x474f31[_0x5a41a7(0x106)]('\x20\x20\x20\x20datatable:\x20'+_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xbe)]);if(_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xc9)])_0x474f31[_0x5a41a7(0x106)](_0x5a41a7(0x104)+_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xc9)]);if(_0x5883a9[_0x5a41a7(0xee)][_0x5a41a7(0xd5)])_0x474f31[_0x5a41a7(0x106)](_0x5a41a7(0xb1)+_0x5883a9[_0x5a41a7(0xee)]['scriptName']);if(_0x5883a9['mapTo'][_0x5a41a7(0xe2)]>0x0){_0x474f31[_0x5a41a7(0x106)]('',_0x5a41a7(0xfa));for(const _0x4969f1 of _0x5883a9['mapTo']){_0x474f31['push'](_0x5a41a7(0x10d)+(_0x4969f1['source']||'const')+_0x5a41a7(0xdf)+_0x4969f1[_0x5a41a7(0xee)]+(_0x4969f1['operator']?'.'+_0x4969f1[_0x5a41a7(0x105)]:''));}}return _0x474f31[_0x5a41a7(0xbb)]('\x0a');}function a60_0x206f(_0x5b6d9d,_0x5acab8){_0x5b6d9d=_0x5b6d9d-0xab;const _0x37b9cc=a60_0x37b9();let _0x206fab=_0x37b9cc[_0x5b6d9d];return _0x206fab;}function targetPreview(_0x2a7050){const _0x4893ff=a60_0x206f;return{'kind':_0x2a7050[_0x4893ff(0xb7)],'command':_0x2a7050['command'],'appRef':_0x2a7050[_0x4893ff(0xd2)],'datasetCode':_0x2a7050[_0x4893ff(0xcd)],'datatable':_0x2a7050[_0x4893ff(0xbe)],'sqlCode':_0x2a7050[_0x4893ff(0xc9)],'bffCode':_0x2a7050[_0x4893ff(0xc6)],'bffId':_0x2a7050[_0x4893ff(0xe6)],'functionName':_0x2a7050['scriptName']};}function normalizeScalarParams(_0x1b27d3){const _0xa85149=a60_0x206f;return Object['fromEntries'](Object[_0xa85149(0xda)](_0x1b27d3)[_0xa85149(0xc5)](([,_0xa1054])=>typeof _0xa1054===_0xa85149(0xac)||typeof _0xa1054===_0xa85149(0x112)));}function hasText(_0x261d2d){const _0x556274=a60_0x206f;return typeof _0x261d2d===_0x556274(0xac)&&_0x261d2d[_0x556274(0x10f)]()[_0x556274(0xe2)]>0x0;}function isPrimitiveFlagDefault(_0x330fd4){const _0x318db6=a60_0x206f;return _0x330fd4===undefined||typeof _0x330fd4===_0x318db6(0xac)||typeof _0x330fd4===_0x318db6(0x112)||typeof _0x330fd4===_0x318db6(0xb0);}
@@ -1 +1 @@
1
- function a61_0x43ad(_0xdc0e75,_0x3dd831){_0xdc0e75=_0xdc0e75-0x19d;const _0x11d009=a61_0x11d0();let _0x43adb0=_0x11d009[_0xdc0e75];return _0x43adb0;}(function(_0x42cf04,_0xfeaefd){const _0x490d82=a61_0x43ad,_0x29603b=_0x42cf04();while(!![]){try{const _0x412876=parseInt(_0x490d82(0x1a6))/0x1*(-parseInt(_0x490d82(0x1a1))/0x2)+-parseInt(_0x490d82(0x1a3))/0x3*(-parseInt(_0x490d82(0x1a2))/0x4)+parseInt(_0x490d82(0x1a7))/0x5+-parseInt(_0x490d82(0x1b6))/0x6+-parseInt(_0x490d82(0x19e))/0x7*(-parseInt(_0x490d82(0x19d))/0x8)+-parseInt(_0x490d82(0x1a5))/0x9*(parseInt(_0x490d82(0x1ab))/0xa)+parseInt(_0x490d82(0x1b8))/0xb;if(_0x412876===_0xfeaefd)break;else _0x29603b['push'](_0x29603b['shift']());}catch(_0x348692){_0x29603b['push'](_0x29603b['shift']());}}}(a61_0x11d0,0x75be2));export function adaptServiceTreeManifestForLegacyFramework(_0x2be979){const _0xee2fc5=a61_0x43ad,_0x5c3d20=cloneJsonValue(_0x2be979),_0x1d78a2=[];if(!isObjectRecord(_0x5c3d20))return{'manifest':_0x5c3d20,'errors':_0x1d78a2};return Array[_0xee2fc5(0x1b0)](_0x5c3d20[_0xee2fc5(0x1bf)])&&_0x5c3d20[_0xee2fc5(0x1bf)][_0xee2fc5(0x1bb)]((_0x5d91bb,_0x14f128)=>{const _0x19bf71=_0xee2fc5;if(!isObjectRecord(_0x5d91bb))return;adaptBffTarget(_0x5d91bb['target'],_0x19bf71(0x1a4)+_0x14f128+_0x19bf71(0x1a9),_0x1d78a2);}),adaptResources(_0x5c3d20['resources'],'$.resources',_0x1d78a2),{'manifest':_0x5c3d20,'errors':_0x1d78a2};}export function toPublicServiceTreeTarget(_0x2ae5f9){const _0x385770=a61_0x43ad,{scriptName:_0x92e4ae,..._0x32e5f8}=_0x2ae5f9;return typeof _0x92e4ae==='string'&&_0x92e4ae[_0x385770(0x1b9)]()&&(_0x32e5f8[_0x385770(0x1b2)]=_0x92e4ae),_0x32e5f8;}export function toPublicNormalizedServiceTree(_0x4a2672){const _0x3a8782=a61_0x43ad;return{..._0x4a2672,'commands':_0x4a2672[_0x3a8782(0x1bf)][_0x3a8782(0x1b7)](_0xaf49bb=>({..._0xaf49bb,'target':toPublicServiceTreeTarget(_0xaf49bb[_0x3a8782(0x1bc)])}))};}function adaptResources(_0x3e23b8,_0x1b8f8a,_0x87818a){const _0x2e8cd0=a61_0x43ad;if(!isObjectRecord(_0x3e23b8))return;for(const [_0x565804,_0x48bc83]of Object[_0x2e8cd0(0x1ac)](_0x3e23b8)){if(!isObjectRecord(_0x48bc83))continue;const _0x3d3b72=_0x1b8f8a+'.'+_0x565804;if(isObjectRecord(_0x48bc83[_0x2e8cd0(0x1b4)]))for(const [_0x45b40e,_0x286afa]of Object[_0x2e8cd0(0x1ac)](_0x48bc83[_0x2e8cd0(0x1b4)])){if(!isObjectRecord(_0x286afa))continue;const _0x59f11f=_0x3d3b72+_0x2e8cd0(0x1bd)+_0x45b40e,_0x5b5109=isObjectRecord(_0x286afa[_0x2e8cd0(0x1bc)])&&_0x286afa[_0x2e8cd0(0x1bc)][_0x2e8cd0(0x1ba)]===_0x2e8cd0(0x1b3);adaptBffTarget(_0x286afa[_0x2e8cd0(0x1bc)],_0x59f11f+_0x2e8cd0(0x1a8),_0x87818a),(_0x5b5109||isBffAction(_0x286afa))&&adaptFunctionNameField(_0x286afa,_0x59f11f,_0x87818a);}adaptResources(_0x48bc83['resources'],_0x3d3b72+'.resources',_0x87818a);}}function adaptBffTarget(_0xa827a,_0x4cb402,_0x16b5f5){const _0x3c8bb3=a61_0x43ad;if(!isObjectRecord(_0xa827a)||_0xa827a[_0x3c8bb3(0x1ba)]!=='bff')return;adaptFunctionNameField(_0xa827a,_0x4cb402,_0x16b5f5);}function a61_0x11d0(){const _0x1aaddf=['350248ArasSF','84YHmefy','push','action','701458nmufQz','20jBNLdI','75393RjrKNc','$.commands[','8535654EGplNr','1yMGAou','3882560qZpZBF','.target','].target','error','10kMeyXm','entries','string','call','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','isArray','object','functionName','bff','actions','functionName\x20must\x20be\x20a\x20non-empty\x20string.','3719598bepUQs','map','10711833CiSHBA','trim','kind','forEach','target','.actions.','scriptName','commands','.scriptName'];a61_0x11d0=function(){return _0x1aaddf;};return a61_0x11d0();}function adaptFunctionNameField(_0x55ea85,_0x23b2ec,_0x21dc16){const _0x318868=a61_0x43ad;Object['prototype']['hasOwnProperty'][_0x318868(0x1ae)](_0x55ea85,'scriptName')&&_0x21dc16[_0x318868(0x19f)]({'level':_0x318868(0x1aa),'path':_0x23b2ec+_0x318868(0x1c0),'message':_0x318868(0x1af)});if(Object['prototype']['hasOwnProperty'][_0x318868(0x1ae)](_0x55ea85,_0x318868(0x1b2))){if(typeof _0x55ea85['functionName']!==_0x318868(0x1ad)||!_0x55ea85[_0x318868(0x1b2)][_0x318868(0x1b9)]()){_0x21dc16['push']({'level':'error','path':_0x23b2ec+'.functionName','message':_0x318868(0x1b5)}),delete _0x55ea85[_0x318868(0x1b2)];return;}_0x55ea85[_0x318868(0x1be)]=_0x55ea85[_0x318868(0x1b2)],delete _0x55ea85['functionName'];}}function isBffAction(_0x32b3d2){const _0x5f5784=a61_0x43ad;return _0x32b3d2['kind']==='bff'||_0x32b3d2[_0x5f5784(0x1a0)]==='bff.exec'||_0x32b3d2[_0x5f5784(0x1bc)]==='bff.exec';}function cloneJsonValue(_0x572993){const _0x25b762=a61_0x43ad;if(Array[_0x25b762(0x1b0)](_0x572993))return _0x572993[_0x25b762(0x1b7)](_0x21a928=>cloneJsonValue(_0x21a928));if(isObjectRecord(_0x572993))return Object['fromEntries'](Object['entries'](_0x572993)[_0x25b762(0x1b7)](([_0x8b9003,_0x4ec85f])=>[_0x8b9003,cloneJsonValue(_0x4ec85f)]));return _0x572993;}function isObjectRecord(_0xe2de22){const _0xa121c3=a61_0x43ad;return Boolean(_0xe2de22)&&typeof _0xe2de22===_0xa121c3(0x1b1)&&!Array[_0xa121c3(0x1b0)](_0xe2de22);}
1
+ (function(_0x12f75d,_0x595bf7){const _0x1d569d=a61_0x8424,_0x46354b=_0x12f75d();while(!![]){try{const _0x32676c=-parseInt(_0x1d569d(0x199))/0x1+parseInt(_0x1d569d(0x19a))/0x2+parseInt(_0x1d569d(0x198))/0x3+parseInt(_0x1d569d(0x1b0))/0x4+parseInt(_0x1d569d(0x1b6))/0x5+-parseInt(_0x1d569d(0x19b))/0x6*(-parseInt(_0x1d569d(0x1aa))/0x7)+-parseInt(_0x1d569d(0x1b8))/0x8*(parseInt(_0x1d569d(0x1b2))/0x9);if(_0x32676c===_0x595bf7)break;else _0x46354b['push'](_0x46354b['shift']());}catch(_0x47ebfd){_0x46354b['push'](_0x46354b['shift']());}}}(a61_0x2b6a,0x816b3));export function adaptServiceTreeManifestForLegacyFramework(_0x543475){const _0x95afc2=a61_0x8424,_0x5cfb9e=cloneJsonValue(_0x543475),_0x268fb1=[];if(!isObjectRecord(_0x5cfb9e))return{'manifest':_0x5cfb9e,'errors':_0x268fb1};return Array[_0x95afc2(0x1b3)](_0x5cfb9e[_0x95afc2(0x1a1)])&&_0x5cfb9e[_0x95afc2(0x1a1)][_0x95afc2(0x1a7)]((_0x2bfb8b,_0x28297e)=>{const _0x158324=_0x95afc2;if(!isObjectRecord(_0x2bfb8b))return;adaptBffTarget(_0x2bfb8b[_0x158324(0x1b9)],'$.commands['+_0x28297e+_0x158324(0x1ae),_0x268fb1);}),adaptResources(_0x5cfb9e[_0x95afc2(0x1ab)],_0x95afc2(0x1a4),_0x268fb1),{'manifest':_0x5cfb9e,'errors':_0x268fb1};}export function toPublicServiceTreeTarget(_0xbd2949){const _0x338add=a61_0x8424,{scriptName:_0x14c78b,..._0x1d5ea9}=_0xbd2949;return typeof _0x14c78b===_0x338add(0x1b5)&&_0x14c78b[_0x338add(0x1a8)]()&&(_0x1d5ea9[_0x338add(0x1b4)]=_0x14c78b),_0x1d5ea9;}export function toPublicNormalizedServiceTree(_0x4fad05){const _0x8c99e4=a61_0x8424;return{..._0x4fad05,'commands':_0x4fad05[_0x8c99e4(0x1a1)][_0x8c99e4(0x1ad)](_0x275352=>({..._0x275352,'target':toPublicServiceTreeTarget(_0x275352['target'])}))};}function a61_0x8424(_0x4d4934,_0xdbec85){_0x4d4934=_0x4d4934-0x198;const _0x2b6ae1=a61_0x2b6a();let _0x84247e=_0x2b6ae1[_0x4d4934];return _0x84247e;}function adaptResources(_0x4dde3d,_0x5a0a59,_0x37d237){const _0x1aba8e=a61_0x8424;if(!isObjectRecord(_0x4dde3d))return;for(const [_0x41ca45,_0x115fa0]of Object[_0x1aba8e(0x1ba)](_0x4dde3d)){if(!isObjectRecord(_0x115fa0))continue;const _0x1ac4f3=_0x5a0a59+'.'+_0x41ca45;if(isObjectRecord(_0x115fa0[_0x1aba8e(0x1a3)]))for(const [_0xc0ee23,_0x53db13]of Object[_0x1aba8e(0x1ba)](_0x115fa0[_0x1aba8e(0x1a3)])){if(!isObjectRecord(_0x53db13))continue;const _0x591c9c=_0x1ac4f3+_0x1aba8e(0x19d)+_0xc0ee23,_0x382094=isObjectRecord(_0x53db13['target'])&&_0x53db13[_0x1aba8e(0x1b9)][_0x1aba8e(0x19c)]==='bff';adaptBffTarget(_0x53db13[_0x1aba8e(0x1b9)],_0x591c9c+'.target',_0x37d237),(_0x382094||isBffAction(_0x53db13))&&adaptFunctionNameField(_0x53db13,_0x591c9c,_0x37d237);}adaptResources(_0x115fa0[_0x1aba8e(0x1ab)],_0x1ac4f3+_0x1aba8e(0x1a9),_0x37d237);}}function adaptBffTarget(_0x2ef4dc,_0x43a52f,_0x2ce33e){const _0x7f095=a61_0x8424;if(!isObjectRecord(_0x2ef4dc)||_0x2ef4dc[_0x7f095(0x19c)]!==_0x7f095(0x19f))return;adaptFunctionNameField(_0x2ef4dc,_0x43a52f,_0x2ce33e);}function a61_0x2b6a(){const _0x270f38=['string','5153595lkJVFB','object','184WXnlSp','target','entries','1780722gGAFMj','653378IuyQjM','1343192VjQlDJ','324RsgpTZ','kind','.actions.','scriptName','bff','.scriptName','commands','hasOwnProperty','actions','$.resources','error','.functionName','forEach','trim','.resources','103383Xzowxj','resources','push','map','].target','call','2430292BSQXOB','bff.exec','985113CeWHtT','isArray','functionName'];a61_0x2b6a=function(){return _0x270f38;};return a61_0x2b6a();}function adaptFunctionNameField(_0x75f1e3,_0x575cd3,_0x17c237){const _0x20d523=a61_0x8424;Object['prototype'][_0x20d523(0x1a2)][_0x20d523(0x1af)](_0x75f1e3,_0x20d523(0x19e))&&_0x17c237[_0x20d523(0x1ac)]({'level':_0x20d523(0x1a5),'path':_0x575cd3+_0x20d523(0x1a0),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object['prototype'][_0x20d523(0x1a2)][_0x20d523(0x1af)](_0x75f1e3,'functionName')){if(typeof _0x75f1e3[_0x20d523(0x1b4)]!==_0x20d523(0x1b5)||!_0x75f1e3[_0x20d523(0x1b4)][_0x20d523(0x1a8)]()){_0x17c237['push']({'level':_0x20d523(0x1a5),'path':_0x575cd3+_0x20d523(0x1a6),'message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0x75f1e3[_0x20d523(0x1b4)];return;}_0x75f1e3[_0x20d523(0x19e)]=_0x75f1e3[_0x20d523(0x1b4)],delete _0x75f1e3[_0x20d523(0x1b4)];}}function isBffAction(_0x5db58d){const _0x3708f4=a61_0x8424;return _0x5db58d[_0x3708f4(0x19c)]===_0x3708f4(0x19f)||_0x5db58d['action']===_0x3708f4(0x1b1)||_0x5db58d['target']===_0x3708f4(0x1b1);}function cloneJsonValue(_0x2024be){const _0x1ec9e9=a61_0x8424;if(Array[_0x1ec9e9(0x1b3)](_0x2024be))return _0x2024be[_0x1ec9e9(0x1ad)](_0x5e4dc1=>cloneJsonValue(_0x5e4dc1));if(isObjectRecord(_0x2024be))return Object['fromEntries'](Object['entries'](_0x2024be)[_0x1ec9e9(0x1ad)](([_0x17cd5c,_0x36037e])=>[_0x17cd5c,cloneJsonValue(_0x36037e)]));return _0x2024be;}function isObjectRecord(_0xae9fbe){const _0x3e4e56=a61_0x8424;return Boolean(_0xae9fbe)&&typeof _0xae9fbe===_0x3e4e56(0x1b7)&&!Array[_0x3e4e56(0x1b3)](_0xae9fbe);}
@@ -1 +1 @@
1
- const a62_0x1cc49a=a62_0x42d7;(function(_0x3df0b7,_0x4a8645){const _0x2e1bf6=a62_0x42d7,_0x2648b3=_0x3df0b7();while(!![]){try{const _0x2e2e86=-parseInt(_0x2e1bf6(0x1ee))/0x1+-parseInt(_0x2e1bf6(0x1db))/0x2+-parseInt(_0x2e1bf6(0x1f9))/0x3+parseInt(_0x2e1bf6(0x227))/0x4*(-parseInt(_0x2e1bf6(0x223))/0x5)+parseInt(_0x2e1bf6(0x1f7))/0x6*(-parseInt(_0x2e1bf6(0x1ec))/0x7)+-parseInt(_0x2e1bf6(0x1f3))/0x8+parseInt(_0x2e1bf6(0x20e))/0x9*(parseInt(_0x2e1bf6(0x207))/0xa);if(_0x2e2e86===_0x4a8645)break;else _0x2648b3['push'](_0x2648b3['shift']());}catch(_0x485311){_0x2648b3['push'](_0x2648b3['shift']());}}}(a62_0x34fd,0xb4b7d));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a62_0x42d7(_0x5c3a52,_0x268471){_0x5c3a52=_0x5c3a52-0x1da;const _0x34fdb7=a62_0x34fd();let _0x42d7f0=_0x34fdb7[_0x5c3a52];return _0x42d7f0;}function a62_0x34fd(){const _0x254009=['registryPath','Removed\x20service\x20','30NiquLi','updated','95694ObiQZV','target','warnings','map','Imported\x20','detail','registryServiceCode','export','lower\x20kebab-case\x20service\x20code','string','service','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','manifest','cliPath','70JlRNFR','Local\x20service\x20not\x20found:\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','registryIndex','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','entry','Imported','5085855WkBuDn','type','validate','\x20service(s),\x20updated\x20','Service\x20Tree\x20manifest\x20file\x20path','filePath','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','registry','errors','required','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','str','Service\x20registry\x20validation\x20passed.','read','Exported\x20service\x20','reduce','WRITE','remove','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','hash','155SJPEsM','Service\x20manifest\x20validation\x20passed.','length','report','95528bqNzCV','\x20service\x20','810692gsjNIy','replaced','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','name','write','serviceCount','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','list','cliName','risk','normalizedManifest','version','\x20service(s).','manifests','imported','entries','source','890092bIyiWg','serviceCode','1002623dwrmwL','commands','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','kind','3195640HFPotq','file'];a62_0x34fd=function(){return _0x254009;};return a62_0x34fd();}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a62_0x1cc49a(0x1f4),'type':a62_0x1cc49a(0x202),'required':!![],'description':a62_0x1cc49a(0x212)},SERVICE_FLAG={'name':'service','type':a62_0x1cc49a(0x202),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0x1cc49a(0x201)}};function summarizeService(_0x1d488b){const _0x4ad943=a62_0x1cc49a;return{'serviceCode':_0x1d488b['serviceCode'],'name':_0x1d488b[_0x4ad943(0x1e5)][_0x4ad943(0x203)][_0x4ad943(0x1de)],'version':_0x1d488b['version'],'importedAt':_0x1d488b['importedAt'],'source':_0x1d488b[_0x4ad943(0x1eb)],'commandCount':_0x1d488b[_0x4ad943(0x1e5)][_0x4ad943(0x1ef)][_0x4ad943(0x225)],'commands':_0x1d488b[_0x4ad943(0x1e5)]['commands'][_0x4ad943(0x1fc)](_0x44bc15=>({'path':_0x44bc15['cliPath'],'description':_0x44bc15['description'],'risk':_0x44bc15['risk'],'target':toPublicServiceTreeTarget(_0x44bc15['target']),'flags':_0x44bc15['flags']['map'](_0x447572=>({'name':_0x447572[_0x4ad943(0x1de)],'cliName':_0x447572[_0x4ad943(0x1e3)],'type':_0x447572[_0x4ad943(0x20f)],'required':_0x447572[_0x4ad943(0x217)]===!![]}))}))};}function summarizeLoadedManifest(_0x2a3b07){const _0x150c21=a62_0x1cc49a;return{'service':_0x2a3b07[_0x150c21(0x1e5)]?.['service'],'version':_0x2a3b07['normalizedManifest']?.[_0x150c21(0x1e6)],'commandCount':_0x2a3b07['normalizedManifest']?.[_0x150c21(0x1ef)][_0x150c21(0x225)]??0x0,'commands':_0x2a3b07[_0x150c21(0x1e5)]?.[_0x150c21(0x1ef)][_0x150c21(0x1fc)](_0x38e633=>({'path':_0x38e633[_0x150c21(0x206)],'risk':_0x38e633[_0x150c21(0x1e4)],'target':toPublicServiceTreeTarget(_0x38e633[_0x150c21(0x1fa)])}))??[],'registryIndex':_0x2a3b07[_0x150c21(0x20a)],'registryServiceCode':_0x2a3b07[_0x150c21(0x1ff)],'errors':_0x2a3b07[_0x150c21(0x226)][_0x150c21(0x216)],'warnings':_0x2a3b07[_0x150c21(0x226)][_0x150c21(0x1fb)]};}export const serviceDefinitions=[{'service':'service','command':a62_0x1cc49a(0x210),'description':a62_0x1cc49a(0x220),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0xe0ce4e){const _0x4f0f06=a62_0x1cc49a,_0xfebfc8=loadServiceManifestFromFile(_0xe0ce4e[_0x4f0f06(0x219)]('file'));if(!_0xfebfc8[_0x4f0f06(0x226)]['ok'])return{'ok':![],'data':{'file':_0xfebfc8[_0x4f0f06(0x213)],'hash':_0xfebfc8[_0x4f0f06(0x222)],'kind':_0xfebfc8[_0x4f0f06(0x1f2)],'serviceCount':_0xfebfc8[_0x4f0f06(0x1e8)]['length'],'services':_0xfebfc8['manifests']['map'](summarizeLoadedManifest),'errors':_0xfebfc8[_0x4f0f06(0x226)]['errors'],'warnings':_0xfebfc8['report'][_0x4f0f06(0x1fb)]},'message':formatValidationFailure(_0xfebfc8[_0x4f0f06(0x226)])};if(_0xfebfc8[_0x4f0f06(0x1f2)]===_0x4f0f06(0x215)||_0xfebfc8['manifests'][_0x4f0f06(0x225)]!==0x1)return{'ok':!![],'data':{'file':_0xfebfc8[_0x4f0f06(0x213)],'hash':_0xfebfc8[_0x4f0f06(0x222)],'kind':_0xfebfc8[_0x4f0f06(0x1f2)],'serviceCount':_0xfebfc8[_0x4f0f06(0x1e8)][_0x4f0f06(0x225)],'commandCount':_0xfebfc8['manifests'][_0x4f0f06(0x21d)]((_0x18be9d,_0x1731e3)=>_0x18be9d+(_0x1731e3[_0x4f0f06(0x1e5)]?.[_0x4f0f06(0x1ef)]['length']??0x0),0x0),'services':_0xfebfc8[_0x4f0f06(0x1e8)][_0x4f0f06(0x1fc)](summarizeLoadedManifest),'warnings':_0xfebfc8[_0x4f0f06(0x226)][_0x4f0f06(0x1fb)]},'message':_0x4f0f06(0x21a)};return{'ok':!![],'data':{'file':_0xfebfc8[_0x4f0f06(0x213)],'hash':_0xfebfc8[_0x4f0f06(0x222)],'kind':_0xfebfc8[_0x4f0f06(0x1f2)],'service':_0xfebfc8[_0x4f0f06(0x1e5)]?.[_0x4f0f06(0x203)],'version':_0xfebfc8['normalizedManifest']?.[_0x4f0f06(0x1e6)],'commandCount':_0xfebfc8[_0x4f0f06(0x1e5)]?.[_0x4f0f06(0x1ef)][_0x4f0f06(0x225)]??0x0,'commands':_0xfebfc8['normalizedManifest']?.['commands']['map'](_0x1992cb=>({'path':_0x1992cb[_0x4f0f06(0x206)],'risk':_0x1992cb[_0x4f0f06(0x1e4)],'target':toPublicServiceTreeTarget(_0x1992cb[_0x4f0f06(0x1fa)])})),'warnings':_0xfebfc8['report'][_0x4f0f06(0x1fb)]},'message':_0x4f0f06(0x224)};}},{'service':a62_0x1cc49a(0x203),'command':'import','description':a62_0x1cc49a(0x209),'risk':a62_0x1cc49a(0x1df),'confirmationDescription':a62_0x1cc49a(0x20b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1181f4){const _0x2ced75=a62_0x1cc49a,_0x4d10a3=loadServiceManifestFromFile(_0x1181f4[_0x2ced75(0x219)]('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x4d10a3[_0x2ced75(0x213)],'hash':_0x4d10a3[_0x2ced75(0x222)],'kind':_0x4d10a3[_0x2ced75(0x1f2)],'ok':_0x4d10a3[_0x2ced75(0x226)]['ok'],'service':_0x4d10a3['normalizedManifest']?.[_0x2ced75(0x203)],'version':_0x4d10a3[_0x2ced75(0x1e5)]?.[_0x2ced75(0x1e6)],'serviceCount':_0x4d10a3['manifests'][_0x2ced75(0x225)],'services':_0x4d10a3['manifests']['map'](_0x438c63=>({'service':_0x438c63['normalizedManifest']?.[_0x2ced75(0x203)],'version':_0x438c63[_0x2ced75(0x1e5)]?.['version'],'commandCount':_0x438c63[_0x2ced75(0x1e5)]?.[_0x2ced75(0x1ef)][_0x2ced75(0x225)]??0x0,'errors':_0x438c63[_0x2ced75(0x226)][_0x2ced75(0x216)]})),'errors':_0x4d10a3[_0x2ced75(0x226)][_0x2ced75(0x216)],'commandCount':_0x4d10a3[_0x2ced75(0x1e5)]?.[_0x2ced75(0x1ef)][_0x2ced75(0x225)]??0x0},'description':_0x2ced75(0x1dd)};},async 'execute'(_0x277692){const _0x35ce27=a62_0x1cc49a,_0x3ea574=importServiceManifest(_0x277692['str']('file'));if(_0x3ea574[_0x35ce27(0x1ea)][_0x35ce27(0x225)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x3ea574[_0x35ce27(0x1f5)],'imported':_0x3ea574['imported'],'updated':_0x3ea574[_0x35ce27(0x1f8)],'serviceCount':_0x3ea574[_0x35ce27(0x1e0)],'services':_0x3ea574['entries'][_0x35ce27(0x1fc)](summarizeService)},'message':_0x35ce27(0x1fd)+_0x3ea574['imported']+_0x35ce27(0x211)+_0x3ea574[_0x35ce27(0x1f8)]+_0x35ce27(0x1e7)};return{'ok':!![],'data':{'registryPath':_0x3ea574[_0x35ce27(0x1f5)],'replaced':_0x3ea574[_0x35ce27(0x1dc)],'imported':_0x3ea574[_0x35ce27(0x1e9)],'updated':_0x3ea574['updated'],'serviceCount':_0x3ea574[_0x35ce27(0x1e0)],'service':summarizeService(_0x3ea574[_0x35ce27(0x20c)])},'message':(_0x3ea574[_0x35ce27(0x1dc)]?'Updated':_0x35ce27(0x20d))+_0x35ce27(0x1da)+_0x3ea574['entry'][_0x35ce27(0x1ed)]+'.'};}},{'service':a62_0x1cc49a(0x203),'command':a62_0x1cc49a(0x200),'description':a62_0x1cc49a(0x1f1),'risk':'write','confirmationDescription':a62_0x1cc49a(0x218),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x3b7e61){const _0x5617c7=a62_0x1cc49a,_0x6ef62c=getLocalServiceEntry(_0x3b7e61[_0x5617c7(0x219)]('service'));return{'method':_0x5617c7(0x21e),'url':_0x3b7e61[_0x5617c7(0x219)]('file'),'body':{'service':_0x3b7e61[_0x5617c7(0x219)](_0x5617c7(0x203)),'found':Boolean(_0x6ef62c),'version':_0x6ef62c?.[_0x5617c7(0x1e6)],'source':_0x6ef62c?.[_0x5617c7(0x1eb)]},'description':_0x5617c7(0x221)};},async 'execute'(_0x1a6b84){const _0x33c3d7=a62_0x1cc49a,_0x26f24b=exportServiceManifest(_0x1a6b84['str']('service'),_0x1a6b84[_0x33c3d7(0x219)](_0x33c3d7(0x1f4)));return{'ok':!![],'data':{'registryPath':_0x26f24b[_0x33c3d7(0x1f5)],'file':_0x26f24b[_0x33c3d7(0x213)],'service':summarizeService(_0x26f24b[_0x33c3d7(0x20c)])},'message':_0x33c3d7(0x21c)+_0x26f24b[_0x33c3d7(0x20c)]['serviceCode']+'.'};}},{'service':'service','command':a62_0x1cc49a(0x1e2),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x567b6d=a62_0x1cc49a,_0x5c7694=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x5c7694[_0x567b6d(0x225)],'services':_0x5c7694[_0x567b6d(0x1fc)](summarizeService)}};}},{'service':a62_0x1cc49a(0x203),'command':a62_0x1cc49a(0x21f),'description':a62_0x1cc49a(0x1f0),'risk':a62_0x1cc49a(0x1df),'confirmationDescription':a62_0x1cc49a(0x214),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x33b125){const _0x1386da=a62_0x1cc49a,_0x1c353f=getLocalServiceEntry(_0x33b125[_0x1386da(0x219)](_0x1386da(0x203)));return{'method':_0x1386da(0x21e),'url':getServiceRegistryPath(),'body':{'service':_0x33b125[_0x1386da(0x219)](_0x1386da(0x203)),'found':Boolean(_0x1c353f),'version':_0x1c353f?.[_0x1386da(0x1e6)],'source':_0x1c353f?.[_0x1386da(0x1eb)]},'description':_0x1386da(0x204)};},async 'execute'(_0x2b8d7a){const _0x161cec=a62_0x1cc49a,_0x52b1e1=removeServiceManifest(_0x2b8d7a[_0x161cec(0x219)]('service'));return{'ok':!![],'data':{'registryPath':_0x52b1e1[_0x161cec(0x1f5)],'serviceCount':_0x52b1e1[_0x161cec(0x1e0)],'service':summarizeService(_0x52b1e1[_0x161cec(0x20c)])},'message':_0x161cec(0x1f6)+_0x52b1e1[_0x161cec(0x20c)][_0x161cec(0x1ed)]+'.'};}},{'service':a62_0x1cc49a(0x203),'command':a62_0x1cc49a(0x1fe),'description':a62_0x1cc49a(0x1e1),'risk':a62_0x1cc49a(0x21b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x106ae6){const _0x23f397=a62_0x1cc49a,_0x3b94c2=getLocalServiceEntry(_0x106ae6[_0x23f397(0x219)](_0x23f397(0x203)));if(!_0x3b94c2)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x106ae6[_0x23f397(0x219)](_0x23f397(0x203))},'message':_0x23f397(0x208)+_0x106ae6[_0x23f397(0x219)](_0x23f397(0x203))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3b94c2),'manifest':_0x3b94c2[_0x23f397(0x205)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3b94c2[_0x23f397(0x1e5)])}};}}];
1
+ const a62_0x466038=a62_0x365e;(function(_0x388d6f,_0x5632d1){const _0x88377a=a62_0x365e,_0x3a0c89=_0x388d6f();while(!![]){try{const _0x5916cb=parseInt(_0x88377a(0x18d))/0x1*(parseInt(_0x88377a(0x1ac))/0x2)+-parseInt(_0x88377a(0x1b6))/0x3*(-parseInt(_0x88377a(0x1b5))/0x4)+-parseInt(_0x88377a(0x1bc))/0x5*(-parseInt(_0x88377a(0x199))/0x6)+-parseInt(_0x88377a(0x190))/0x7*(-parseInt(_0x88377a(0x1b3))/0x8)+parseInt(_0x88377a(0x194))/0x9*(parseInt(_0x88377a(0x17c))/0xa)+-parseInt(_0x88377a(0x1a6))/0xb+-parseInt(_0x88377a(0x18a))/0xc*(parseInt(_0x88377a(0x1af))/0xd);if(_0x5916cb===_0x5632d1)break;else _0x3a0c89['push'](_0x3a0c89['shift']());}catch(_0x59d21e){_0x3a0c89['push'](_0x3a0c89['shift']());}}}(a62_0x46c5,0x25d11));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';function a62_0x365e(_0x141eaa,_0x5dae94){_0x141eaa=_0x141eaa-0x17b;const _0x46c59f=a62_0x46c5();let _0x365e19=_0x46c59f[_0x141eaa];return _0x365e19;}const FILE_FLAG={'name':a62_0x466038(0x1c5),'type':a62_0x466038(0x195),'required':!![],'description':a62_0x466038(0x1a5)},SERVICE_FLAG={'name':'service','type':a62_0x466038(0x195),'required':!![],'description':a62_0x466038(0x1c2),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0x466038(0x19e)}};function summarizeService(_0xd5bfc3){const _0xdb4f04=a62_0x466038;return{'serviceCode':_0xd5bfc3[_0xdb4f04(0x1c0)],'name':_0xd5bfc3[_0xdb4f04(0x191)][_0xdb4f04(0x1bd)]['name'],'version':_0xd5bfc3[_0xdb4f04(0x19a)],'importedAt':_0xd5bfc3[_0xdb4f04(0x181)],'source':_0xd5bfc3[_0xdb4f04(0x186)],'commandCount':_0xd5bfc3[_0xdb4f04(0x191)][_0xdb4f04(0x1c3)][_0xdb4f04(0x196)],'commands':_0xd5bfc3[_0xdb4f04(0x191)][_0xdb4f04(0x1c3)][_0xdb4f04(0x1a7)](_0xa19b9a=>({'path':_0xa19b9a['cliPath'],'description':_0xa19b9a[_0xdb4f04(0x187)],'risk':_0xa19b9a[_0xdb4f04(0x1a0)],'target':toPublicServiceTreeTarget(_0xa19b9a[_0xdb4f04(0x1aa)]),'flags':_0xa19b9a[_0xdb4f04(0x1c1)][_0xdb4f04(0x1a7)](_0x155d0c=>({'name':_0x155d0c['name'],'cliName':_0x155d0c[_0xdb4f04(0x18c)],'type':_0x155d0c[_0xdb4f04(0x189)],'required':_0x155d0c[_0xdb4f04(0x1b7)]===!![]}))}))};}function summarizeLoadedManifest(_0x255013){const _0x4c47ab=a62_0x466038;return{'service':_0x255013[_0x4c47ab(0x191)]?.[_0x4c47ab(0x1bd)],'version':_0x255013[_0x4c47ab(0x191)]?.['version'],'commandCount':_0x255013[_0x4c47ab(0x191)]?.[_0x4c47ab(0x1c3)][_0x4c47ab(0x196)]??0x0,'commands':_0x255013[_0x4c47ab(0x191)]?.[_0x4c47ab(0x1c3)][_0x4c47ab(0x1a7)](_0x43574f=>({'path':_0x43574f[_0x4c47ab(0x1a2)],'risk':_0x43574f[_0x4c47ab(0x1a0)],'target':toPublicServiceTreeTarget(_0x43574f[_0x4c47ab(0x1aa)])}))??[],'registryIndex':_0x255013['registryIndex'],'registryServiceCode':_0x255013['registryServiceCode'],'errors':_0x255013[_0x4c47ab(0x17b)][_0x4c47ab(0x182)],'warnings':_0x255013[_0x4c47ab(0x17b)][_0x4c47ab(0x180)]};}export const serviceDefinitions=[{'service':a62_0x466038(0x1bd),'command':'validate','description':a62_0x466038(0x1a4),'risk':a62_0x466038(0x19b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3abef9){const _0x41951b=a62_0x466038,_0x17a3d4=loadServiceManifestFromFile(_0x3abef9[_0x41951b(0x17d)]('file'));if(!_0x17a3d4[_0x41951b(0x17b)]['ok'])return{'ok':![],'data':{'file':_0x17a3d4[_0x41951b(0x1bf)],'hash':_0x17a3d4[_0x41951b(0x192)],'kind':_0x17a3d4[_0x41951b(0x1b8)],'serviceCount':_0x17a3d4[_0x41951b(0x1b4)]['length'],'services':_0x17a3d4['manifests'][_0x41951b(0x1a7)](summarizeLoadedManifest),'errors':_0x17a3d4[_0x41951b(0x17b)][_0x41951b(0x182)],'warnings':_0x17a3d4[_0x41951b(0x17b)][_0x41951b(0x180)]},'message':formatValidationFailure(_0x17a3d4[_0x41951b(0x17b)])};if(_0x17a3d4[_0x41951b(0x1b8)]===_0x41951b(0x17e)||_0x17a3d4[_0x41951b(0x1b4)][_0x41951b(0x196)]!==0x1)return{'ok':!![],'data':{'file':_0x17a3d4[_0x41951b(0x1bf)],'hash':_0x17a3d4[_0x41951b(0x192)],'kind':_0x17a3d4[_0x41951b(0x1b8)],'serviceCount':_0x17a3d4[_0x41951b(0x1b4)][_0x41951b(0x196)],'commandCount':_0x17a3d4[_0x41951b(0x1b4)][_0x41951b(0x1a8)]((_0x2b1c20,_0x5ef4cc)=>_0x2b1c20+(_0x5ef4cc[_0x41951b(0x191)]?.['commands'][_0x41951b(0x196)]??0x0),0x0),'services':_0x17a3d4[_0x41951b(0x1b4)]['map'](summarizeLoadedManifest),'warnings':_0x17a3d4[_0x41951b(0x17b)][_0x41951b(0x180)]},'message':_0x41951b(0x184)};return{'ok':!![],'data':{'file':_0x17a3d4[_0x41951b(0x1bf)],'hash':_0x17a3d4[_0x41951b(0x192)],'kind':_0x17a3d4[_0x41951b(0x1b8)],'service':_0x17a3d4[_0x41951b(0x191)]?.[_0x41951b(0x1bd)],'version':_0x17a3d4['normalizedManifest']?.['version'],'commandCount':_0x17a3d4[_0x41951b(0x191)]?.[_0x41951b(0x1c3)]['length']??0x0,'commands':_0x17a3d4['normalizedManifest']?.[_0x41951b(0x1c3)][_0x41951b(0x1a7)](_0x13355d=>({'path':_0x13355d['cliPath'],'risk':_0x13355d[_0x41951b(0x1a0)],'target':toPublicServiceTreeTarget(_0x13355d['target'])})),'warnings':_0x17a3d4[_0x41951b(0x17b)][_0x41951b(0x180)]},'message':_0x41951b(0x197)};}},{'service':a62_0x466038(0x1bd),'command':a62_0x466038(0x19c),'description':a62_0x466038(0x18e),'risk':a62_0x466038(0x1b9),'confirmationDescription':a62_0x466038(0x1ad),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x54d65c){const _0x456f30=a62_0x466038,_0x18568e=loadServiceManifestFromFile(_0x54d65c[_0x456f30(0x17d)]('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x18568e[_0x456f30(0x1bf)],'hash':_0x18568e[_0x456f30(0x192)],'kind':_0x18568e[_0x456f30(0x1b8)],'ok':_0x18568e[_0x456f30(0x17b)]['ok'],'service':_0x18568e['normalizedManifest']?.[_0x456f30(0x1bd)],'version':_0x18568e[_0x456f30(0x191)]?.[_0x456f30(0x19a)],'serviceCount':_0x18568e[_0x456f30(0x1b4)][_0x456f30(0x196)],'services':_0x18568e[_0x456f30(0x1b4)][_0x456f30(0x1a7)](_0x31bf42=>({'service':_0x31bf42[_0x456f30(0x191)]?.['service'],'version':_0x31bf42[_0x456f30(0x191)]?.[_0x456f30(0x19a)],'commandCount':_0x31bf42['normalizedManifest']?.[_0x456f30(0x1c3)][_0x456f30(0x196)]??0x0,'errors':_0x31bf42['report'][_0x456f30(0x182)]})),'errors':_0x18568e[_0x456f30(0x17b)][_0x456f30(0x182)],'commandCount':_0x18568e[_0x456f30(0x191)]?.['commands'][_0x456f30(0x196)]??0x0},'description':_0x456f30(0x183)};},async 'execute'(_0xc3d0d5){const _0x24ad66=a62_0x466038,_0x352a41=importServiceManifest(_0xc3d0d5['str'](_0x24ad66(0x1c5)));if(_0x352a41[_0x24ad66(0x185)][_0x24ad66(0x196)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x352a41[_0x24ad66(0x19f)],'imported':_0x352a41[_0x24ad66(0x17f)],'updated':_0x352a41[_0x24ad66(0x18b)],'serviceCount':_0x352a41[_0x24ad66(0x1b0)],'services':_0x352a41[_0x24ad66(0x185)][_0x24ad66(0x1a7)](summarizeService)},'message':_0x24ad66(0x1c8)+_0x352a41[_0x24ad66(0x17f)]+'\x20service(s),\x20updated\x20'+_0x352a41[_0x24ad66(0x18b)]+_0x24ad66(0x1be)};return{'ok':!![],'data':{'registryPath':_0x352a41[_0x24ad66(0x19f)],'replaced':_0x352a41[_0x24ad66(0x18f)],'imported':_0x352a41['imported'],'updated':_0x352a41['updated'],'serviceCount':_0x352a41[_0x24ad66(0x1b0)],'service':summarizeService(_0x352a41[_0x24ad66(0x1a3)])},'message':(_0x352a41[_0x24ad66(0x18f)]?_0x24ad66(0x1ae):'Imported')+_0x24ad66(0x1a1)+_0x352a41['entry'][_0x24ad66(0x1c0)]+'.'};}},{'service':a62_0x466038(0x1bd),'command':a62_0x466038(0x1c4),'description':a62_0x466038(0x1c6),'risk':'write','confirmationDescription':a62_0x466038(0x1b2),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4e8ff5){const _0xdd679=a62_0x466038,_0x4f75f4=getLocalServiceEntry(_0x4e8ff5[_0xdd679(0x17d)](_0xdd679(0x1bd)));return{'method':_0xdd679(0x193),'url':_0x4e8ff5[_0xdd679(0x17d)](_0xdd679(0x1c5)),'body':{'service':_0x4e8ff5[_0xdd679(0x17d)](_0xdd679(0x1bd)),'found':Boolean(_0x4f75f4),'version':_0x4f75f4?.['version'],'source':_0x4f75f4?.[_0xdd679(0x186)]},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0xe95414){const _0x1bc1eb=a62_0x466038,_0x1cf021=exportServiceManifest(_0xe95414[_0x1bc1eb(0x17d)]('service'),_0xe95414[_0x1bc1eb(0x17d)](_0x1bc1eb(0x1c5)));return{'ok':!![],'data':{'registryPath':_0x1cf021[_0x1bc1eb(0x19f)],'file':_0x1cf021[_0x1bc1eb(0x1bf)],'service':summarizeService(_0x1cf021['entry'])},'message':_0x1bc1eb(0x19d)+_0x1cf021[_0x1bc1eb(0x1a3)][_0x1bc1eb(0x1c0)]+'.'};}},{'service':a62_0x466038(0x1bd),'command':a62_0x466038(0x1bb),'description':a62_0x466038(0x198),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x13179e=a62_0x466038,_0x1bf0ec=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1bf0ec[_0x13179e(0x196)],'services':_0x1bf0ec[_0x13179e(0x1a7)](summarizeService)}};}},{'service':a62_0x466038(0x1bd),'command':a62_0x466038(0x1a9),'description':a62_0x466038(0x1c7),'risk':'write','confirmationDescription':'Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x40a6a5){const _0x3ac23f=a62_0x466038,_0x3184a2=getLocalServiceEntry(_0x40a6a5[_0x3ac23f(0x17d)](_0x3ac23f(0x1bd)));return{'method':_0x3ac23f(0x193),'url':getServiceRegistryPath(),'body':{'service':_0x40a6a5[_0x3ac23f(0x17d)](_0x3ac23f(0x1bd)),'found':Boolean(_0x3184a2),'version':_0x3184a2?.[_0x3ac23f(0x19a)],'source':_0x3184a2?.['source']},'description':_0x3ac23f(0x1ab)};},async 'execute'(_0x1bf287){const _0x4946bb=a62_0x466038,_0x5649c4=removeServiceManifest(_0x1bf287['str']('service'));return{'ok':!![],'data':{'registryPath':_0x5649c4['registryPath'],'serviceCount':_0x5649c4[_0x4946bb(0x1b0)],'service':summarizeService(_0x5649c4['entry'])},'message':_0x4946bb(0x1c9)+_0x5649c4[_0x4946bb(0x1a3)][_0x4946bb(0x1c0)]+'.'};}},{'service':a62_0x466038(0x1bd),'command':a62_0x466038(0x188),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x776882){const _0x574a66=a62_0x466038,_0x4d7583=getLocalServiceEntry(_0x776882['str'](_0x574a66(0x1bd)));if(!_0x4d7583)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x776882['str'](_0x574a66(0x1bd))},'message':_0x574a66(0x1b1)+_0x776882[_0x574a66(0x17d)](_0x574a66(0x1bd))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x4d7583),'manifest':_0x4d7583[_0x574a66(0x1ba)],'normalizedManifest':toPublicNormalizedServiceTree(_0x4d7583[_0x574a66(0x191)])}};}}];function a62_0x46c5(){const _0x4d431d=['description','detail','type','36Sfmopd','updated','cliName','8324PoOlqf','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','replaced','140YanYHZ','normalizedManifest','hash','WRITE','27fWrtHx','string','length','Service\x20manifest\x20validation\x20passed.','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','25338UfQFwd','version','read','import','Exported\x20service\x20','lower\x20kebab-case\x20service\x20code','registryPath','risk','\x20service\x20','cliPath','entry','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Service\x20Tree\x20manifest\x20file\x20path','393613hPYMzN','map','reduce','remove','target','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','12DMqMBV','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','Updated','1847963ZcQZJD','serviceCount','Local\x20service\x20not\x20found:\x20','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','72456eSasmF','manifests','76yOpsHh','40305AnvhtK','required','kind','write','manifest','list','125bsXkXB','service','\x20service(s).','filePath','serviceCode','flags','Local\x20service\x20code,\x20for\x20example\x20crm','commands','export','file','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Imported\x20','Removed\x20service\x20','report','84030lihBYp','str','registry','imported','warnings','importedAt','errors','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20registry\x20validation\x20passed.','entries','source'];a62_0x46c5=function(){return _0x4d431d;};return a62_0x46c5();}
@@ -1 +1 @@
1
- const a63_0x4c31e3=a63_0x15aa;(function(_0x3856e5,_0x530a8c){const _0x28fbf8=a63_0x15aa,_0x1948af=_0x3856e5();while(!![]){try{const _0x158562=parseInt(_0x28fbf8(0x1ad))/0x1+parseInt(_0x28fbf8(0x195))/0x2*(parseInt(_0x28fbf8(0x1d1))/0x3)+-parseInt(_0x28fbf8(0x1c3))/0x4+-parseInt(_0x28fbf8(0x1a9))/0x5+-parseInt(_0x28fbf8(0x18e))/0x6+-parseInt(_0x28fbf8(0x1a8))/0x7+parseInt(_0x28fbf8(0x188))/0x8;if(_0x158562===_0x530a8c)break;else _0x1948af['push'](_0x1948af['shift']());}catch(_0x54f456){_0x1948af['push'](_0x1948af['shift']());}}}(a63_0x5313,0xd179b));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a63_0x4c31e3(0x1cf);function a63_0x15aa(_0x339841,_0x2b2b4e){_0x339841=_0x339841-0x181;const _0x5313e7=a63_0x5313();let _0x15aa35=_0x5313e7[_0x339841];return _0x15aa35;}export function getServiceRegistryPath(_0x43bc0f={}){const _0x3a28dc=a63_0x4c31e3;return resolve(_0x43bc0f[_0x3a28dc(0x192)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3486f1={}){const _0xe1fbc0=a63_0x4c31e3,_0x1e44cf=getServiceRegistryPath(_0x3486f1);if(!existsSync(_0x1e44cf))return emptyServiceRegistry();try{const _0x362902=readFileSync(_0x1e44cf,_0xe1fbc0(0x1bf));if(!_0x362902[_0xe1fbc0(0x190)]())return emptyServiceRegistry();const _0x5df800=JSON[_0xe1fbc0(0x186)](_0x362902);if(_0x5df800[_0xe1fbc0(0x1be)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0xe1fbc0(0x198)](_0xe1fbc0(0x1c5)+String(_0x5df800[_0xe1fbc0(0x1be)]),_0xe1fbc0(0x1c1)+_0x1e44cf+'.');if(!Array[_0xe1fbc0(0x1c9)](_0x5df800['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5df800[_0xe1fbc0(0x1d3)],'services':_0x5df800[_0xe1fbc0(0x193)]};}catch(_0x487afd){if(_0x487afd instanceof Error&&_0x487afd[_0xe1fbc0(0x1bc)]===_0xe1fbc0(0x19d))throw _0x487afd;throw CliErrors[_0xe1fbc0(0x198)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x1e44cf,_0xe1fbc0(0x1b6));}}export function writeServiceRegistry(_0x5bd21d,_0x128874={}){const _0x549db6=a63_0x4c31e3,_0x4f778b=getServiceRegistryPath(_0x128874),_0x2115de=dirname(_0x4f778b);!existsSync(_0x2115de)&&mkdirSync(_0x2115de,{'recursive':!![]});const _0xdb786b=_0x4f778b+_0x549db6(0x183);try{writeFileSync(_0xdb786b,JSON[_0x549db6(0x1ab)](_0x5bd21d,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0xdb786b,_0x4f778b);}catch(_0x484ddf){try{unlinkSync(_0xdb786b);}catch{}if(_0x484ddf?.[_0x549db6(0x1aa)]===_0x549db6(0x18c))throw CliErrors[_0x549db6(0x198)](_0x549db6(0x1b4)+_0x4f778b);throw _0x484ddf;}return _0x4f778b;}export function loadServiceManifestFromFile(_0x5aa9b4){const _0x1f1eba=a63_0x4c31e3,_0x120206=resolve(_0x5aa9b4);if(!existsSync(_0x120206))throw CliErrors['validation'](_0x1f1eba(0x1a7)+_0x5aa9b4);let _0x1f6b53;const _0x1de50a=readFileSync(_0x120206,'utf8');try{_0x1f6b53=JSON[_0x1f1eba(0x186)](_0x1de50a);}catch{throw CliErrors['validation'](_0x1f1eba(0x191)+_0x5aa9b4,_0x1f1eba(0x187));}const _0x2c9a16=sha256(_0x1de50a),_0x4b9182=extractLoadedServiceManifests(_0x1f6b53,_0x2c9a16),_0x36316c=aggregateValidationReports(_0x4b9182),_0x3a6cf3=_0x4b9182[0x0];return{'filePath':_0x120206,'hash':_0x2c9a16,'kind':isServiceRegistryLike(_0x1f6b53)?_0x1f1eba(0x1cd):_0x1f1eba(0x1a4),'manifest':_0x3a6cf3?.['manifest']??_0x1f6b53,'report':_0x36316c,'normalizedManifest':_0x4b9182['length']===0x1?_0x3a6cf3?.[_0x1f1eba(0x1a0)]:undefined,'manifests':_0x4b9182};}export function importServiceManifest(_0x3dd967,_0x3c64dd={}){const _0x2ff746=a63_0x4c31e3,_0x45cc70=loadServiceManifestFromFile(_0x3dd967);if(!_0x45cc70[_0x2ff746(0x1a2)]['ok'])throw CliErrors[_0x2ff746(0x198)](formatValidationFailure(_0x45cc70['report']),_0x2ff746(0x185));if(_0x45cc70[_0x2ff746(0x1b0)]['length']===0x0)throw CliErrors['validation'](_0x2ff746(0x18b),_0x2ff746(0x1ca));const _0x4c437f=readServiceRegistry(_0x3c64dd),_0x40c6a=(_0x3c64dd['now']??(()=>new Date()))()[_0x2ff746(0x1b5)](),_0x1e0b49=[];let _0x523f35=0x0,_0xa42674=0x0;for(const _0x35f3b6 of _0x45cc70[_0x2ff746(0x1b0)]){if(!_0x35f3b6[_0x2ff746(0x1a0)])continue;const _0x146327=_0x35f3b6[_0x2ff746(0x1a0)][_0x2ff746(0x1a5)]['code'],_0x520d30={'serviceCode':_0x146327,'version':_0x35f3b6['normalizedManifest'][_0x2ff746(0x1c2)],'importedAt':_0x40c6a,'source':{'type':_0x2ff746(0x18d),'path':_0x45cc70['filePath'],'hash':_0x35f3b6[_0x2ff746(0x184)]},'manifest':_0x35f3b6['manifest'],'normalizedManifest':_0x35f3b6[_0x2ff746(0x1a0)]},_0x4d1ce5=_0x4c437f[_0x2ff746(0x193)][_0x2ff746(0x1d0)](_0x382fcb=>_0x382fcb[_0x2ff746(0x182)]===_0x146327);_0x4d1ce5>=0x0?(_0x4c437f['services'][_0x4d1ce5]=_0x520d30,_0xa42674++):(_0x4c437f[_0x2ff746(0x193)][_0x2ff746(0x1cc)](_0x520d30),_0x523f35++),_0x1e0b49[_0x2ff746(0x1cc)](_0x520d30);}_0x4c437f[_0x2ff746(0x193)][_0x2ff746(0x18a)]((_0x5029e2,_0x56018b)=>_0x5029e2[_0x2ff746(0x182)][_0x2ff746(0x1bb)](_0x56018b[_0x2ff746(0x182)])),_0x4c437f[_0x2ff746(0x1d3)]=_0x40c6a;const _0x351f56=writeServiceRegistry(_0x4c437f,_0x3c64dd);return{'registryPath':_0x351f56,'entry':_0x1e0b49[0x0],'replaced':_0x1e0b49[_0x2ff746(0x1b1)]===0x1?_0xa42674===0x1:_0xa42674>0x0,'entries':_0x1e0b49,'imported':_0x523f35,'updated':_0xa42674,'serviceCount':_0x4c437f['services']['length']};}function a63_0x5313(){const _0x42076b=['sort','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','ENOENT','file','5874972KkJwFc','importedAt','trim','Invalid\x20service\x20manifest\x20JSON:\x20','homeDir','services','kind','1978DALsvU','join','risk','validation','commandCount','path','slice','].manifest.','CliError','Service\x20manifest\x20validation\x20failed:\x0a','startsWith','normalizedManifest','sha256','report','registryIndex','manifest','service','hex','Service\x20manifest\x20file\x20not\x20found:\x20','4543126tZumhx','4133125AuIzDl','code','stringify','flatMap','1367198QkXmxd','message','invalid','manifests','length','bff\x20target\x20requires\x20functionName.','find','Cannot\x20write\x20service\x20registry:\x20','toISOString','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','errors','source','commands','services\x20must\x20be\x20an\x20array','localeCompare','name','$.services[','schemaVersion','utf8','string','Remove\x20or\x20migrate\x20','version','4012332rIvxIQ','empty','Unsupported\x20service\x20registry\x20schemaVersion:\x20','warnings','target','].manifest','isArray','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','command','push','registry','map','service.json','findIndex','3723fABtNp','description','updatedAt','splice','serviceCode','.tmp','sourceHash','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','parse','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','13770816lwqSGW','cliPath'];a63_0x5313=function(){return _0x42076b;};return a63_0x5313();}export function exportServiceManifest(_0x2b2a96,_0x43659e,_0x422986={}){const _0x292e87=a63_0x4c31e3,_0x19da03=getServiceRegistryPath(_0x422986),_0x25675e=getLocalServiceEntry(_0x2b2a96,_0x422986);if(!_0x25675e)throw CliErrors[_0x292e87(0x198)]('Local\x20service\x20not\x20found:\x20'+_0x2b2a96,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x146d56=resolve(_0x43659e),_0x41c292=dirname(_0x146d56);return!existsSync(_0x41c292)&&mkdirSync(_0x41c292,{'recursive':!![]}),writeFileSync(_0x146d56,JSON[_0x292e87(0x1ab)](_0x25675e[_0x292e87(0x1a4)],null,0x2)+'\x0a',{'encoding':_0x292e87(0x1bf),'mode':0x180}),{'registryPath':_0x19da03,'filePath':_0x146d56,'entry':_0x25675e};}export function removeServiceManifest(_0x13a1bb,_0x344e5f={}){const _0xb972e2=a63_0x4c31e3,_0x399c0a=readServiceRegistry(_0x344e5f),_0x4ae5dc=_0x13a1bb[_0xb972e2(0x190)](),_0x246c88=_0x399c0a[_0xb972e2(0x193)]['findIndex'](_0x491baf=>_0x491baf[_0xb972e2(0x182)]===_0x4ae5dc);if(_0x246c88<0x0)throw CliErrors[_0xb972e2(0x198)]('Local\x20service\x20not\x20found:\x20'+_0x4ae5dc,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x174aa8]=_0x399c0a[_0xb972e2(0x193)][_0xb972e2(0x181)](_0x246c88,0x1),_0x7fada9=(_0x344e5f['now']??(()=>new Date()))()[_0xb972e2(0x1b5)]();_0x399c0a[_0xb972e2(0x1d3)]=_0x7fada9;const _0x209bd8=writeServiceRegistry(_0x399c0a,_0x344e5f);return{'registryPath':_0x209bd8,'entry':_0x174aa8,'serviceCount':_0x399c0a['services'][_0xb972e2(0x1b1)]};}export function listLocalServices(_0x56a01d={}){const _0x63fabd=a63_0x4c31e3;return readServiceRegistry(_0x56a01d)[_0x63fabd(0x193)];}export function getLocalServiceEntry(_0x594a0f,_0x40876d={}){const _0x58ee84=a63_0x4c31e3;return readServiceRegistry(_0x40876d)[_0x58ee84(0x193)][_0x58ee84(0x1b3)](_0x4cb568=>_0x4cb568[_0x58ee84(0x182)]===_0x594a0f['trim']());}export function listLocalServiceTrees(_0x4110ba={}){const _0x5f5b74=a63_0x4c31e3;return readServiceRegistry(_0x4110ba)[_0x5f5b74(0x193)]['map'](_0xeb92a9=>_0xeb92a9[_0x5f5b74(0x1a0)]);}export function inspectServiceRegistry(_0x41d722={}){const _0x57f4f5=a63_0x4c31e3,_0x230181=getServiceRegistryPath(_0x41d722);if(!existsSync(_0x230181))return emptyServiceRegistryInspection(_0x230181,'missing',![]);try{const _0x5818d7=readFileSync(_0x230181,_0x57f4f5(0x1bf));if(!_0x5818d7[_0x57f4f5(0x190)]())return emptyServiceRegistryInspection(_0x230181,_0x57f4f5(0x1c4),!![]);const _0x47934c=JSON[_0x57f4f5(0x186)](_0x5818d7);if(_0x47934c['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x230181,_0x57f4f5(0x1af),!![]),'schemaVersion':_0x47934c[_0x57f4f5(0x1be)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x47934c[_0x57f4f5(0x1be)])};if(!Array['isArray'](_0x47934c[_0x57f4f5(0x193)]))return{...emptyServiceRegistryInspection(_0x230181,_0x57f4f5(0x1af),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x47934c[_0x57f4f5(0x1d3)],'message':_0x57f4f5(0x1ba)};const _0x39187d=_0x47934c[_0x57f4f5(0x193)][_0x57f4f5(0x1ce)](summarizeLocalServiceEntry);return{'registryPath':_0x230181,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x47934c[_0x57f4f5(0x1d3)],'serviceCount':_0x39187d[_0x57f4f5(0x1b1)],'commandCount':_0x39187d['reduce']((_0xb65ccd,_0x222578)=>_0xb65ccd+_0x222578[_0x57f4f5(0x199)],0x0),'services':_0x39187d};}catch(_0x26d95c){return{...emptyServiceRegistryInspection(_0x230181,'invalid',!![]),'message':_0x26d95c instanceof Error?_0x26d95c[_0x57f4f5(0x1ae)]:String(_0x26d95c)};}}export function formatValidationFailure(_0x414203){const _0xc37015=a63_0x4c31e3,_0x253980=_0x414203[_0xc37015(0x1b7)][_0xc37015(0x1ce)](_0x5d8379=>_0x5d8379[_0xc37015(0x19a)]+':\x20'+_0x5d8379[_0xc37015(0x1ae)]);return _0xc37015(0x19e)+_0x253980[_0xc37015(0x196)]('\x0a');}function extractLoadedServiceManifests(_0x208ecd,_0x45c6f3){if(!isServiceRegistryLike(_0x208ecd)){const _0x563dcf=_0x208ecd,{manifest:_0x5ec232,errors:_0x23b561}=adaptServiceTreeManifestForLegacyFramework(_0x563dcf),_0x34a91b=validateServiceTreeManifest(_0x5ec232),_0x735a26=mergeValidationErrors(_0x34a91b,_0x23b561);return[{'manifest':_0x563dcf,'report':_0x735a26,'normalizedManifest':_0x735a26['ok']?normalizeServiceTreeManifest(_0x5ec232):undefined,'sourceHash':_0x45c6f3}];}return _0x208ecd['services']['map']((_0x10605f,_0xa20907)=>{const _0x7a037d=a63_0x15aa,_0xd54c8f=isObjectRecord(_0x10605f)?_0x10605f[_0x7a037d(0x1a4)]:undefined,{manifest:_0x315a63,errors:_0x332b85}=adaptServiceTreeManifestForLegacyFramework(_0xd54c8f),_0xb8e253=validateServiceTreeManifest(_0x315a63),_0xc40acd=mergeValidationErrors(_0xb8e253,_0x332b85),_0x207080=isObjectRecord(_0x10605f)&&typeof _0x10605f[_0x7a037d(0x182)]===_0x7a037d(0x1c0)?_0x10605f[_0x7a037d(0x182)]:undefined;return{'manifest':_0xd54c8f,'report':_0xc40acd,'normalizedManifest':_0xc40acd['ok']?normalizeServiceTreeManifest(_0x315a63):undefined,'sourceHash':sha256(JSON['stringify'](_0xd54c8f,null,0x2)+'\x0a'),'registryIndex':_0xa20907,'registryServiceCode':_0x207080};});}function mergeValidationErrors(_0x20d630,_0x3b57c0){const _0x5941bc=a63_0x4c31e3,_0xc5faac=_0x20d630[_0x5941bc(0x1b7)][_0x5941bc(0x1ce)](_0x17e19a=>_0x17e19a[_0x5941bc(0x1ae)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x17e19a,'message':_0x5941bc(0x1b2)}:_0x17e19a),_0x23a1b3=[..._0x3b57c0,..._0xc5faac];return{'ok':_0x23a1b3[_0x5941bc(0x1b1)]===0x0,'errors':_0x23a1b3,'warnings':_0x20d630['warnings']};}function aggregateValidationReports(_0x1f040d){const _0x23d561=a63_0x4c31e3,_0x562162=_0x1f040d['flatMap'](_0x496132=>_0x496132['registryIndex']===undefined?_0x496132['report'][_0x23d561(0x1b7)]:_0x496132[_0x23d561(0x1a2)][_0x23d561(0x1b7)][_0x23d561(0x1ce)](_0x549bed=>({..._0x549bed,'path':prefixRegistryIssuePath(_0x496132[_0x23d561(0x1a3)],_0x549bed['path'])}))),_0x47b98f=_0x1f040d[_0x23d561(0x1ac)](_0x23b635=>_0x23b635[_0x23d561(0x1a3)]===undefined?_0x23b635[_0x23d561(0x1a2)][_0x23d561(0x1c6)]:_0x23b635[_0x23d561(0x1a2)][_0x23d561(0x1c6)][_0x23d561(0x1ce)](_0x18a85a=>({..._0x18a85a,'path':prefixRegistryIssuePath(_0x23b635['registryIndex'],_0x18a85a[_0x23d561(0x19a)])})));return{'ok':_0x562162[_0x23d561(0x1b1)]===0x0,'errors':_0x562162,'warnings':_0x47b98f};}function prefixRegistryIssuePath(_0x35949d,_0x18f587){const _0x15f33f=a63_0x4c31e3;if(_0x18f587==='$')return'$.services['+_0x35949d+'].manifest';if(_0x18f587[_0x15f33f(0x19f)]('$.'))return _0x15f33f(0x1bd)+_0x35949d+_0x15f33f(0x1c8)+_0x18f587[_0x15f33f(0x19b)](0x1);if(_0x18f587[_0x15f33f(0x19f)]('$['))return _0x15f33f(0x1bd)+_0x35949d+_0x15f33f(0x1c8)+_0x18f587[_0x15f33f(0x19b)](0x1);return _0x15f33f(0x1bd)+_0x35949d+_0x15f33f(0x19c)+_0x18f587;}function isServiceRegistryLike(_0x4b784e){const _0x12a6c5=a63_0x4c31e3;return isObjectRecord(_0x4b784e)&&_0x4b784e[_0x12a6c5(0x1be)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x12a6c5(0x1c9)](_0x4b784e[_0x12a6c5(0x193)]);}function isObjectRecord(_0x2d0d86){const _0x13a522=a63_0x4c31e3;return Boolean(_0x2d0d86)&&typeof _0x2d0d86==='object'&&!Array[_0x13a522(0x1c9)](_0x2d0d86);}function emptyServiceRegistryInspection(_0x11759b,_0x48254e,_0x2b0864){return{'registryPath':_0x11759b,'exists':_0x2b0864,'status':_0x48254e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x43ae1b){const _0x5cc245=a63_0x4c31e3,_0x163451=_0x43ae1b[_0x5cc245(0x1a0)],_0x3cb657=_0x163451[_0x5cc245(0x1b9)][_0x5cc245(0x1ce)](_0x58f4cd=>({'path':_0x58f4cd[_0x5cc245(0x189)],'description':_0x58f4cd[_0x5cc245(0x1d2)],'risk':_0x58f4cd[_0x5cc245(0x197)],'targetKind':_0x58f4cd[_0x5cc245(0x1c7)][_0x5cc245(0x194)],'targetCommand':_0x58f4cd[_0x5cc245(0x1c7)][_0x5cc245(0x1cb)]}));return{'serviceCode':_0x43ae1b[_0x5cc245(0x182)],'name':_0x163451[_0x5cc245(0x1a5)][_0x5cc245(0x1bc)],'description':_0x163451[_0x5cc245(0x1a5)][_0x5cc245(0x1d2)],'version':_0x43ae1b[_0x5cc245(0x1c2)],'importedAt':_0x43ae1b[_0x5cc245(0x18f)],'source':_0x43ae1b[_0x5cc245(0x1b8)],'commandCount':_0x3cb657['length'],'commands':_0x3cb657};}function sha256(_0x5dcc18){const _0x1a73f3=a63_0x4c31e3;return createHash(_0x1a73f3(0x1a1))['update'](_0x5dcc18)['digest'](_0x1a73f3(0x1a6));}
1
+ (function(_0x4de3c6,_0xd40b37){const _0x1e55f5=a63_0x1ab9,_0x34206a=_0x4de3c6();while(!![]){try{const _0x1d7ed0=parseInt(_0x1e55f5(0x160))/0x1*(-parseInt(_0x1e55f5(0x135))/0x2)+parseInt(_0x1e55f5(0x14b))/0x3+-parseInt(_0x1e55f5(0x16e))/0x4*(parseInt(_0x1e55f5(0x147))/0x5)+parseInt(_0x1e55f5(0x161))/0x6*(parseInt(_0x1e55f5(0x16a))/0x7)+parseInt(_0x1e55f5(0x150))/0x8+-parseInt(_0x1e55f5(0x140))/0x9*(-parseInt(_0x1e55f5(0x14a))/0xa)+parseInt(_0x1e55f5(0x11f))/0xb*(-parseInt(_0x1e55f5(0x15b))/0xc);if(_0x1d7ed0===_0xd40b37)break;else _0x34206a['push'](_0x34206a['shift']());}catch(_0x2aa91c){_0x34206a['push'](_0x34206a['shift']());}}}(a63_0x38bd,0xec139));import{createHash}from'node:crypto';function a63_0x1ab9(_0x4830df,_0x1e82f0){_0x4830df=_0x4830df-0x11a;const _0x38bd62=a63_0x38bd();let _0x1ab9a3=_0x38bd62[_0x4830df];return _0x1ab9a3;}import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x36cbc8={}){const _0x3e34c2=a63_0x1ab9;return resolve(_0x36cbc8[_0x3e34c2(0x12c)]??homedir(),PRODUCT_CONFIG[_0x3e34c2(0x155)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x32df07={}){const _0x75badb=a63_0x1ab9,_0x54b0b0=getServiceRegistryPath(_0x32df07);if(!existsSync(_0x54b0b0))return emptyServiceRegistry();try{const _0x59940c=readFileSync(_0x54b0b0,_0x75badb(0x164));if(!_0x59940c[_0x75badb(0x125)]())return emptyServiceRegistry();const _0xa14a96=JSON['parse'](_0x59940c);if(_0xa14a96[_0x75badb(0x138)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x75badb(0x169)+String(_0xa14a96[_0x75badb(0x138)]),_0x75badb(0x146)+_0x54b0b0+'.');if(!Array[_0x75badb(0x11b)](_0xa14a96[_0x75badb(0x126)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xa14a96[_0x75badb(0x13b)],'services':_0xa14a96[_0x75badb(0x126)]};}catch(_0x5ecc6d){if(_0x5ecc6d instanceof Error&&_0x5ecc6d[_0x75badb(0x166)]===_0x75badb(0x158))throw _0x5ecc6d;throw CliErrors[_0x75badb(0x11c)](_0x75badb(0x11e)+_0x54b0b0,_0x75badb(0x14d));}}export function writeServiceRegistry(_0x7024cc,_0x1ae1e1={}){const _0x1f855e=a63_0x1ab9,_0x135db8=getServiceRegistryPath(_0x1ae1e1),_0x8ad91=dirname(_0x135db8);!existsSync(_0x8ad91)&&mkdirSync(_0x8ad91,{'recursive':!![]});const _0xdd8b6f=_0x135db8+_0x1f855e(0x16f);try{writeFileSync(_0xdd8b6f,JSON[_0x1f855e(0x121)](_0x7024cc,null,0x2)+'\x0a',{'encoding':_0x1f855e(0x164),'mode':0x180}),renameSync(_0xdd8b6f,_0x135db8);}catch(_0x45f6f2){try{unlinkSync(_0xdd8b6f);}catch{}if(_0x45f6f2?.['code']===_0x1f855e(0x128))throw CliErrors['validation'](_0x1f855e(0x148)+_0x135db8);throw _0x45f6f2;}return _0x135db8;}export function loadServiceManifestFromFile(_0x295d79){const _0x235c7d=a63_0x1ab9,_0x4f28ab=resolve(_0x295d79);if(!existsSync(_0x4f28ab))throw CliErrors[_0x235c7d(0x11c)](_0x235c7d(0x124)+_0x295d79);let _0x3cd978;const _0x3ef6b9=readFileSync(_0x4f28ab,'utf8');try{_0x3cd978=JSON[_0x235c7d(0x11a)](_0x3ef6b9);}catch{throw CliErrors['validation'](_0x235c7d(0x141)+_0x295d79,_0x235c7d(0x143));}const _0x16eea0=sha256(_0x3ef6b9),_0x50daaf=extractLoadedServiceManifests(_0x3cd978,_0x16eea0),_0x3aca2a=aggregateValidationReports(_0x50daaf),_0x37dc16=_0x50daaf[0x0];return{'filePath':_0x4f28ab,'hash':_0x16eea0,'kind':isServiceRegistryLike(_0x3cd978)?_0x235c7d(0x149):_0x235c7d(0x12f),'manifest':_0x37dc16?.[_0x235c7d(0x12f)]??_0x3cd978,'report':_0x3aca2a,'normalizedManifest':_0x50daaf['length']===0x1?_0x37dc16?.[_0x235c7d(0x12d)]:undefined,'manifests':_0x50daaf};}export function importServiceManifest(_0x35e95a,_0x20fd41={}){const _0x455af4=a63_0x1ab9,_0xc45f20=loadServiceManifestFromFile(_0x35e95a);if(!_0xc45f20['report']['ok'])throw CliErrors[_0x455af4(0x11c)](formatValidationFailure(_0xc45f20[_0x455af4(0x134)]),_0x455af4(0x120));if(_0xc45f20[_0x455af4(0x168)][_0x455af4(0x12a)]===0x0)throw CliErrors[_0x455af4(0x11c)](_0x455af4(0x16c),_0x455af4(0x127));const _0x368579=readServiceRegistry(_0x20fd41),_0x1343f8=(_0x20fd41[_0x455af4(0x14e)]??(()=>new Date()))()[_0x455af4(0x13a)](),_0x535b87=[];let _0x13c059=0x0,_0x241530=0x0;for(const _0x50d535 of _0xc45f20['manifests']){if(!_0x50d535['normalizedManifest'])continue;const _0x4484de=_0x50d535[_0x455af4(0x12d)][_0x455af4(0x163)][_0x455af4(0x15f)],_0x49def3={'serviceCode':_0x4484de,'version':_0x50d535[_0x455af4(0x12d)][_0x455af4(0x130)],'importedAt':_0x1343f8,'source':{'type':_0x455af4(0x15e),'path':_0xc45f20[_0x455af4(0x13d)],'hash':_0x50d535[_0x455af4(0x13e)]},'manifest':_0x50d535[_0x455af4(0x12f)],'normalizedManifest':_0x50d535[_0x455af4(0x12d)]},_0xbfcda5=_0x368579[_0x455af4(0x126)]['findIndex'](_0xd252d6=>_0xd252d6[_0x455af4(0x165)]===_0x4484de);_0xbfcda5>=0x0?(_0x368579[_0x455af4(0x126)][_0xbfcda5]=_0x49def3,_0x241530++):(_0x368579[_0x455af4(0x126)][_0x455af4(0x15d)](_0x49def3),_0x13c059++),_0x535b87['push'](_0x49def3);}_0x368579['services'][_0x455af4(0x153)]((_0x2c45ba,_0x516ff6)=>_0x2c45ba['serviceCode'][_0x455af4(0x136)](_0x516ff6['serviceCode'])),_0x368579['updatedAt']=_0x1343f8;const _0x3760ce=writeServiceRegistry(_0x368579,_0x20fd41);return{'registryPath':_0x3760ce,'entry':_0x535b87[0x0],'replaced':_0x535b87[_0x455af4(0x12a)]===0x1?_0x241530===0x1:_0x241530>0x0,'entries':_0x535b87,'imported':_0x13c059,'updated':_0x241530,'serviceCount':_0x368579['services'][_0x455af4(0x12a)]};}export function exportServiceManifest(_0x216c0c,_0xc0b4ba,_0x6c9b92={}){const _0x2f193b=a63_0x1ab9,_0x2b56fa=getServiceRegistryPath(_0x6c9b92),_0x142136=getLocalServiceEntry(_0x216c0c,_0x6c9b92);if(!_0x142136)throw CliErrors['validation'](_0x2f193b(0x139)+_0x216c0c,_0x2f193b(0x13f));const _0x13016c=resolve(_0xc0b4ba),_0x3f2fbd=dirname(_0x13016c);return!existsSync(_0x3f2fbd)&&mkdirSync(_0x3f2fbd,{'recursive':!![]}),writeFileSync(_0x13016c,JSON['stringify'](_0x142136[_0x2f193b(0x12f)],null,0x2)+'\x0a',{'encoding':_0x2f193b(0x164),'mode':0x180}),{'registryPath':_0x2b56fa,'filePath':_0x13016c,'entry':_0x142136};}export function removeServiceManifest(_0x3f5715,_0x5d485a={}){const _0x3665d5=a63_0x1ab9,_0x60ed2a=readServiceRegistry(_0x5d485a),_0x2b4d25=_0x3f5715[_0x3665d5(0x125)](),_0x1826a6=_0x60ed2a[_0x3665d5(0x126)]['findIndex'](_0x392d71=>_0x392d71[_0x3665d5(0x165)]===_0x2b4d25);if(_0x1826a6<0x0)throw CliErrors['validation'](_0x3665d5(0x139)+_0x2b4d25,_0x3665d5(0x13f));const [_0x2750cd]=_0x60ed2a[_0x3665d5(0x126)][_0x3665d5(0x123)](_0x1826a6,0x1),_0x4d46d9=(_0x5d485a[_0x3665d5(0x14e)]??(()=>new Date()))()['toISOString']();_0x60ed2a[_0x3665d5(0x13b)]=_0x4d46d9;const _0x5016c8=writeServiceRegistry(_0x60ed2a,_0x5d485a);return{'registryPath':_0x5016c8,'entry':_0x2750cd,'serviceCount':_0x60ed2a['services'][_0x3665d5(0x12a)]};}export function listLocalServices(_0x10a5f2={}){const _0x190beb=a63_0x1ab9;return readServiceRegistry(_0x10a5f2)[_0x190beb(0x126)];}export function getLocalServiceEntry(_0x5dc281,_0x215702={}){const _0x1119a1=a63_0x1ab9;return readServiceRegistry(_0x215702)[_0x1119a1(0x126)][_0x1119a1(0x16d)](_0xd0f6f8=>_0xd0f6f8[_0x1119a1(0x165)]===_0x5dc281[_0x1119a1(0x125)]());}export function listLocalServiceTrees(_0x18ebdd={}){const _0xca5cda=a63_0x1ab9;return readServiceRegistry(_0x18ebdd)[_0xca5cda(0x126)][_0xca5cda(0x14f)](_0x2790ab=>_0x2790ab[_0xca5cda(0x12d)]);}export function inspectServiceRegistry(_0x117522={}){const _0x24f200=a63_0x1ab9,_0x5447b3=getServiceRegistryPath(_0x117522);if(!existsSync(_0x5447b3))return emptyServiceRegistryInspection(_0x5447b3,'missing',![]);try{const _0x1a555b=readFileSync(_0x5447b3,_0x24f200(0x164));if(!_0x1a555b[_0x24f200(0x125)]())return emptyServiceRegistryInspection(_0x5447b3,_0x24f200(0x14c),!![]);const _0x18fb27=JSON['parse'](_0x1a555b);if(_0x18fb27[_0x24f200(0x138)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x5447b3,'invalid',!![]),'schemaVersion':_0x18fb27['schemaVersion'],'message':_0x24f200(0x144)+String(_0x18fb27[_0x24f200(0x138)])};if(!Array[_0x24f200(0x11b)](_0x18fb27[_0x24f200(0x126)]))return{...emptyServiceRegistryInspection(_0x5447b3,_0x24f200(0x133),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x18fb27[_0x24f200(0x13b)],'message':'services\x20must\x20be\x20an\x20array'};const _0x1a6231=_0x18fb27[_0x24f200(0x126)][_0x24f200(0x14f)](summarizeLocalServiceEntry);return{'registryPath':_0x5447b3,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x18fb27[_0x24f200(0x13b)],'serviceCount':_0x1a6231[_0x24f200(0x12a)],'commandCount':_0x1a6231['reduce']((_0x5e7321,_0x428be)=>_0x5e7321+_0x428be[_0x24f200(0x132)],0x0),'services':_0x1a6231};}catch(_0x7d6a3b){return{...emptyServiceRegistryInspection(_0x5447b3,_0x24f200(0x133),!![]),'message':_0x7d6a3b instanceof Error?_0x7d6a3b[_0x24f200(0x142)]:String(_0x7d6a3b)};}}export function formatValidationFailure(_0xf328ea){const _0xa75667=a63_0x1ab9,_0x54e611=_0xf328ea[_0xa75667(0x167)][_0xa75667(0x14f)](_0x3571d5=>_0x3571d5[_0xa75667(0x162)]+':\x20'+_0x3571d5[_0xa75667(0x142)]);return _0xa75667(0x159)+_0x54e611['join']('\x0a');}function a63_0x38bd(){const _0x1a31e9=['empty','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','now','map','6872320qaeayZ','cliPath','description','sort','registryIndex','homeDirName','target','].manifest','CliError','Service\x20manifest\x20validation\x20failed:\x0a','bff\x20target\x20requires\x20functionName.','24vEOZtT','].manifest.','push','file','code','3yoLKUS','151116aCXwHh','path','service','utf8','serviceCode','name','errors','manifests','Unsupported\x20service\x20registry\x20schemaVersion:\x20','154rPVFdD','startsWith','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','find','4GeSRei','.tmp','parse','isArray','validation','$.services[','Invalid\x20service\x20registry\x20JSON:\x20','7194429DPiUOx','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','stringify','source','splice','Service\x20manifest\x20file\x20not\x20found:\x20','trim','services','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','ENOENT','warnings','length','update','homeDir','normalizedManifest','digest','manifest','version','risk','commandCount','invalid','report','229694LHZDyy','localeCompare','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','schemaVersion','Local\x20service\x20not\x20found:\x20','toISOString','updatedAt','sha256','filePath','sourceHash','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','3303coKzBd','Invalid\x20service\x20manifest\x20JSON:\x20','message','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','Unsupported\x20schemaVersion:\x20','flatMap','Remove\x20or\x20migrate\x20','9064195ucAOSX','Cannot\x20write\x20service\x20registry:\x20','registry','30970VDHgTn','5648088vMKAMd'];a63_0x38bd=function(){return _0x1a31e9;};return a63_0x38bd();}function extractLoadedServiceManifests(_0x104bc0,_0x4142af){const _0x4df301=a63_0x1ab9;if(!isServiceRegistryLike(_0x104bc0)){const _0x3132ee=_0x104bc0,{manifest:_0x1414cd,errors:_0x12ede4}=adaptServiceTreeManifestForLegacyFramework(_0x3132ee),_0x5e3c76=validateServiceTreeManifest(_0x1414cd),_0x486ad0=mergeValidationErrors(_0x5e3c76,_0x12ede4);return[{'manifest':_0x3132ee,'report':_0x486ad0,'normalizedManifest':_0x486ad0['ok']?normalizeServiceTreeManifest(_0x1414cd):undefined,'sourceHash':_0x4142af}];}return _0x104bc0[_0x4df301(0x126)][_0x4df301(0x14f)]((_0x19f616,_0x2820b3)=>{const _0x5d7529=_0x4df301,_0x3081ec=isObjectRecord(_0x19f616)?_0x19f616['manifest']:undefined,{manifest:_0x48de55,errors:_0x5e0d70}=adaptServiceTreeManifestForLegacyFramework(_0x3081ec),_0x485a2c=validateServiceTreeManifest(_0x48de55),_0x438d44=mergeValidationErrors(_0x485a2c,_0x5e0d70),_0x33cc10=isObjectRecord(_0x19f616)&&typeof _0x19f616[_0x5d7529(0x165)]==='string'?_0x19f616[_0x5d7529(0x165)]:undefined;return{'manifest':_0x3081ec,'report':_0x438d44,'normalizedManifest':_0x438d44['ok']?normalizeServiceTreeManifest(_0x48de55):undefined,'sourceHash':sha256(JSON[_0x5d7529(0x121)](_0x3081ec,null,0x2)+'\x0a'),'registryIndex':_0x2820b3,'registryServiceCode':_0x33cc10};});}function mergeValidationErrors(_0x1d532d,_0x5d9ec5){const _0x4bd823=a63_0x1ab9,_0x689251=_0x1d532d[_0x4bd823(0x167)][_0x4bd823(0x14f)](_0x2cdcaf=>_0x2cdcaf[_0x4bd823(0x142)]===_0x4bd823(0x137)?{..._0x2cdcaf,'message':_0x4bd823(0x15a)}:_0x2cdcaf),_0x5cec3e=[..._0x5d9ec5,..._0x689251];return{'ok':_0x5cec3e['length']===0x0,'errors':_0x5cec3e,'warnings':_0x1d532d[_0x4bd823(0x129)]};}function aggregateValidationReports(_0x359c8f){const _0x26ba2f=a63_0x1ab9,_0x8302e6=_0x359c8f[_0x26ba2f(0x145)](_0x2767aa=>_0x2767aa[_0x26ba2f(0x154)]===undefined?_0x2767aa['report'][_0x26ba2f(0x167)]:_0x2767aa[_0x26ba2f(0x134)][_0x26ba2f(0x167)][_0x26ba2f(0x14f)](_0x191061=>({..._0x191061,'path':prefixRegistryIssuePath(_0x2767aa[_0x26ba2f(0x154)],_0x191061['path'])}))),_0x469663=_0x359c8f[_0x26ba2f(0x145)](_0x3ac47b=>_0x3ac47b[_0x26ba2f(0x154)]===undefined?_0x3ac47b['report']['warnings']:_0x3ac47b[_0x26ba2f(0x134)][_0x26ba2f(0x129)]['map'](_0x2b9caa=>({..._0x2b9caa,'path':prefixRegistryIssuePath(_0x3ac47b[_0x26ba2f(0x154)],_0x2b9caa[_0x26ba2f(0x162)])})));return{'ok':_0x8302e6[_0x26ba2f(0x12a)]===0x0,'errors':_0x8302e6,'warnings':_0x469663};}function prefixRegistryIssuePath(_0x3943e5,_0x5436bd){const _0x31e244=a63_0x1ab9;if(_0x5436bd==='$')return _0x31e244(0x11d)+_0x3943e5+'].manifest';if(_0x5436bd[_0x31e244(0x16b)]('$.'))return'$.services['+_0x3943e5+_0x31e244(0x157)+_0x5436bd['slice'](0x1);if(_0x5436bd['startsWith']('$['))return _0x31e244(0x11d)+_0x3943e5+_0x31e244(0x157)+_0x5436bd['slice'](0x1);return _0x31e244(0x11d)+_0x3943e5+_0x31e244(0x15c)+_0x5436bd;}function isServiceRegistryLike(_0x26b54a){const _0x4456d9=a63_0x1ab9;return isObjectRecord(_0x26b54a)&&_0x26b54a[_0x4456d9(0x138)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x4456d9(0x11b)](_0x26b54a[_0x4456d9(0x126)]);}function isObjectRecord(_0x2e166a){const _0x5e0e9b=a63_0x1ab9;return Boolean(_0x2e166a)&&typeof _0x2e166a==='object'&&!Array[_0x5e0e9b(0x11b)](_0x2e166a);}function emptyServiceRegistryInspection(_0x3d8707,_0x1726c1,_0x4e1d87){return{'registryPath':_0x3d8707,'exists':_0x4e1d87,'status':_0x1726c1,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x460eec){const _0x4f8d2b=a63_0x1ab9,_0x14fc8d=_0x460eec[_0x4f8d2b(0x12d)],_0x349ce4=_0x14fc8d['commands'][_0x4f8d2b(0x14f)](_0x49c6e2=>({'path':_0x49c6e2[_0x4f8d2b(0x151)],'description':_0x49c6e2[_0x4f8d2b(0x152)],'risk':_0x49c6e2[_0x4f8d2b(0x131)],'targetKind':_0x49c6e2[_0x4f8d2b(0x156)]['kind'],'targetCommand':_0x49c6e2['target']['command']}));return{'serviceCode':_0x460eec[_0x4f8d2b(0x165)],'name':_0x14fc8d['service']['name'],'description':_0x14fc8d['service'][_0x4f8d2b(0x152)],'version':_0x460eec[_0x4f8d2b(0x130)],'importedAt':_0x460eec['importedAt'],'source':_0x460eec[_0x4f8d2b(0x122)],'commandCount':_0x349ce4[_0x4f8d2b(0x12a)],'commands':_0x349ce4};}function sha256(_0xc83cb8){const _0x2a8dae=a63_0x1ab9;return createHash(_0x2a8dae(0x13c))[_0x2a8dae(0x12b)](_0xc83cb8)[_0x2a8dae(0x12e)]('hex');}
@@ -1 +1 @@
1
- const a64_0x466b8e=a64_0x5b55;(function(_0x3874aa,_0x1ce2c0){const _0x2e92d5=a64_0x5b55,_0xe85088=_0x3874aa();while(!![]){try{const _0x47f030=parseInt(_0x2e92d5(0x8a))/0x1+parseInt(_0x2e92d5(0x7c))/0x2*(parseInt(_0x2e92d5(0x94))/0x3)+parseInt(_0x2e92d5(0x8c))/0x4+parseInt(_0x2e92d5(0x75))/0x5*(-parseInt(_0x2e92d5(0x82))/0x6)+parseInt(_0x2e92d5(0x92))/0x7+-parseInt(_0x2e92d5(0x7f))/0x8*(parseInt(_0x2e92d5(0x8b))/0x9)+-parseInt(_0x2e92d5(0x84))/0xa*(parseInt(_0x2e92d5(0x7a))/0xb);if(_0x47f030===_0x1ce2c0)break;else _0xe85088['push'](_0xe85088['shift']());}catch(_0x5de5a0){_0xe85088['push'](_0xe85088['shift']());}}}(a64_0x3fa7,0x90b02));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a64_0x3fa7(){const _0x4b8ffa=['target','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','content','path','create','83436PVPRwQ','3258414VwRWJJ','2124188anKNum','validation','Created\x20local\x20Skill\x20draft\x20','skill','skillDir','type','5305720Lmfdge','trim','224916EKvsTY','files','map','force','str','170xcysqT','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','utf8','skillName','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','9544227KXCvKY','rendered','14HcRsjq','read','isDirectory','8neyUHQ','isSymbolicLink','Skill\x20directory\x20already\x20exists:\x20','13218Rpfuof','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','10wTYCLF'];a64_0x3fa7=function(){return _0x4b8ffa;};return a64_0x3fa7();}function a64_0x5b55(_0x17e5d6,_0x23311f){_0x17e5d6=_0x17e5d6-0x75;const _0x3fa794=a64_0x3fa7();let _0x5b55be=_0x3fa794[_0x17e5d6];return _0x5b55be;}export const createCommand={'service':a64_0x466b8e(0x8f),'command':a64_0x466b8e(0x89),'description':a64_0x466b8e(0x76),'risk':a64_0x466b8e(0x7d),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x42ade1){const _0x4a4b69=a64_0x466b8e,_0x4356cc=buildSkillCreatePlan(_0x42ade1['str']('name'),_0x42ade1[_0x4a4b69(0x98)](_0x4a4b69(0x91)),_0x42ade1[_0x4a4b69(0x98)](_0x4a4b69(0x85)));return{'method':'WRITE','url':_0x4356cc[_0x4a4b69(0x90)],'body':{'skillName':_0x4356cc[_0x4a4b69(0x7b)][_0x4a4b69(0x78)],'type':_0x4356cc['rendered'][_0x4a4b69(0x91)],'selfContained':!![],'files':_0x4356cc[_0x4a4b69(0x7b)][_0x4a4b69(0x95)][_0x4a4b69(0x96)](_0x2512fe=>_0x2512fe[_0x4a4b69(0x88)])},'description':_0x4a4b69(0x83)};},async 'execute'(_0x2ccd4c){const _0x12ca59=a64_0x466b8e,_0x205238=buildSkillCreatePlan(_0x2ccd4c[_0x12ca59(0x98)]('name'),_0x2ccd4c['str'](_0x12ca59(0x91)),_0x2ccd4c['str']('target'));return writeSkillDraft(_0x205238,_0x2ccd4c['bool'](_0x12ca59(0x97))),{'ok':!![],'data':{'skillName':_0x205238[_0x12ca59(0x7b)][_0x12ca59(0x78)],'type':_0x205238[_0x12ca59(0x7b)]['type'],'dir':_0x205238[_0x12ca59(0x90)],'files':_0x205238[_0x12ca59(0x7b)][_0x12ca59(0x95)][_0x12ca59(0x96)](_0x59c9aa=>_0x59c9aa[_0x12ca59(0x88)])},'message':_0x12ca59(0x8e)+_0x205238[_0x12ca59(0x7b)][_0x12ca59(0x78)]};}};function buildSkillCreatePlan(_0x3039c8,_0x1980a4,_0x494fe5){const _0x388c94=a64_0x466b8e,_0x3953b6=_0x1980a4[_0x388c94(0x93)](),_0x4c3fa0=renderSkillTemplate({'skillName':_0x3039c8,'type':_0x3953b6});!_0x3953b6&&writeCliSideChannelLine(_0x388c94(0x86));const _0x1aa52c=resolve(normalizeSkillTarget(_0x494fe5));return{'rendered':_0x4c3fa0,'targetRoot':_0x1aa52c,'skillDir':resolve(_0x1aa52c,_0x4c3fa0[_0x388c94(0x78)])};}function normalizeSkillTarget(_0x226fdf){const _0xc19caa=a64_0x466b8e;return(_0x226fdf||DEFAULT_SKILL_TARGET)[_0xc19caa(0x93)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5e161d,_0x1bc109){const _0x3f9607=a64_0x466b8e;if(existsSync(_0x5e161d['skillDir'])){const _0x4c3aee=lstatSync(_0x5e161d[_0x3f9607(0x90)]);if(!_0x4c3aee[_0x3f9607(0x7e)]()||_0x4c3aee[_0x3f9607(0x80)]())throw CliErrors[_0x3f9607(0x8d)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x5e161d[_0x3f9607(0x90)]);if(!_0x1bc109)throw CliErrors[_0x3f9607(0x8d)](_0x3f9607(0x81)+_0x5e161d[_0x3f9607(0x90)],_0x3f9607(0x79));}for(const _0x5ace77 of _0x5e161d['rendered'][_0x3f9607(0x95)]){const _0x3fac51=resolve(_0x5e161d[_0x3f9607(0x90)],_0x5ace77['path']),_0x3c7892=dirname(_0x3fac51);mkdirSync(_0x3c7892,{'recursive':!![]});if(existsSync(_0x3fac51)&&lstatSync(_0x3fac51)[_0x3f9607(0x80)]())throw CliErrors[_0x3f9607(0x8d)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3fac51);writeFileSync(_0x3fac51,_0x5ace77[_0x3f9607(0x87)],_0x3f9607(0x77));}}
1
+ const a64_0x4bc08c=a64_0xdd91;(function(_0x469972,_0x2a284a){const _0x350c6c=a64_0xdd91,_0x59e216=_0x469972();while(!![]){try{const _0x1e7713=parseInt(_0x350c6c(0x1b7))/0x1+parseInt(_0x350c6c(0x1ca))/0x2+-parseInt(_0x350c6c(0x1ba))/0x3*(parseInt(_0x350c6c(0x1c9))/0x4)+-parseInt(_0x350c6c(0x1cb))/0x5+-parseInt(_0x350c6c(0x1b6))/0x6+-parseInt(_0x350c6c(0x1cc))/0x7*(parseInt(_0x350c6c(0x1b5))/0x8)+parseInt(_0x350c6c(0x1c4))/0x9*(parseInt(_0x350c6c(0x1af))/0xa);if(_0x1e7713===_0x2a284a)break;else _0x59e216['push'](_0x59e216['shift']());}catch(_0x56afbc){_0x59e216['push'](_0x59e216['shift']());}}}(a64_0x3b91,0xb3ba8));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';function a64_0xdd91(_0x147b7e,_0x1c8487){_0x147b7e=_0x147b7e-0x1ad;const _0x3b9114=a64_0x3b91();let _0xdd9161=_0x3b9114[_0x147b7e];return _0xdd9161;}import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a64_0x4bc08c(0x1c0),'command':a64_0x4bc08c(0x1bf),'description':a64_0x4bc08c(0x1d1),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x4707d8){const _0x25f401=a64_0x4bc08c,_0x3058a8=buildSkillCreatePlan(_0x4707d8[_0x25f401(0x1c6)]('name'),_0x4707d8[_0x25f401(0x1c6)](_0x25f401(0x1cf)),_0x4707d8['str']('target'));return{'method':_0x25f401(0x1b8),'url':_0x3058a8['skillDir'],'body':{'skillName':_0x3058a8[_0x25f401(0x1bd)][_0x25f401(0x1c2)],'type':_0x3058a8[_0x25f401(0x1bd)][_0x25f401(0x1cf)],'selfContained':!![],'files':_0x3058a8['rendered'][_0x25f401(0x1ad)][_0x25f401(0x1d0)](_0x1a244a=>_0x1a244a[_0x25f401(0x1b1)])},'description':_0x25f401(0x1b4)};},async 'execute'(_0xa16000){const _0x5118db=a64_0x4bc08c,_0x3099a1=buildSkillCreatePlan(_0xa16000[_0x5118db(0x1c6)](_0x5118db(0x1c7)),_0xa16000['str'](_0x5118db(0x1cf)),_0xa16000[_0x5118db(0x1c6)]('target'));return writeSkillDraft(_0x3099a1,_0xa16000[_0x5118db(0x1c1)](_0x5118db(0x1b9))),{'ok':!![],'data':{'skillName':_0x3099a1[_0x5118db(0x1bd)][_0x5118db(0x1c2)],'type':_0x3099a1[_0x5118db(0x1bd)][_0x5118db(0x1cf)],'dir':_0x3099a1['skillDir'],'files':_0x3099a1['rendered'][_0x5118db(0x1ad)][_0x5118db(0x1d0)](_0xdcdcf9=>_0xdcdcf9[_0x5118db(0x1b1)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x3099a1['rendered'][_0x5118db(0x1c2)]};}};function a64_0x3b91(){const _0x5ba219=['Skill\x20directory\x20already\x20exists:\x20','isDirectory','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','8DtDUAg','1655910kgiLhx','607747wIsdQe','WRITE','force','299199btjSCR','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','content','rendered','validation','create','skill','bool','skillName','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','10611ctvWqK','isSymbolicLink','str','name','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','20oChQsW','497366mAOwgH','2751595gvBiaw','5852994kbChmJ','utf8','trim','type','map','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','files','Refusing\x20to\x20overwrite\x20symlink:\x20','17310BvJflj','skillDir','path'];a64_0x3b91=function(){return _0x5ba219;};return a64_0x3b91();}function buildSkillCreatePlan(_0x5f3c4e,_0x2730b0,_0x3ed2c3){const _0xa234a5=a64_0x4bc08c,_0x370101=_0x2730b0[_0xa234a5(0x1ce)](),_0x2a66a3=renderSkillTemplate({'skillName':_0x5f3c4e,'type':_0x370101});!_0x370101&&writeCliSideChannelLine(_0xa234a5(0x1c8));const _0x458ab5=resolve(normalizeSkillTarget(_0x3ed2c3));return{'rendered':_0x2a66a3,'targetRoot':_0x458ab5,'skillDir':resolve(_0x458ab5,_0x2a66a3[_0xa234a5(0x1c2)])};}function normalizeSkillTarget(_0xbcf18c){const _0x2da67a=a64_0x4bc08c;return(_0xbcf18c||DEFAULT_SKILL_TARGET)[_0x2da67a(0x1ce)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x129c06,_0x4993da){const _0x4366d8=a64_0x4bc08c;if(existsSync(_0x129c06[_0x4366d8(0x1b0)])){const _0x51bb6e=lstatSync(_0x129c06[_0x4366d8(0x1b0)]);if(!_0x51bb6e[_0x4366d8(0x1b3)]()||_0x51bb6e[_0x4366d8(0x1c5)]())throw CliErrors[_0x4366d8(0x1be)](_0x4366d8(0x1bb)+_0x129c06[_0x4366d8(0x1b0)]);if(!_0x4993da)throw CliErrors['validation'](_0x4366d8(0x1b2)+_0x129c06[_0x4366d8(0x1b0)],_0x4366d8(0x1c3));}for(const _0x20ad22 of _0x129c06[_0x4366d8(0x1bd)][_0x4366d8(0x1ad)]){const _0x2e8781=resolve(_0x129c06['skillDir'],_0x20ad22[_0x4366d8(0x1b1)]),_0x50754a=dirname(_0x2e8781);mkdirSync(_0x50754a,{'recursive':!![]});if(existsSync(_0x2e8781)&&lstatSync(_0x2e8781)[_0x4366d8(0x1c5)]())throw CliErrors[_0x4366d8(0x1be)](_0x4366d8(0x1ae)+_0x2e8781);writeFileSync(_0x2e8781,_0x20ad22[_0x4366d8(0x1bc)],_0x4366d8(0x1cd));}}
@@ -1 +1 @@
1
- const a65_0x132d16=a65_0x545b;(function(_0x40e90c,_0x5f47b4){const _0x18d9d6=a65_0x545b,_0x5835ec=_0x40e90c();while(!![]){try{const _0x5a248e=parseInt(_0x18d9d6(0x14e))/0x1*(-parseInt(_0x18d9d6(0x172))/0x2)+parseInt(_0x18d9d6(0x166))/0x3+parseInt(_0x18d9d6(0x174))/0x4*(-parseInt(_0x18d9d6(0x153))/0x5)+-parseInt(_0x18d9d6(0x168))/0x6+-parseInt(_0x18d9d6(0x150))/0x7*(parseInt(_0x18d9d6(0x167))/0x8)+parseInt(_0x18d9d6(0x163))/0x9*(-parseInt(_0x18d9d6(0x162))/0xa)+-parseInt(_0x18d9d6(0x155))/0xb*(-parseInt(_0x18d9d6(0x16b))/0xc);if(_0x5a248e===_0x5f47b4)break;else _0x5835ec['push'](_0x5835ec['shift']());}catch(_0x26f1c1){_0x5835ec['push'](_0x5835ec['shift']());}}}(a65_0x54cc,0x579ce));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x30e9e3){const _0xf9eb6c=a65_0x545b,_0x1ef127=_0x30e9e3['str'](_0xf9eb6c(0x15f))[_0xf9eb6c(0x16c)](),_0x26c8b0=_0x30e9e3['str']('version')[_0xf9eb6c(0x16c)](),_0x18d4e4=_0x30e9e3['str']('scope');if(!_0x1ef127||!_0x26c8b0||_0x18d4e4!==_0xf9eb6c(0x152)&&_0x18d4e4!=='company')throw CliErrors[_0xf9eb6c(0x165)](_0xf9eb6c(0x158));return{'skillCode':_0x1ef127,'version':_0x26c8b0,'scope':_0x18d4e4};}async function readDiagramWriteInput(_0x4b4e77){const _0x4a4af=a65_0x545b,_0x41003b=_0x4b4e77[_0x4a4af(0x15e)](_0x4a4af(0x177)),_0x50d6b0=_0x4b4e77[_0x4a4af(0x169)](_0x4a4af(0x156))['trim']();if(!Number[_0x4a4af(0x15b)](_0x41003b)||_0x41003b<0x0)throw CliErrors[_0x4a4af(0x165)]('--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.');if(!/^sha256:[0-9a-f]{64}$/[_0x4a4af(0x16f)](_0x50d6b0))throw CliErrors[_0x4a4af(0x165)](_0x4a4af(0x16e));return{'expectedDiagramRevision':_0x41003b,'sourceFingerprint':_0x50d6b0,'diagram':await readRequiredSkillDiagram(_0x4b4e77['str'](_0x4a4af(0x14c)))};}export const diagramValidateCommand={'service':a65_0x132d16(0x159),'command':'diagram-validate','description':a65_0x132d16(0x170),'risk':a65_0x132d16(0x154),'flags':WRITE_FLAGS,async 'execute'(_0x576a30){const _0x3ed1a5=a65_0x132d16,_0x269cef=readDiagramTarget(_0x576a30),_0x49fb6f=await validateRuntimeSkillVersionDiagram(_0x576a30['appCode'],_0x269cef[_0x3ed1a5(0x161)],_0x269cef[_0x3ed1a5(0x151)],_0x269cef[_0x3ed1a5(0x14f)],await readDiagramWriteInput(_0x576a30));return{'ok':!![],'data':_0x49fb6f,'message':_0x3ed1a5(0x173)+_0x269cef[_0x3ed1a5(0x161)]+'@'+_0x269cef[_0x3ed1a5(0x151)]+'.'};}};export const diagramPushCommand={'service':a65_0x132d16(0x159),'command':a65_0x132d16(0x15c),'description':'Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','risk':a65_0x132d16(0x176),'confirmationDescription':a65_0x132d16(0x171),'flags':WRITE_FLAGS,async 'execute'(_0x43a99a){const _0x2ea733=a65_0x132d16,_0x549755=readDiagramTarget(_0x43a99a),_0xd97898=await putRuntimeSkillVersionDiagram(_0x43a99a['appCode'],_0x549755['skillCode'],_0x549755[_0x2ea733(0x151)],_0x549755['scope'],await readDiagramWriteInput(_0x43a99a));return{'ok':!![],'data':_0xd97898,'message':_0xd97898[_0x2ea733(0x175)]==='unchanged'?'Skill\x20diagram\x20for\x20'+_0x549755[_0x2ea733(0x161)]+'@'+_0x549755[_0x2ea733(0x151)]+'\x20is\x20unchanged.':(_0xd97898[_0x2ea733(0x175)]===_0x2ea733(0x15a)?_0x2ea733(0x15d):'Updated')+'\x20Skill\x20diagram\x20for\x20'+_0x549755[_0x2ea733(0x161)]+'@'+_0x549755[_0x2ea733(0x151)]+'.'};}};function a65_0x545b(_0x34b5ff,_0x8ecea3){_0x34b5ff=_0x34b5ff-0x14c;const _0x54cc6b=a65_0x54cc();let _0x545b2c=_0x54cc6b[_0x34b5ff];return _0x545b2c;}export const diagramShowCommand={'service':'skill','command':a65_0x132d16(0x16a),'description':'Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','risk':'read','flags':TARGET_FLAGS,async 'execute'(_0x1057f1){const _0x51575a=a65_0x132d16,_0x3821ac=readDiagramTarget(_0x1057f1),_0x2d6674=await getRuntimeSkillVersionDiagram(_0x1057f1[_0x51575a(0x14d)],_0x3821ac[_0x51575a(0x161)],_0x3821ac['version'],_0x3821ac['scope']);return{'ok':!![],'data':_0x2d6674,'message':_0x2d6674['found']?_0x51575a(0x164)+_0x3821ac[_0x51575a(0x161)]+'@'+_0x3821ac['version']+_0x51575a(0x157)+_0x2d6674[_0x51575a(0x16d)]+'.':'No\x20Skill\x20diagram\x20is\x20stored\x20for\x20'+_0x3821ac[_0x51575a(0x161)]+'@'+_0x3821ac[_0x51575a(0x151)]+_0x51575a(0x160)+_0x2d6674['expectedDiagramRevision']+'.'};}};function a65_0x54cc(){const _0x54bdb1=['str','diagram-show','16843812EoLGGF','trim','expectedDiagramRevision','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','test','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','18Ghudpz','Skill\x20diagram\x20validation\x20passed\x20for\x20','4waVDhF','action','write','expected-diagram-revision','diagram-file','appCode','6001XmWMtd','scope','105tVJVOv','version','personal','549805UOVZcM','read','11xthnSW','source-fingerprint',';\x20next\x20write\x20expects\x20revision\x20','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','skill','created','isInteger','diagram-push','Created','num','skill-code',';\x20first\x20write\x20expects\x20revision\x20','skillCode','676040wZucQf','18PVZXbG','Found\x20Skill\x20diagram\x20for\x20','validation','19077JfvNbp','379368MlpAwG','243930eayGkS'];a65_0x54cc=function(){return _0x54bdb1;};return a65_0x54cc();}
1
+ const a65_0xef66f6=a65_0x3a77;(function(_0x14afdf,_0x424df9){const _0x28f25b=a65_0x3a77,_0x4bde33=_0x14afdf();while(!![]){try{const _0x1d2df6=parseInt(_0x28f25b(0x8e))/0x1*(-parseInt(_0x28f25b(0x93))/0x2)+-parseInt(_0x28f25b(0x8b))/0x3*(-parseInt(_0x28f25b(0xb9))/0x4)+parseInt(_0x28f25b(0x96))/0x5*(-parseInt(_0x28f25b(0xa0))/0x6)+-parseInt(_0x28f25b(0xb1))/0x7+-parseInt(_0x28f25b(0xb8))/0x8+parseInt(_0x28f25b(0xb3))/0x9*(parseInt(_0x28f25b(0xa9))/0xa)+parseInt(_0x28f25b(0xb6))/0xb;if(_0x1d2df6===_0x424df9)break;else _0x4bde33['push'](_0x4bde33['shift']());}catch(_0x3710fc){_0x4bde33['push'](_0x4bde33['shift']());}}}(a65_0x2f0a,0xba641));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a65_0x2f0a(){const _0x2ad01b=['validation','12682620NuWhzT','version','str','15742914LkiCZW','trim','2065760CGpoRx','443204ExxhLc','action','skill','30MMiXUL','expected-diagram-revision','Skill\x20diagram\x20validation\x20passed\x20for\x20','93nUvDIC','expectedDiagramRevision','\x20Skill\x20diagram\x20for\x20',';\x20next\x20write\x20expects\x20revision\x20','personal','30178sOLyNp','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','diagram-validate','1807045HfbtFG','created','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','write','diagram-push','Skill\x20diagram\x20for\x20','scope','test','appCode','unchanged','6SfQZwa','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','found','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','Created','Found\x20Skill\x20diagram\x20for\x20','read','source-fingerprint','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','10hYoyXz','Updated','num','diagram-file','skill-code','skillCode','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','8134007MeYZJo'];a65_0x2f0a=function(){return _0x2ad01b;};return a65_0x2f0a();}import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function a65_0x3a77(_0x1db674,_0x19adbe){_0x1db674=_0x1db674-0x8b;const _0x2f0ade=a65_0x2f0a();let _0x3a77e4=_0x2f0ade[_0x1db674];return _0x3a77e4;}function readDiagramTarget(_0x2e5314){const _0x23b99d=a65_0x3a77,_0x42cad2=_0x2e5314[_0x23b99d(0xb5)](_0x23b99d(0xad))['trim'](),_0x408344=_0x2e5314[_0x23b99d(0xb5)]('version')[_0x23b99d(0xb7)](),_0x528969=_0x2e5314[_0x23b99d(0xb5)]('scope');if(!_0x42cad2||!_0x408344||_0x528969!==_0x23b99d(0x92)&&_0x528969!=='company')throw CliErrors[_0x23b99d(0xb2)](_0x23b99d(0xaf));return{'skillCode':_0x42cad2,'version':_0x408344,'scope':_0x528969};}async function readDiagramWriteInput(_0x2909d2){const _0xe9506d=a65_0x3a77,_0x3523a0=_0x2909d2[_0xe9506d(0xab)](_0xe9506d(0x8c)),_0x5e71a1=_0x2909d2[_0xe9506d(0xb5)](_0xe9506d(0xa7))['trim']();if(!Number['isInteger'](_0x3523a0)||_0x3523a0<0x0)throw CliErrors['validation'](_0xe9506d(0xa1));if(!/^sha256:[0-9a-f]{64}$/[_0xe9506d(0x9d)](_0x5e71a1))throw CliErrors[_0xe9506d(0xb2)](_0xe9506d(0xa8));return{'expectedDiagramRevision':_0x3523a0,'sourceFingerprint':_0x5e71a1,'diagram':await readRequiredSkillDiagram(_0x2909d2[_0xe9506d(0xb5)](_0xe9506d(0xac)))};}export const diagramValidateCommand={'service':a65_0xef66f6(0xbb),'command':a65_0xef66f6(0x95),'description':'Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','risk':a65_0xef66f6(0xa6),'flags':WRITE_FLAGS,async 'execute'(_0xeee0be){const _0x170d97=a65_0xef66f6,_0x546d15=readDiagramTarget(_0xeee0be),_0x2c313f=await validateRuntimeSkillVersionDiagram(_0xeee0be['appCode'],_0x546d15[_0x170d97(0xae)],_0x546d15[_0x170d97(0xb4)],_0x546d15[_0x170d97(0x9c)],await readDiagramWriteInput(_0xeee0be));return{'ok':!![],'data':_0x2c313f,'message':_0x170d97(0x8d)+_0x546d15[_0x170d97(0xae)]+'@'+_0x546d15[_0x170d97(0xb4)]+'.'};}};export const diagramPushCommand={'service':'skill','command':a65_0xef66f6(0x9a),'description':a65_0xef66f6(0x98),'risk':a65_0xef66f6(0x99),'confirmationDescription':a65_0xef66f6(0x94),'flags':WRITE_FLAGS,async 'execute'(_0x1b1bfe){const _0x2ddfeb=a65_0xef66f6,_0x2a89f9=readDiagramTarget(_0x1b1bfe),_0x34ba3c=await putRuntimeSkillVersionDiagram(_0x1b1bfe[_0x2ddfeb(0x9e)],_0x2a89f9[_0x2ddfeb(0xae)],_0x2a89f9[_0x2ddfeb(0xb4)],_0x2a89f9[_0x2ddfeb(0x9c)],await readDiagramWriteInput(_0x1b1bfe));return{'ok':!![],'data':_0x34ba3c,'message':_0x34ba3c[_0x2ddfeb(0xba)]===_0x2ddfeb(0x9f)?_0x2ddfeb(0x9b)+_0x2a89f9[_0x2ddfeb(0xae)]+'@'+_0x2a89f9[_0x2ddfeb(0xb4)]+'\x20is\x20unchanged.':(_0x34ba3c[_0x2ddfeb(0xba)]===_0x2ddfeb(0x97)?_0x2ddfeb(0xa4):_0x2ddfeb(0xaa))+_0x2ddfeb(0x90)+_0x2a89f9[_0x2ddfeb(0xae)]+'@'+_0x2a89f9[_0x2ddfeb(0xb4)]+'.'};}};export const diagramShowCommand={'service':a65_0xef66f6(0xbb),'command':'diagram-show','description':a65_0xef66f6(0xb0),'risk':a65_0xef66f6(0xa6),'flags':TARGET_FLAGS,async 'execute'(_0x5e1968){const _0x45fce4=a65_0xef66f6,_0x30ec99=readDiagramTarget(_0x5e1968),_0x853ad3=await getRuntimeSkillVersionDiagram(_0x5e1968['appCode'],_0x30ec99[_0x45fce4(0xae)],_0x30ec99[_0x45fce4(0xb4)],_0x30ec99[_0x45fce4(0x9c)]);return{'ok':!![],'data':_0x853ad3,'message':_0x853ad3[_0x45fce4(0xa2)]?_0x45fce4(0xa5)+_0x30ec99[_0x45fce4(0xae)]+'@'+_0x30ec99[_0x45fce4(0xb4)]+_0x45fce4(0x91)+_0x853ad3[_0x45fce4(0x8f)]+'.':_0x45fce4(0xa3)+_0x30ec99[_0x45fce4(0xae)]+'@'+_0x30ec99[_0x45fce4(0xb4)]+';\x20first\x20write\x20expects\x20revision\x20'+_0x853ad3[_0x45fce4(0x8f)]+'.'};}};
@@ -1 +1 @@
1
- const a66_0x3bcc57=a66_0x4bcc;(function(_0x3f9cd0,_0xb520e6){const _0x436d88=a66_0x4bcc,_0x43b03a=_0x3f9cd0();while(!![]){try{const _0x55547e=parseInt(_0x436d88(0x127))/0x1+parseInt(_0x436d88(0x11c))/0x2+parseInt(_0x436d88(0x124))/0x3*(parseInt(_0x436d88(0x125))/0x4)+parseInt(_0x436d88(0x12f))/0x5*(-parseInt(_0x436d88(0x139))/0x6)+-parseInt(_0x436d88(0x121))/0x7+-parseInt(_0x436d88(0x115))/0x8*(-parseInt(_0x436d88(0x12c))/0x9)+-parseInt(_0x436d88(0x11b))/0xa;if(_0x55547e===_0xb520e6)break;else _0x43b03a['push'](_0x43b03a['shift']());}catch(_0x17841c){_0x43b03a['push'](_0x43b03a['shift']());}}}(a66_0x4541,0x6da06));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':'skill','command':a66_0x3bcc57(0x129),'description':a66_0x3bcc57(0x13a),'risk':a66_0x3bcc57(0x11a),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x4e2de4){return syncRuntimeSkills(_0x4e2de4);}};async function syncRuntimeSkills(_0x3ddc7e){const _0x213145=a66_0x3bcc57,{downloadRuntimeSkillPackage:_0x5ec88c,listRuntimeSkills:_0x141d25}=await import(_0x213145(0x12e)),{linkEffectiveRuntimeSkills:_0x4a7b1f,materializeRuntimeSkill:_0x456f96,pruneStaleRuntimeSkillCache:_0x58915a,pruneStaleRuntimeSkillLinks:_0x3ef817,resolveRuntimeSkillInstallTarget:_0x4d4d46,reuseMaterializedRuntimeSkill:_0xece330}=await import('../../../skills/runtime-skill-sync.js'),_0x178ede=_0x3ddc7e['str'](_0x213145(0x134)),_0xcf1da6=normalizeSyncScopes(_0x3ddc7e[_0x213145(0x113)](_0x213145(0x112))),_0x2b0b63=_0x3ddc7e['envName']??_0x213145(0x123),_0x56c864=_0x3ddc7e[_0x213145(0x114)],_0x208a74=_0x3ddc7e['bool']('force');if(!_0x56c864)throw CliErrors['authRequired']('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x328a99=_0x4d4d46(_0x3ddc7e[_0x213145(0x137)],_0x3ddc7e[_0x213145(0x130)](_0x213145(0x138))?_0x213145(0x138):_0x213145(0x117)),_0x168483=_0x4d4d46(_0x3ddc7e[_0x213145(0x137)],_0x328a99[_0x213145(0x112)]===_0x213145(0x138)?_0x213145(0x117):_0x213145(0x138)),_0x192407=await _0x141d25({'appCode':_0x3ddc7e[_0x213145(0x137)],'scope':_0xcf1da6[_0x213145(0x11d)]===0x1?_0xcf1da6[0x0]:_0x213145(0x119),'code':_0x178ede[_0x213145(0x12b)]()||undefined}),_0xed734c=_0xcf1da6[_0x213145(0x11e)](_0x213145(0x132))?_0x192407[_0x213145(0x132)]:[],_0x3aea3f=_0xcf1da6[_0x213145(0x11e)](_0x213145(0x118))?_0x192407[_0x213145(0x118)]:[],_0x2a4811=new Set([..._0xed734c[_0x213145(0x122)](_0x1e3643=>_0x1e3643['skillCode']?.[_0x213145(0x12b)]())[_0x213145(0x12a)](_0x9e94d8=>Boolean(_0x9e94d8)),..._0x3aea3f[_0x213145(0x122)](_0x54fb53=>_0x54fb53[_0x213145(0x135)]?.[_0x213145(0x12b)]())['filter'](_0x29d31a=>Boolean(_0x29d31a))]),_0x3199ef=_0x178ede[_0x213145(0x12b)]()?[_0x178ede[_0x213145(0x12b)]()]:undefined,_0x989952=_0xcf1da6[_0x213145(0x11d)]===0x2&&_0xcf1da6[_0x213145(0x11e)](_0x213145(0x132))&&_0xcf1da6[_0x213145(0x11e)](_0x213145(0x118)),_0x5a6328=_0x989952?_0x3ef817(_0x328a99,_0x2a4811,_0x3199ef):[],_0x3b7800=_0x58915a({'env':_0x2b0b63,'accessKey':_0x56c864,'appCode':_0x3ddc7e[_0x213145(0x137)],'activeSkillCodes':_0x2a4811,'pruneSkillCodes':_0x3199ef,'scopes':_0xcf1da6,'protectedLinkRoots':_0x168483['skillRoots']}),_0x2806af=[..._0xed734c[_0x213145(0x122)](_0x21c07d=>({'skill':_0x21c07d,'scope':_0x213145(0x132)})),..._0x3aea3f['map'](_0x59f6c8=>({'skill':_0x59f6c8,'scope':_0x213145(0x118)}))],_0x57a019=await mapConcurrent(_0x2806af,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x349f36,scope:_0x362e21})=>{const _0x2e083c=_0x213145,_0x10dcfb=_0xece330(_0x349f36,_0x362e21,{'env':_0x2b0b63,'accessKey':_0x56c864,'appCode':_0x3ddc7e[_0x2e083c(0x137)]});if(_0x10dcfb)return _0x10dcfb;return _0x456f96(_0x349f36,_0x362e21,{'env':_0x2b0b63,'accessKey':_0x56c864,'appCode':_0x3ddc7e[_0x2e083c(0x137)],'force':_0x208a74,'packageBytes':await downloadSkillPackage(_0x349f36,_0x362e21,_0x3ddc7e[_0x2e083c(0x137)],_0x5ec88c)});}),_0x30162d=_0x4a7b1f(_0x57a019,_0x328a99),_0x4255b0=countLinkActions(_0x30162d);return{'ok':!![],'data':{'appCode':_0x3ddc7e[_0x213145(0x137)],..._0x328a99[_0x213145(0x112)]===_0x213145(0x138)?{'installTarget':{'scope':_0x328a99[_0x213145(0x112)],'skillRoots':[..._0x328a99[_0x213145(0x11f)]]}}:{},'personal':_0xed734c[_0x213145(0x11d)],'company':_0x3aea3f[_0x213145(0x11d)],'materialized':_0x57a019['length'],'links':{'total':_0x30162d[_0x213145(0x11d)],'created':_0x4255b0[_0x213145(0x128)]??0x0,'updated':_0x4255b0[_0x213145(0x133)]??0x0,'unchanged':_0x4255b0[_0x213145(0x120)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5a6328['filter'](_0x2d94f5=>_0x2d94f5['action']===_0x213145(0x12d))[_0x213145(0x11d)],'cacheDirs':_0x3b7800['filter'](_0x6eb13a=>_0x6eb13a[_0x213145(0x111)]==='removed')['length'],'skipped':[..._0x5a6328,..._0x3b7800][_0x213145(0x12a)](_0x3e65fd=>_0x3e65fd[_0x213145(0x111)]==='skipped')[_0x213145(0x11d)]},'skills':{'personal':_0xed734c[_0x213145(0x122)](summarizeRuntimeSkill),'company':_0x3aea3f['map'](summarizeRuntimeSkill)}},'message':_0x213145(0x131)+_0xed734c[_0x213145(0x11d)]+'\x20personal\x20and\x20'+_0x3aea3f[_0x213145(0x11d)]+'\x20company\x20Skill(s).'};}async function mapConcurrent(_0x15319b,_0x106ba3,_0x486260){const _0x164b02=a66_0x3bcc57,_0x58f2e1=new Array(_0x15319b[_0x164b02(0x11d)]);let _0x961248=0x0;const _0x47e050=Array[_0x164b02(0x126)]({'length':Math['min'](_0x106ba3,_0x15319b['length'])},async()=>{const _0x24745f=_0x164b02;while(_0x961248<_0x15319b[_0x24745f(0x11d)]){const _0x4cee46=_0x961248;_0x961248+=0x1,_0x58f2e1[_0x4cee46]=await _0x486260(_0x15319b[_0x4cee46]);}});return await Promise[_0x164b02(0x119)](_0x47e050),_0x58f2e1;}async function downloadSkillPackage(_0xb27013,_0x240aab,_0x2c9dd0,_0xdbc23c){const _0x1e1c6d=a66_0x3bcc57,_0x27d392=_0xb27013[_0x1e1c6d(0x136)]?.[_0x1e1c6d(0x12b)]();return _0x27d392?_0xdbc23c(_0x240aab,_0xb27013['skillCode'],_0x2c9dd0,_0x27d392):_0xdbc23c(_0x240aab,_0xb27013['skillCode'],_0x2c9dd0);}function countLinkActions(_0x5e3386){const _0x51ca3=a66_0x3bcc57;return _0x5e3386[_0x51ca3(0x116)]((_0xebbd3f,_0x58a1aa)=>{const _0x8f2538=_0x51ca3;return _0xebbd3f[_0x58a1aa[_0x8f2538(0x111)]]=(_0xebbd3f[_0x58a1aa[_0x8f2538(0x111)]]??0x0)+0x1,_0xebbd3f;},{});}function a66_0x4bcc(_0x3fb261,_0x15a474){_0x3fb261=_0x3fb261-0x111;const _0x454144=a66_0x4541();let _0x4bccbd=_0x454144[_0x3fb261];return _0x4bccbd;}function a66_0x4541(){const _0x132b8a=['815044VkGtxn','from','495360NxdDZZ','created','install','filter','trim','27OhESXD','removed','../../../core/api-client.js','27585DGSzyf','bool','Installed\x20','personal','updated','code','skillCode','version','appCode','project','498vAPjqq','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','action','scope','str','accessKey','1054280sBcULk','reduce','global','company','all','read','253170qgxwNu','430010wvWecr','length','includes','skillRoots','unchanged','5493215KWXITX','map','production','9JWPDbl'];a66_0x4541=function(){return _0x132b8a;};return a66_0x4541();}
1
+ const a66_0x34e0e8=a66_0x595f;(function(_0x20322d,_0x475be8){const _0x17ccb0=a66_0x595f,_0x13cc59=_0x20322d();while(!![]){try{const _0xd00441=-parseInt(_0x17ccb0(0x1e8))/0x1*(parseInt(_0x17ccb0(0x1d8))/0x2)+parseInt(_0x17ccb0(0x1d5))/0x3*(-parseInt(_0x17ccb0(0x1c7))/0x4)+parseInt(_0x17ccb0(0x1bb))/0x5*(parseInt(_0x17ccb0(0x1e9))/0x6)+-parseInt(_0x17ccb0(0x1c9))/0x7+parseInt(_0x17ccb0(0x1e0))/0x8*(-parseInt(_0x17ccb0(0x1be))/0x9)+-parseInt(_0x17ccb0(0x1eb))/0xa*(-parseInt(_0x17ccb0(0x1c6))/0xb)+parseInt(_0x17ccb0(0x1d6))/0xc*(parseInt(_0x17ccb0(0x1ce))/0xd);if(_0xd00441===_0x475be8)break;else _0x13cc59['push'](_0x13cc59['shift']());}catch(_0x36980e){_0x13cc59['push'](_0x13cc59['shift']());}}}(a66_0x33d3,0x27fb1));import{CliErrors}from'../../../errors.js';function a66_0x595f(_0x5c9987,_0x5b208b){_0x5c9987=_0x5c9987-0x1bb;const _0x33d3b5=a66_0x33d3();let _0x595f20=_0x33d3b5[_0x5c9987];return _0x595f20;}import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':a66_0x34e0e8(0x1cb),'command':a66_0x34e0e8(0x1e5),'description':a66_0x34e0e8(0x1d0),'risk':a66_0x34e0e8(0x1d1),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x19302f){return syncRuntimeSkills(_0x19302f);}};async function syncRuntimeSkills(_0x4f40c1){const _0x4a3ae6=a66_0x34e0e8,{downloadRuntimeSkillPackage:_0x1311d3,listRuntimeSkills:_0x5c1b2b}=await import(_0x4a3ae6(0x1e3)),{linkEffectiveRuntimeSkills:_0x365239,materializeRuntimeSkill:_0x5b00b0,pruneStaleRuntimeSkillCache:_0x467d92,pruneStaleRuntimeSkillLinks:_0x16d4c4,resolveRuntimeSkillInstallTarget:_0x39b4b5,reuseMaterializedRuntimeSkill:_0x1742e3}=await import(_0x4a3ae6(0x1e7)),_0x15faea=_0x4f40c1[_0x4a3ae6(0x1df)](_0x4a3ae6(0x1c2)),_0x38ec1e=normalizeSyncScopes(_0x4f40c1[_0x4a3ae6(0x1df)](_0x4a3ae6(0x1e2))),_0x486f46=_0x4f40c1['envName']??_0x4a3ae6(0x1d2),_0x3c17a4=_0x4f40c1[_0x4a3ae6(0x1bf)],_0x44fe6e=_0x4f40c1[_0x4a3ae6(0x1cd)](_0x4a3ae6(0x1d3));if(!_0x3c17a4)throw CliErrors[_0x4a3ae6(0x1d4)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x2e881b=_0x39b4b5(_0x4f40c1['appCode'],_0x4f40c1[_0x4a3ae6(0x1cd)](_0x4a3ae6(0x1e6))?'project':_0x4a3ae6(0x1e4)),_0x552673=_0x39b4b5(_0x4f40c1['appCode'],_0x2e881b[_0x4a3ae6(0x1e2)]==='project'?_0x4a3ae6(0x1e4):_0x4a3ae6(0x1e6)),_0x5a022d=await _0x5c1b2b({'appCode':_0x4f40c1[_0x4a3ae6(0x1ea)],'scope':_0x38ec1e[_0x4a3ae6(0x1dd)]===0x1?_0x38ec1e[0x0]:'all','code':_0x15faea[_0x4a3ae6(0x1db)]()||undefined}),_0x2f73af=_0x38ec1e[_0x4a3ae6(0x1bc)]('personal')?_0x5a022d[_0x4a3ae6(0x1c0)]:[],_0x2b4171=_0x38ec1e[_0x4a3ae6(0x1bc)](_0x4a3ae6(0x1dc))?_0x5a022d['company']:[],_0x4edef1=new Set([..._0x2f73af[_0x4a3ae6(0x1cf)](_0x215835=>_0x215835[_0x4a3ae6(0x1de)]?.[_0x4a3ae6(0x1db)]())[_0x4a3ae6(0x1ca)](_0x3b2352=>Boolean(_0x3b2352)),..._0x2b4171['map'](_0x42c448=>_0x42c448[_0x4a3ae6(0x1de)]?.[_0x4a3ae6(0x1db)]())[_0x4a3ae6(0x1ca)](_0x428dba=>Boolean(_0x428dba))]),_0x16ab1c=_0x15faea['trim']()?[_0x15faea['trim']()]:undefined,_0x5873a1=_0x38ec1e[_0x4a3ae6(0x1dd)]===0x2&&_0x38ec1e['includes'](_0x4a3ae6(0x1c0))&&_0x38ec1e[_0x4a3ae6(0x1bc)](_0x4a3ae6(0x1dc)),_0x1d2a5b=_0x5873a1?_0x16d4c4(_0x2e881b,_0x4edef1,_0x16ab1c):[],_0x457ad1=_0x467d92({'env':_0x486f46,'accessKey':_0x3c17a4,'appCode':_0x4f40c1[_0x4a3ae6(0x1ea)],'activeSkillCodes':_0x4edef1,'pruneSkillCodes':_0x16ab1c,'scopes':_0x38ec1e,'protectedLinkRoots':_0x552673[_0x4a3ae6(0x1c1)]}),_0x460c58=[..._0x2f73af['map'](_0x2f8a2e=>({'skill':_0x2f8a2e,'scope':_0x4a3ae6(0x1c0)})),..._0x2b4171[_0x4a3ae6(0x1cf)](_0xffa8a4=>({'skill':_0xffa8a4,'scope':_0x4a3ae6(0x1dc)}))],_0x2bc03c=await mapConcurrent(_0x460c58,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x49b552,scope:_0x2a2200})=>{const _0xb3d1a7=_0x1742e3(_0x49b552,_0x2a2200,{'env':_0x486f46,'accessKey':_0x3c17a4,'appCode':_0x4f40c1['appCode']});if(_0xb3d1a7)return _0xb3d1a7;return _0x5b00b0(_0x49b552,_0x2a2200,{'env':_0x486f46,'accessKey':_0x3c17a4,'appCode':_0x4f40c1['appCode'],'force':_0x44fe6e,'packageBytes':await downloadSkillPackage(_0x49b552,_0x2a2200,_0x4f40c1['appCode'],_0x1311d3)});}),_0xe80b0=_0x365239(_0x2bc03c,_0x2e881b),_0x21f9ad=countLinkActions(_0xe80b0);return{'ok':!![],'data':{'appCode':_0x4f40c1[_0x4a3ae6(0x1ea)],..._0x2e881b['scope']===_0x4a3ae6(0x1e6)?{'installTarget':{'scope':_0x2e881b[_0x4a3ae6(0x1e2)],'skillRoots':[..._0x2e881b[_0x4a3ae6(0x1c1)]]}}:{},'personal':_0x2f73af[_0x4a3ae6(0x1dd)],'company':_0x2b4171[_0x4a3ae6(0x1dd)],'materialized':_0x2bc03c[_0x4a3ae6(0x1dd)],'links':{'total':_0xe80b0[_0x4a3ae6(0x1dd)],'created':_0x21f9ad[_0x4a3ae6(0x1c8)]??0x0,'updated':_0x21f9ad[_0x4a3ae6(0x1cc)]??0x0,'unchanged':_0x21f9ad['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1d2a5b[_0x4a3ae6(0x1ca)](_0x3412de=>_0x3412de[_0x4a3ae6(0x1c4)]===_0x4a3ae6(0x1c5))[_0x4a3ae6(0x1dd)],'cacheDirs':_0x457ad1[_0x4a3ae6(0x1ca)](_0x119dca=>_0x119dca[_0x4a3ae6(0x1c4)]===_0x4a3ae6(0x1c5))[_0x4a3ae6(0x1dd)],'skipped':[..._0x1d2a5b,..._0x457ad1][_0x4a3ae6(0x1ca)](_0xbcf93b=>_0xbcf93b[_0x4a3ae6(0x1c4)]===_0x4a3ae6(0x1d7))[_0x4a3ae6(0x1dd)]},'skills':{'personal':_0x2f73af[_0x4a3ae6(0x1cf)](summarizeRuntimeSkill),'company':_0x2b4171['map'](summarizeRuntimeSkill)}},'message':_0x4a3ae6(0x1da)+_0x2f73af['length']+_0x4a3ae6(0x1c3)+_0x2b4171[_0x4a3ae6(0x1dd)]+'\x20company\x20Skill(s).'};}async function mapConcurrent(_0x73d0b1,_0x79c595,_0x436efd){const _0x127e92=a66_0x34e0e8,_0x53ec4e=new Array(_0x73d0b1[_0x127e92(0x1dd)]);let _0x3411bb=0x0;const _0x52ae96=Array['from']({'length':Math[_0x127e92(0x1d9)](_0x79c595,_0x73d0b1[_0x127e92(0x1dd)])},async()=>{while(_0x3411bb<_0x73d0b1['length']){const _0x168921=_0x3411bb;_0x3411bb+=0x1,_0x53ec4e[_0x168921]=await _0x436efd(_0x73d0b1[_0x168921]);}});return await Promise[_0x127e92(0x1bd)](_0x52ae96),_0x53ec4e;}function a66_0x33d3(){const _0x5198c2=['20ZgTjHP','includes','all','390231cCQUtD','accessKey','personal','skillRoots','code','\x20personal\x20and\x20','action','removed','24365DeiVpm','634308Fydtxh','created','1186612BvvQby','filter','skill','updated','bool','13GEpSvJ','map','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','read','production','force','authRequired','6JgCExr','7274472eNoqqg','skipped','22882oXiPjQ','min','Installed\x20','trim','company','length','skillCode','str','40JQvJLj','version','scope','../../../core/api-client.js','global','install','project','../../../skills/runtime-skill-sync.js','8xZLolC','475662DuiERs','appCode','160HNqJjQ'];a66_0x33d3=function(){return _0x5198c2;};return a66_0x33d3();}async function downloadSkillPackage(_0x227ca5,_0xa64d89,_0x376f1d,_0x28b7cf){const _0x3a61ba=a66_0x34e0e8,_0x33c2f8=_0x227ca5[_0x3a61ba(0x1e1)]?.[_0x3a61ba(0x1db)]();return _0x33c2f8?_0x28b7cf(_0xa64d89,_0x227ca5[_0x3a61ba(0x1de)],_0x376f1d,_0x33c2f8):_0x28b7cf(_0xa64d89,_0x227ca5[_0x3a61ba(0x1de)],_0x376f1d);}function countLinkActions(_0x104720){return _0x104720['reduce']((_0x3e3752,_0xaceee3)=>{const _0xa9b36a=a66_0x595f;return _0x3e3752[_0xaceee3[_0xa9b36a(0x1c4)]]=(_0x3e3752[_0xaceee3[_0xa9b36a(0x1c4)]]??0x0)+0x1,_0x3e3752;},{});}
@@ -1 +1 @@
1
- const a67_0x2f903e=a67_0x2704;(function(_0x6ae023,_0x319c24){const _0x8712c1=a67_0x2704,_0xa632df=_0x6ae023();while(!![]){try{const _0x4a193f=parseInt(_0x8712c1(0x10e))/0x1*(parseInt(_0x8712c1(0x10b))/0x2)+parseInt(_0x8712c1(0x109))/0x3*(parseInt(_0x8712c1(0xf7))/0x4)+parseInt(_0x8712c1(0x10d))/0x5+-parseInt(_0x8712c1(0x115))/0x6*(parseInt(_0x8712c1(0x110))/0x7)+parseInt(_0x8712c1(0x106))/0x8*(parseInt(_0x8712c1(0xfe))/0x9)+parseInt(_0x8712c1(0xfa))/0xa+-parseInt(_0x8712c1(0x10a))/0xb;if(_0x4a193f===_0x319c24)break;else _0xa632df['push'](_0xa632df['shift']());}catch(_0x33dc58){_0xa632df['push'](_0xa632df['shift']());}}}(a67_0x405c,0x3e467));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a67_0x2704(_0x2e1fa6,_0x524340){_0x2e1fa6=_0x2e1fa6-0xf6;const _0x405c23=a67_0x405c();let _0x2704bb=_0x405c23[_0x2e1fa6];return _0x2704bb;}export const listCommand={'service':a67_0x2f903e(0x100),'command':a67_0x2f903e(0x101),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a67_0x2f903e(0xf9),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x3ef21b){const _0x3b3f29=a67_0x2f903e,_0xfdf5f5=_0x3ef21b['str'](_0x3b3f29(0x112)),_0x34eb70=normalizeListScope(_0x3ef21b[_0x3b3f29(0x10c)](_0x3b3f29(0xff)));if(_0x3ef21b[_0x3b3f29(0x10f)](_0x3b3f29(0x117))){const _0x39e8c2=_0x3ef21b['accessKey'];if(!_0x39e8c2)throw CliErrors[_0x3b3f29(0x107)]();const {listLocalRuntimeSkills:_0x53316c,resolveRuntimeSkillInstallTarget:_0x113e16}=await import('../../../skills/runtime-skill-sync.js'),_0x5e076d=_0x113e16(_0x3ef21b[_0x3b3f29(0xf8)],_0x3ef21b[_0x3b3f29(0x10f)](_0x3b3f29(0x102))?_0x3b3f29(0x102):'global'),_0x11ccd3=_0x53316c({'env':_0x3ef21b[_0x3b3f29(0x103)]??_0x3b3f29(0xfb),'accessKey':_0x39e8c2,'appCode':_0x3ef21b[_0x3b3f29(0xf8)],'scopes':listScopeToRuntimeScopes(_0x34eb70),'code':_0xfdf5f5['trim']()||undefined},_0x5e076d),_0x9cefa4=groupLocalRuntimeSkills(_0x11ccd3);return{'ok':!![],'data':{'appCode':_0x3ef21b['appCode'],'source':'local',..._0x5e076d[_0x3b3f29(0xff)]===_0x3b3f29(0x102)?{'installScope':_0x5e076d['scope']}:{},'scope':_0x34eb70,'total':_0x11ccd3[_0x3b3f29(0x114)],'personal':_0x9cefa4[_0x3b3f29(0x118)][_0x3b3f29(0x114)],'company':_0x9cefa4[_0x3b3f29(0x111)]['length'],'items':_0x11ccd3[_0x3b3f29(0x113)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x9cefa4['personal']['map'](summarizeLocalRuntimeSkill),'company':_0x9cefa4['company'][_0x3b3f29(0x113)](summarizeLocalRuntimeSkill)}},'message':_0x3b3f29(0xfc)+_0x11ccd3[_0x3b3f29(0x114)]+_0x3b3f29(0x104)};}const {listRuntimeSkills:_0x20cd44}=await import(_0x3b3f29(0x119)),_0x1f2e06=await _0x20cd44({'appCode':_0x3ef21b['appCode'],'scope':listScopeToRemoteScope(_0x34eb70),'code':_0xfdf5f5[_0x3b3f29(0xf6)]()||undefined}),_0x4f517a=shouldListScope(_0x34eb70,_0x3b3f29(0x118))?_0x1f2e06[_0x3b3f29(0x118)]??[]:[],_0xcf979a=shouldListScope(_0x34eb70,'company')?_0x1f2e06[_0x3b3f29(0x111)]??[]:[],_0x561b0c=[..._0x4f517a,..._0xcf979a];return{'ok':!![],'data':{'appCode':_0x3ef21b[_0x3b3f29(0xf8)],'source':_0x3b3f29(0x116),'scope':_0x34eb70,'total':_0x561b0c[_0x3b3f29(0x114)],'personal':_0x4f517a[_0x3b3f29(0x114)],'company':_0xcf979a['length'],'items':_0x561b0c[_0x3b3f29(0x113)](summarizeRuntimeSkill),'skills':{'personal':_0x4f517a[_0x3b3f29(0x113)](summarizeRuntimeSkill),'company':_0xcf979a['map'](summarizeRuntimeSkill)}},'message':_0x3b3f29(0xfc)+_0x561b0c[_0x3b3f29(0x114)]+_0x3b3f29(0x105)};}};function groupLocalRuntimeSkills(_0xa0e3d7){const _0x36470f=a67_0x2f903e;return{'personal':_0xa0e3d7[_0x36470f(0x108)](_0x4c5116=>_0x4c5116['scope']==='personal'),'company':_0xa0e3d7['filter'](_0x4ff7db=>_0x4ff7db['scope']===_0x36470f(0x111)),'builtin':_0xa0e3d7[_0x36470f(0x108)](_0x2adf10=>_0x2adf10[_0x36470f(0xff)]===_0x36470f(0xfd))};}function a67_0x405c(){const _0x4e4de5=['map','length','21018OmwoYl','remote','local','personal','../../../core/api-client.js','trim','24028hcmpLx','appCode','read','1369580ACWEqp','production','Listed\x20','builtin','18lXKgim','scope','skill','list','project','envName','\x20local\x20Skill(s).','\x20remote\x20Skill(s).','1456088qrZkHf','authRequired','filter','3UCWGZK','7268635MhjMgk','10iKofLy','str','1424240aQecdG','82255XWMrDt','bool','574AiRcKa','company','code'];a67_0x405c=function(){return _0x4e4de5;};return a67_0x405c();}
1
+ const a67_0xed4ea9=a67_0x4d4e;(function(_0x47a06f,_0x1e4e7a){const _0x25355a=a67_0x4d4e,_0x1777ca=_0x47a06f();while(!![]){try{const _0x359cc9=-parseInt(_0x25355a(0xab))/0x1*(-parseInt(_0x25355a(0xaf))/0x2)+-parseInt(_0x25355a(0x9b))/0x3*(-parseInt(_0x25355a(0xa2))/0x4)+parseInt(_0x25355a(0x95))/0x5*(-parseInt(_0x25355a(0x9f))/0x6)+-parseInt(_0x25355a(0x9d))/0x7+parseInt(_0x25355a(0xa6))/0x8+-parseInt(_0x25355a(0x96))/0x9*(parseInt(_0x25355a(0x8d))/0xa)+-parseInt(_0x25355a(0x8c))/0xb*(-parseInt(_0x25355a(0x94))/0xc);if(_0x359cc9===_0x1e4e7a)break;else _0x1777ca['push'](_0x1777ca['shift']());}catch(_0x2aa7d0){_0x1777ca['push'](_0x1777ca['shift']());}}}(a67_0x429c,0x8d8b8));function a67_0x4d4e(_0x42b1bb,_0x5447e1){_0x42b1bb=_0x42b1bb-0x8c;const _0x429cb2=a67_0x429c();let _0x4d4e22=_0x429cb2[_0x42b1bb];return _0x4d4e22;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';function a67_0x429c(){const _0x33c760=['Listed\x20','388698urzhUH','appCode','code','12KexJXi','filter','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','global','3427600UMoxQJ','accessKey','skill','\x20local\x20Skill(s).','../../../skills/runtime-skill-sync.js','586361uLIHgM','read','../../../core/api-client.js','envName','2ipPZDm','bool','builtin','1453727ndhTfo','200930SoiITx','scope','remote','trim','company','personal','length','156AFBmru','70LhLceO','162hIoYoL','local','map','list','project','126501RyOGVK','\x20remote\x20Skill(s).','7076643CBshYk'];a67_0x429c=function(){return _0x33c760;};return a67_0x429c();}import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a67_0xed4ea9(0xa8),'command':a67_0xed4ea9(0x99),'description':a67_0xed4ea9(0xa4),'risk':a67_0xed4ea9(0xac),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x160a4f){const _0x1f3893=a67_0xed4ea9,_0x2328f4=_0x160a4f['str'](_0x1f3893(0xa1)),_0x5b0e1b=normalizeListScope(_0x160a4f['str'](_0x1f3893(0x8e)));if(_0x160a4f['bool'](_0x1f3893(0x97))){const _0x24b0b2=_0x160a4f[_0x1f3893(0xa7)];if(!_0x24b0b2)throw CliErrors['authRequired']();const {listLocalRuntimeSkills:_0x464910,resolveRuntimeSkillInstallTarget:_0x213355}=await import(_0x1f3893(0xaa)),_0x516397=_0x213355(_0x160a4f[_0x1f3893(0xa0)],_0x160a4f[_0x1f3893(0xb0)](_0x1f3893(0x9a))?_0x1f3893(0x9a):_0x1f3893(0xa5)),_0x389c13=_0x464910({'env':_0x160a4f[_0x1f3893(0xae)]??'production','accessKey':_0x24b0b2,'appCode':_0x160a4f[_0x1f3893(0xa0)],'scopes':listScopeToRuntimeScopes(_0x5b0e1b),'code':_0x2328f4[_0x1f3893(0x90)]()||undefined},_0x516397),_0x269dc5=groupLocalRuntimeSkills(_0x389c13);return{'ok':!![],'data':{'appCode':_0x160a4f[_0x1f3893(0xa0)],'source':'local',..._0x516397[_0x1f3893(0x8e)]===_0x1f3893(0x9a)?{'installScope':_0x516397['scope']}:{},'scope':_0x5b0e1b,'total':_0x389c13[_0x1f3893(0x93)],'personal':_0x269dc5['personal'][_0x1f3893(0x93)],'company':_0x269dc5[_0x1f3893(0x91)][_0x1f3893(0x93)],'items':_0x389c13[_0x1f3893(0x98)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x269dc5[_0x1f3893(0x92)][_0x1f3893(0x98)](summarizeLocalRuntimeSkill),'company':_0x269dc5[_0x1f3893(0x91)][_0x1f3893(0x98)](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x389c13[_0x1f3893(0x93)]+_0x1f3893(0xa9)};}const {listRuntimeSkills:_0xe66aaa}=await import(_0x1f3893(0xad)),_0x13bf77=await _0xe66aaa({'appCode':_0x160a4f['appCode'],'scope':listScopeToRemoteScope(_0x5b0e1b),'code':_0x2328f4[_0x1f3893(0x90)]()||undefined}),_0x43efc7=shouldListScope(_0x5b0e1b,_0x1f3893(0x92))?_0x13bf77[_0x1f3893(0x92)]??[]:[],_0x323dc1=shouldListScope(_0x5b0e1b,_0x1f3893(0x91))?_0x13bf77[_0x1f3893(0x91)]??[]:[],_0xc5650d=[..._0x43efc7,..._0x323dc1];return{'ok':!![],'data':{'appCode':_0x160a4f[_0x1f3893(0xa0)],'source':_0x1f3893(0x8f),'scope':_0x5b0e1b,'total':_0xc5650d[_0x1f3893(0x93)],'personal':_0x43efc7['length'],'company':_0x323dc1[_0x1f3893(0x93)],'items':_0xc5650d[_0x1f3893(0x98)](summarizeRuntimeSkill),'skills':{'personal':_0x43efc7[_0x1f3893(0x98)](summarizeRuntimeSkill),'company':_0x323dc1[_0x1f3893(0x98)](summarizeRuntimeSkill)}},'message':_0x1f3893(0x9e)+_0xc5650d[_0x1f3893(0x93)]+_0x1f3893(0x9c)};}};function groupLocalRuntimeSkills(_0x48c20c){const _0x4c7353=a67_0xed4ea9;return{'personal':_0x48c20c[_0x4c7353(0xa3)](_0x3a3c85=>_0x3a3c85[_0x4c7353(0x8e)]===_0x4c7353(0x92)),'company':_0x48c20c['filter'](_0x5f5941=>_0x5f5941[_0x4c7353(0x8e)]===_0x4c7353(0x91)),'builtin':_0x48c20c[_0x4c7353(0xa3)](_0x543880=>_0x543880[_0x4c7353(0x8e)]===_0x4c7353(0xb1))};}