@lovrabet/lovrabet-cli 2.3.3-beta.1 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) 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/approval/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +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.js +1 -1
  91. package/lib/config/schema.js +1 -1
  92. package/lib/constant/app.js +1 -1
  93. package/lib/constant/auth-mode.js +1 -1
  94. package/lib/constant/cli.js +1 -1
  95. package/lib/constant/defaults.js +1 -1
  96. package/lib/constant/distribution.js +1 -1
  97. package/lib/constant/domain.js +1 -1
  98. package/lib/constant/env.js +1 -1
  99. package/lib/constant/output.js +1 -1
  100. package/lib/constant/product.js +1 -1
  101. package/lib/constant/region.js +1 -1
  102. package/lib/constant/risk.js +1 -1
  103. package/lib/constant/url.js +1 -1
  104. package/lib/context.js +1 -1
  105. package/lib/core/api-client.js +1 -1
  106. package/lib/core/db-resolver.js +1 -1
  107. package/lib/core/kb-search-client.js +1 -1
  108. package/lib/core/sdk-client.js +1 -1
  109. package/lib/errors.js +1 -1
  110. package/lib/framework/build-all-flags.js +1 -1
  111. package/lib/framework/dryrun.js +1 -1
  112. package/lib/framework/flags.js +1 -1
  113. package/lib/framework/help.js +1 -1
  114. package/lib/framework/index.js +1 -1
  115. package/lib/framework/output.js +1 -1
  116. package/lib/framework/preparse.js +1 -1
  117. package/lib/framework/rate-limit.js +1 -1
  118. package/lib/framework/raw-flags.js +1 -1
  119. package/lib/framework/response.js +1 -1
  120. package/lib/framework/runner-confirmation.js +1 -1
  121. package/lib/framework/runner-error.js +1 -1
  122. package/lib/framework/runner.js +1 -1
  123. package/lib/framework/schema-export.js +1 -1
  124. package/lib/framework/service-order.js +1 -1
  125. package/lib/framework/types.js +1 -1
  126. package/lib/generated/build-info.d.ts +4 -4
  127. package/lib/generated/build-info.js +1 -1
  128. package/lib/generated/official-routing.js +1 -1
  129. package/lib/generated/routing-contract.js +1 -1
  130. package/lib/help.js +1 -1
  131. package/lib/postinstall.js +1 -1
  132. package/lib/runtime/confirmation.js +1 -1
  133. package/lib/runtime/event.js +1 -1
  134. package/lib/runtime/index.js +1 -1
  135. package/lib/runtime/queue.js +1 -1
  136. package/lib/runtime/resolve.js +1 -1
  137. package/lib/skills/builtin-skill.js +1 -1
  138. package/lib/skills/npx-skills-add.js +1 -1
  139. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  140. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  141. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  142. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  143. package/lib/skills/runtime-skill-sync/links.js +1 -1
  144. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  145. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  146. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  147. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  148. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  149. package/lib/skills/runtime-skill-sync/push.js +1 -1
  150. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  151. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  152. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  153. package/lib/skills/runtime-skill-sync.js +1 -1
  154. package/lib/skills/skill-presence.js +1 -1
  155. package/lib/utils/access-key-redaction.js +1 -1
  156. package/lib/utils/apply-jq-filter.js +1 -1
  157. package/lib/utils/cli-version-check.js +1 -1
  158. package/lib/utils/cli-version-policy.js +1 -1
  159. package/lib/utils/logger.js +1 -1
  160. package/lib/utils/lossless-json.js +1 -1
  161. package/lib/utils/params.js +1 -1
  162. package/lib/utils/positive-safe-integer.js +1 -1
  163. package/lib/utils/redaction.js +1 -1
  164. package/lib/utils/update-notice.js +1 -1
  165. package/lib/utils/version.js +1 -1
  166. package/lib/utils/write-cli-side-channel.js +1 -1
  167. package/package.json +1 -1
  168. package/skills/lovrabet/SKILL.md +1 -1
  169. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a59_0x4c0a7e=a59_0x3e5d;(function(_0x386cfb,_0x455730){const _0x277651=a59_0x3e5d,_0x5b81c1=_0x386cfb();while(!![]){try{const _0x3bc51c=parseInt(_0x277651(0x1a7))/0x1*(parseInt(_0x277651(0x19c))/0x2)+parseInt(_0x277651(0x1b3))/0x3*(parseInt(_0x277651(0x1c3))/0x4)+-parseInt(_0x277651(0x1bc))/0x5*(parseInt(_0x277651(0x1ba))/0x6)+parseInt(_0x277651(0x184))/0x7+parseInt(_0x277651(0x190))/0x8*(-parseInt(_0x277651(0x1c5))/0x9)+-parseInt(_0x277651(0x1b9))/0xa+-parseInt(_0x277651(0x189))/0xb*(-parseInt(_0x277651(0x17e))/0xc);if(_0x3bc51c===_0x455730)break;else _0x5b81c1['push'](_0x5b81c1['shift']());}catch(_0x6c2802){_0x5b81c1['push'](_0x5b81c1['shift']());}}}(a59_0xf833,0x28e2e));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';function a59_0x3e5d(_0x7341ab,_0x448d10){_0x7341ab=_0x7341ab-0x176;const _0xf83329=a59_0xf833();let _0x3e5d40=_0xf83329[_0x7341ab];return _0x3e5d40;}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':a59_0x4c0a7e(0x180),'type':a59_0x4c0a7e(0x1a1),'required':!![],'enum':[a59_0x4c0a7e(0x1a3),'ONCE'],'description':'Schedule\x20kind:\x20CRON\x20or\x20ONCE'},CRON_FLAG={'name':a59_0x4c0a7e(0x19f),'type':a59_0x4c0a7e(0x1a1),'description':a59_0x4c0a7e(0x18d)},SCHEDULED_AT_FLAG={'name':a59_0x4c0a7e(0x194),'type':a59_0x4c0a7e(0x1a1),'description':a59_0x4c0a7e(0x17c)},TITLE_FLAG={'name':a59_0x4c0a7e(0x18c),'type':a59_0x4c0a7e(0x1a1),'required':!![],'description':a59_0x4c0a7e(0x1c4)},PROMPT_FLAG={'name':a59_0x4c0a7e(0x19b),'type':'string','required':!![],'description':a59_0x4c0a7e(0x1b7)},MODEL_FLAG={'name':'model','type':a59_0x4c0a7e(0x1a1),'enum':[a59_0x4c0a7e(0x178),a59_0x4c0a7e(0x182),a59_0x4c0a7e(0x1a9)],'default':a59_0x4c0a7e(0x182),'description':a59_0x4c0a7e(0x192)},SCHEDULE_ID_FLAG={'name':a59_0x4c0a7e(0x17a),'type':a59_0x4c0a7e(0x1a1),'required':!![],'description':a59_0x4c0a7e(0x1c7),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a59_0x4c0a7e(0x185)}},LIMIT_FLAG={'name':'limit','type':a59_0x4c0a7e(0x1a4),'default':0x14,'description':a59_0x4c0a7e(0x183)},CURSOR_FLAG={'name':'cursor','type':'string','description':a59_0x4c0a7e(0x17d)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x12aadc){const _0x11405f=a59_0x4c0a7e,_0x9dc0a9=_0x12aadc[_0x11405f(0x188)](_0x11405f(0x180)),_0x7d7a96=_0x12aadc[_0x11405f(0x188)]('title')['trim'](),_0x2b4196=_0x12aadc[_0x11405f(0x188)](_0x11405f(0x19b))[_0x11405f(0x191)](),_0x5ce31e=_0x12aadc[_0x11405f(0x188)](_0x11405f(0x195)),_0x217895=_0x12aadc['str'](_0x11405f(0x19f)),_0x1bd710=_0x12aadc[_0x11405f(0x188)](_0x11405f(0x194));if(!_0x7d7a96)throw CliErrors['validation'](_0x11405f(0x1a5));if(!_0x2b4196)throw CliErrors[_0x11405f(0x19e)](_0x11405f(0x1c2));if(_0x9dc0a9===_0x11405f(0x1a3)){if(!_0x217895||_0x1bd710)throw CliErrors['validation'](_0x11405f(0x19d));return{'kind':_0x9dc0a9,'timezone':_0x11405f(0x1be),'cron':_0x217895,'title':_0x7d7a96,'prompt':_0x2b4196,'model':_0x5ce31e};}if(_0x9dc0a9===_0x11405f(0x187)){if(!_0x1bd710||_0x217895)throw CliErrors['validation'](_0x11405f(0x196));return{'kind':_0x9dc0a9,'timezone':_0x11405f(0x1be),'scheduledAt':_0x1bd710,'title':_0x7d7a96,'prompt':_0x2b4196,'model':_0x5ce31e};}throw CliErrors[_0x11405f(0x19e)](_0x11405f(0x17f));}function a59_0xf833(){const _0x3ae835=['--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','\x20immediately','taskId','Preview:\x20run\x20schedule\x20','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','111pcPaIJ','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','Schedule\x20input\x20is\x20valid','run','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','DELETE','2997590JsYrTN','5676ZZAhHQ','POST','300qePfXm','length','UTC','detail','build','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','--prompt\x20must\x20not\x20be\x20blank.','33084WXwuOL','Schedule\x20title','1900251RaISNx','/schedules','Schedule\x20UUID','scheduleId','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','list','cursor','kimi/k3','validate','schedule-id','\x20schedule\x20','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','8160ZLvsuR','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','kind','Preview:\x20create\x20an\x20Agent\x20schedule','deepseek-v4-flash-0731','Page\x20size\x20from\x201\x20to\x20100','1042643sAbnYM','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','delete','ONCE','str','1859vkMVBT','read','/run','title','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','Deleted\x20schedule\x20','8RkAgPU','trim','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','scheduled-at','model','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','appCode','/api/harness/apps/','high-risk-write','limit','prompt','330464vFPDnN','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','validation','cron','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','string','Show\x20one\x20schedule\x20by\x20schedule\x20ID','CRON','number','--title\x20must\x20not\x20be\x20blank.','Queued\x20Task\x20','1uGbMRo','schedule','deepseek-v4-pro-0813','description','num','Created\x20','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.'];a59_0xf833=function(){return _0x3ae835;};return a59_0xf833();}function scheduleCollectionPath(_0xa5da92){const _0x19219d=a59_0x4c0a7e;return _0x19219d(0x198)+encodeURIComponent(_0xa5da92)+_0x19219d(0x1c6);}function scheduleItemPath(_0x3a8d10,_0x1c515f){return scheduleCollectionPath(_0x3a8d10)+'/'+encodeURIComponent(_0x1c515f);}const scheduleValidate={'service':'schedule','command':a59_0x4c0a7e(0x179),'description':a59_0x4c0a7e(0x1b2),'risk':a59_0x4c0a7e(0x18a),'flags':INPUT_FLAGS,async 'validate'(_0x25fe37){readScheduleInput(_0x25fe37);},async 'execute'(_0x5cabe5){const _0x25109b=a59_0x4c0a7e,_0x36025d=readScheduleInput(_0x5cabe5),_0x1e75d7=await validateRuntimeSchedule(_0x5cabe5[_0x25109b(0x197)],_0x36025d);return{'ok':!![],'data':_0x1e75d7,'message':_0x25109b(0x1b5)};}},scheduleCreate={'service':a59_0x4c0a7e(0x1a8),'command':'create','description':a59_0x4c0a7e(0x1a0),'risk':'high-risk-write','confirmationDescription':a59_0x4c0a7e(0x18e),'flags':INPUT_FLAGS,async 'validate'(_0x1b14fe){readScheduleInput(_0x1b14fe);},async 'execute'(_0x2df3da){const _0x3a16e2=a59_0x4c0a7e,_0x26c9bd=readScheduleInput(_0x2df3da),_0xeb3774=await validateRuntimeSchedule(_0x2df3da['appCode'],_0x26c9bd),_0x3de0da=await createRuntimeSchedule(_0x2df3da[_0x3a16e2(0x197)],_0xeb3774);return{'ok':!![],'data':_0x3de0da,'message':_0x3a16e2(0x1ac)+_0x3de0da[_0x3a16e2(0x180)]+_0x3a16e2(0x17b)+_0x3de0da[_0x3a16e2(0x1c8)]};},async 'dryRun'(_0xb24efe){const _0x5770a4=a59_0x4c0a7e,_0x361e30=readScheduleInput(_0xb24efe);return dryRun(_0x5770a4(0x1bb),scheduleCollectionPath(_0xb24efe[_0x5770a4(0x197)]))['body'](_0x361e30)[_0x5770a4(0x1aa)](_0x5770a4(0x181))['build']();}},scheduleList={'service':a59_0x4c0a7e(0x1a8),'command':a59_0x4c0a7e(0x176),'description':a59_0x4c0a7e(0x193),'risk':a59_0x4c0a7e(0x18a),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x247dc9){const _0x3e3359=a59_0x4c0a7e,_0x2c25b0=_0x247dc9[_0x3e3359(0x1ab)]('limit');if(!Number['isSafeInteger'](_0x2c25b0)||_0x2c25b0<0x1||_0x2c25b0>0x64)throw CliErrors[_0x3e3359(0x19e)](_0x3e3359(0x1ae));const _0x39fcd0=_0x247dc9[_0x3e3359(0x188)](_0x3e3359(0x177));if(_0x39fcd0&&(_0x39fcd0[_0x3e3359(0x1bd)]>0x400||_0x39fcd0[_0x3e3359(0x191)]()!==_0x39fcd0))throw CliErrors[_0x3e3359(0x19e)](_0x3e3359(0x1c9));},async 'execute'(_0xf0ddf8){const _0x1e5f48=a59_0x4c0a7e,_0x459793=_0xf0ddf8[_0x1e5f48(0x188)](_0x1e5f48(0x177)),_0x37a48b=await listRuntimeSchedules(_0xf0ddf8[_0x1e5f48(0x197)],{'kind':_0xf0ddf8['str']('kind'),'limit':_0xf0ddf8[_0x1e5f48(0x1ab)](_0x1e5f48(0x19a)),..._0x459793?{'cursor':_0x459793}:{}});return{'ok':!![],'data':_0x37a48b};}},scheduleDetail={'service':a59_0x4c0a7e(0x1a8),'command':a59_0x4c0a7e(0x1bf),'description':a59_0x4c0a7e(0x1a2),'risk':a59_0x4c0a7e(0x18a),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x4bce05){const _0x21bef8=a59_0x4c0a7e,_0x8a8489=await getRuntimeSchedule(_0x4bce05[_0x21bef8(0x197)],_0x4bce05[_0x21bef8(0x188)]('schedule-id'));return{'ok':!![],'data':_0x8a8489};}},scheduleRun={'service':a59_0x4c0a7e(0x1a8),'command':a59_0x4c0a7e(0x1b6),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a59_0x4c0a7e(0x199),'confirmationDescription':a59_0x4c0a7e(0x1ad),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x160bab){const _0x5e34e8=a59_0x4c0a7e,_0x32f067=_0x160bab['str']('schedule-id'),_0x3789b7=await runRuntimeSchedule(_0x160bab[_0x5e34e8(0x197)],_0x32f067);return{'ok':!![],'data':_0x3789b7,'message':_0x5e34e8(0x1a6)+_0x3789b7[_0x5e34e8(0x1b0)]+'\x20from\x20schedule\x20'+_0x32f067};},async 'dryRun'(_0x51fd68){const _0x3001d1=a59_0x4c0a7e,_0x4965d8=_0x51fd68[_0x3001d1(0x188)]('schedule-id');return dryRun('POST',scheduleItemPath(_0x51fd68[_0x3001d1(0x197)],_0x4965d8)+_0x3001d1(0x18b))[_0x3001d1(0x1aa)](_0x3001d1(0x1b1)+_0x4965d8+_0x3001d1(0x1af))['build']();}},scheduleDelete={'service':a59_0x4c0a7e(0x1a8),'command':a59_0x4c0a7e(0x186),'description':a59_0x4c0a7e(0x1b4),'risk':'high-risk-write','confirmationDescription':a59_0x4c0a7e(0x1c1),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x19d106){const _0x218491=a59_0x4c0a7e,_0xe11724=_0x19d106[_0x218491(0x188)]('schedule-id'),_0x29a25f=await deleteRuntimeSchedule(_0x19d106[_0x218491(0x197)],_0xe11724);return{'ok':!![],'data':_0x29a25f,'message':_0x218491(0x18f)+_0xe11724};},async 'dryRun'(_0x5ed074){const _0x4dc6bd=a59_0x4c0a7e,_0x3bce3b=_0x5ed074[_0x4dc6bd(0x188)](_0x4dc6bd(0x17a));return dryRun(_0x4dc6bd(0x1b8),scheduleItemPath(_0x5ed074[_0x4dc6bd(0x197)],_0x3bce3b))[_0x4dc6bd(0x1aa)]('Preview:\x20delete\x20schedule\x20'+_0x3bce3b)[_0x4dc6bd(0x1c0)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
1
+ const a59_0x266aa3=a59_0x91b5;(function(_0x2c8b66,_0x26dfcd){const _0x66c3d3=a59_0x91b5,_0x46721b=_0x2c8b66();while(!![]){try{const _0x298b2e=parseInt(_0x66c3d3(0x123))/0x1+parseInt(_0x66c3d3(0x118))/0x2*(parseInt(_0x66c3d3(0x11e))/0x3)+parseInt(_0x66c3d3(0x115))/0x4+parseInt(_0x66c3d3(0x10e))/0x5+-parseInt(_0x66c3d3(0x11b))/0x6+parseInt(_0x66c3d3(0x140))/0x7+-parseInt(_0x66c3d3(0x11d))/0x8;if(_0x298b2e===_0x26dfcd)break;else _0x46721b['push'](_0x46721b['shift']());}catch(_0x168cb2){_0x46721b['push'](_0x46721b['shift']());}}}(a59_0x1d16,0x2b112));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':a59_0x266aa3(0x133),'type':a59_0x266aa3(0x111),'required':!![],'enum':[a59_0x266aa3(0x144),a59_0x266aa3(0x130)],'description':a59_0x266aa3(0x13f)},CRON_FLAG={'name':a59_0x266aa3(0x11c),'type':a59_0x266aa3(0x111),'description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':a59_0x266aa3(0x152),'type':a59_0x266aa3(0x111),'description':a59_0x266aa3(0x149)},TITLE_FLAG={'name':a59_0x266aa3(0x148),'type':a59_0x266aa3(0x111),'required':!![],'description':a59_0x266aa3(0x117)},PROMPT_FLAG={'name':a59_0x266aa3(0x136),'type':a59_0x266aa3(0x111),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':a59_0x266aa3(0x143),'type':a59_0x266aa3(0x111),'enum':[a59_0x266aa3(0x154),a59_0x266aa3(0x14d),a59_0x266aa3(0x145)],'default':'deepseek-v4-flash-0731','description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':a59_0x266aa3(0x10d),'type':a59_0x266aa3(0x111),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a59_0x266aa3(0x14c),'type':a59_0x266aa3(0x13c),'default':0x14,'description':a59_0x266aa3(0x113)},CURSOR_FLAG={'name':'cursor','type':'string','description':a59_0x266aa3(0x11f)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x128596){const _0x1fb5e4=a59_0x266aa3,_0x16b5ef=_0x128596[_0x1fb5e4(0x112)](_0x1fb5e4(0x133)),_0x1bf44d=_0x128596['str'](_0x1fb5e4(0x148))[_0x1fb5e4(0x141)](),_0xc464fe=_0x128596[_0x1fb5e4(0x112)](_0x1fb5e4(0x136))[_0x1fb5e4(0x141)](),_0x2973ae=_0x128596[_0x1fb5e4(0x112)]('model'),_0x1c22e4=_0x128596['str']('cron'),_0x4efe28=_0x128596[_0x1fb5e4(0x112)](_0x1fb5e4(0x152));if(!_0x1bf44d)throw CliErrors['validation'](_0x1fb5e4(0x139));if(!_0xc464fe)throw CliErrors['validation']('--prompt\x20must\x20not\x20be\x20blank.');if(_0x16b5ef===_0x1fb5e4(0x144)){if(!_0x1c22e4||_0x4efe28)throw CliErrors[_0x1fb5e4(0x11a)]('CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.');return{'kind':_0x16b5ef,'timezone':_0x1fb5e4(0x13e),'cron':_0x1c22e4,'title':_0x1bf44d,'prompt':_0xc464fe,'model':_0x2973ae};}if(_0x16b5ef==='ONCE'){if(!_0x4efe28||_0x1c22e4)throw CliErrors['validation'](_0x1fb5e4(0x12f));return{'kind':_0x16b5ef,'timezone':'UTC','scheduledAt':_0x4efe28,'title':_0x1bf44d,'prompt':_0xc464fe,'model':_0x2973ae};}throw CliErrors[_0x1fb5e4(0x11a)](_0x1fb5e4(0x12c));}function scheduleCollectionPath(_0x2570c5){const _0xd59f83=a59_0x266aa3;return _0xd59f83(0x14e)+encodeURIComponent(_0x2570c5)+_0xd59f83(0x124);}function a59_0x91b5(_0x265555,_0x26c255){_0x265555=_0x265555-0x10d;const _0x1d16b6=a59_0x1d16();let _0x91b530=_0x1d16b6[_0x265555];return _0x91b530;}function scheduleItemPath(_0x10f15b,_0x405c12){return scheduleCollectionPath(_0x10f15b)+'/'+encodeURIComponent(_0x405c12);}const scheduleValidate={'service':a59_0x266aa3(0x12e),'command':a59_0x266aa3(0x122),'description':a59_0x266aa3(0x142),'risk':a59_0x266aa3(0x129),'flags':INPUT_FLAGS,async 'validate'(_0x251784){readScheduleInput(_0x251784);},async 'execute'(_0x5608c7){const _0x1202f0=a59_0x266aa3,_0xcc8942=readScheduleInput(_0x5608c7),_0x4e634e=await validateRuntimeSchedule(_0x5608c7[_0x1202f0(0x135)],_0xcc8942);return{'ok':!![],'data':_0x4e634e,'message':_0x1202f0(0x120)};}},scheduleCreate={'service':'schedule','command':a59_0x266aa3(0x146),'description':a59_0x266aa3(0x116),'risk':a59_0x266aa3(0x10f),'confirmationDescription':a59_0x266aa3(0x14b),'flags':INPUT_FLAGS,async 'validate'(_0x7d7511){readScheduleInput(_0x7d7511);},async 'execute'(_0x46fb88){const _0x2de568=a59_0x266aa3,_0x156571=readScheduleInput(_0x46fb88),_0x42b2eb=await validateRuntimeSchedule(_0x46fb88[_0x2de568(0x135)],_0x156571),_0x1c90fa=await createRuntimeSchedule(_0x46fb88[_0x2de568(0x135)],_0x42b2eb);return{'ok':!![],'data':_0x1c90fa,'message':_0x2de568(0x138)+_0x1c90fa[_0x2de568(0x133)]+_0x2de568(0x14a)+_0x1c90fa[_0x2de568(0x147)]};},async 'dryRun'(_0x6cf0cf){const _0x5198f3=a59_0x266aa3,_0x3fb511=readScheduleInput(_0x6cf0cf);return dryRun(_0x5198f3(0x150),scheduleCollectionPath(_0x6cf0cf['appCode']))[_0x5198f3(0x128)](_0x3fb511)[_0x5198f3(0x155)](_0x5198f3(0x12b))[_0x5198f3(0x127)]();}},scheduleList={'service':a59_0x266aa3(0x12e),'command':a59_0x266aa3(0x157),'description':'List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','risk':a59_0x266aa3(0x129),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x45c4ea){const _0x365963=a59_0x266aa3,_0x1eb024=_0x45c4ea[_0x365963(0x110)](_0x365963(0x14c));if(!Number[_0x365963(0x12a)](_0x1eb024)||_0x1eb024<0x1||_0x1eb024>0x64)throw CliErrors['validation'](_0x365963(0x126));const _0x5150a2=_0x45c4ea[_0x365963(0x112)](_0x365963(0x131));if(_0x5150a2&&(_0x5150a2[_0x365963(0x13a)]>0x400||_0x5150a2[_0x365963(0x141)]()!==_0x5150a2))throw CliErrors[_0x365963(0x11a)](_0x365963(0x119));},async 'execute'(_0x14d4c3){const _0x4f2b28=a59_0x266aa3,_0x1e5685=_0x14d4c3['str'](_0x4f2b28(0x131)),_0x545ab3=await listRuntimeSchedules(_0x14d4c3[_0x4f2b28(0x135)],{'kind':_0x14d4c3[_0x4f2b28(0x112)](_0x4f2b28(0x133)),'limit':_0x14d4c3[_0x4f2b28(0x110)]('limit'),..._0x1e5685?{'cursor':_0x1e5685}:{}});return{'ok':!![],'data':_0x545ab3};}},scheduleDetail={'service':a59_0x266aa3(0x12e),'command':'detail','description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':'read','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2d5d65){const _0x1e3949=a59_0x266aa3,_0x16b8bf=await getRuntimeSchedule(_0x2d5d65['appCode'],_0x2d5d65[_0x1e3949(0x112)]('schedule-id'));return{'ok':!![],'data':_0x16b8bf};}},scheduleRun={'service':a59_0x266aa3(0x12e),'command':a59_0x266aa3(0x12d),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a59_0x266aa3(0x10f),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x639f2){const _0x58e815=a59_0x266aa3,_0x19b6a1=_0x639f2['str']('schedule-id'),_0xc3a4f2=await runRuntimeSchedule(_0x639f2['appCode'],_0x19b6a1);return{'ok':!![],'data':_0xc3a4f2,'message':_0x58e815(0x151)+_0xc3a4f2[_0x58e815(0x114)]+_0x58e815(0x121)+_0x19b6a1};},async 'dryRun'(_0x4f80c5){const _0x569f00=a59_0x266aa3,_0x513951=_0x4f80c5[_0x569f00(0x112)](_0x569f00(0x10d));return dryRun(_0x569f00(0x150),scheduleItemPath(_0x4f80c5['appCode'],_0x513951)+_0x569f00(0x13b))[_0x569f00(0x155)](_0x569f00(0x14f)+_0x513951+_0x569f00(0x132))[_0x569f00(0x127)]();}},scheduleDelete={'service':a59_0x266aa3(0x12e),'command':a59_0x266aa3(0x13d),'description':a59_0x266aa3(0x156),'risk':a59_0x266aa3(0x10f),'confirmationDescription':a59_0x266aa3(0x125),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2de55b){const _0x5c4728=a59_0x266aa3,_0x22f21d=_0x2de55b[_0x5c4728(0x112)]('schedule-id'),_0x2cbfe0=await deleteRuntimeSchedule(_0x2de55b['appCode'],_0x22f21d);return{'ok':!![],'data':_0x2cbfe0,'message':_0x5c4728(0x153)+_0x22f21d};},async 'dryRun'(_0x1152f1){const _0x4ae4fb=a59_0x266aa3,_0x218abe=_0x1152f1[_0x4ae4fb(0x112)]('schedule-id');return dryRun(_0x4ae4fb(0x134),scheduleItemPath(_0x1152f1[_0x4ae4fb(0x135)],_0x218abe))[_0x4ae4fb(0x155)](_0x4ae4fb(0x137)+_0x218abe)[_0x4ae4fb(0x127)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];function a59_0x1d16(){const _0x410714=['Queued\x20Task\x20','scheduled-at','Deleted\x20schedule\x20','kimi/k3','description','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','list','schedule-id','1017470zsesff','high-risk-write','num','string','str','Page\x20size\x20from\x201\x20to\x20100','taskId','363052ksnGzJ','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','Schedule\x20title','2978uDHfrF','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','validation','835584HZRpDf','cron','3439408YXwAYi','66FsIJou','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','Schedule\x20input\x20is\x20valid','\x20from\x20schedule\x20','validate','162627eLedYB','/schedules','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','build','body','read','isSafeInteger','Preview:\x20create\x20an\x20Agent\x20schedule','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','run','schedule','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','ONCE','cursor','\x20immediately','kind','DELETE','appCode','prompt','Preview:\x20delete\x20schedule\x20','Created\x20','--title\x20must\x20not\x20be\x20blank.','length','/run','number','delete','UTC','Schedule\x20kind:\x20CRON\x20or\x20ONCE','1791650NwrJZE','trim','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','model','CRON','deepseek-v4-pro-0813','create','scheduleId','title','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','\x20schedule\x20','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','limit','deepseek-v4-flash-0731','/api/harness/apps/','Preview:\x20run\x20schedule\x20','POST'];a59_0x1d16=function(){return _0x410714;};return a59_0x1d16();}
@@ -1 +1 @@
1
- const a60_0x10b587=a60_0x5f39;(function(_0xcf4832,_0x5dd724){const _0x108179=a60_0x5f39,_0x57ed4b=_0xcf4832();while(!![]){try{const _0x5ced38=-parseInt(_0x108179(0x168))/0x1+-parseInt(_0x108179(0x15f))/0x2*(-parseInt(_0x108179(0x15a))/0x3)+-parseInt(_0x108179(0x164))/0x4+-parseInt(_0x108179(0x162))/0x5*(-parseInt(_0x108179(0x15c))/0x6)+parseInt(_0x108179(0x166))/0x7*(parseInt(_0x108179(0x165))/0x8)+-parseInt(_0x108179(0x15e))/0x9*(-parseInt(_0x108179(0x167))/0xa)+-parseInt(_0x108179(0x160))/0xb*(parseInt(_0x108179(0x161))/0xc);if(_0x5ced38===_0x5dd724)break;else _0x57ed4b['push'](_0x57ed4b['shift']());}catch(_0x24478a){_0x57ed4b['push'](_0x57ed4b['shift']());}}}(a60_0xf8fd,0x51987));function a60_0x5f39(_0xe38ba,_0x57c87b){_0xe38ba=_0xe38ba-0x15a;const _0xf8fdc4=a60_0xf8fd();let _0x5f3932=_0xf8fdc4[_0xe38ba];return _0x5f3932;}function a60_0xf8fd(){const _0xe78e9=['schema','2358OsNSTK','read','1656qQfGPl','6lEsRAe','11GBnRKH','12684612lFtSYM','7335axmpPM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','773004QJeHCK','8ivRvSH','3613414SnHHok','28330oTklHf','549907kyFnDh','export','520419VdAVSa'];a60_0xf8fd=function(){return _0xe78e9;};return a60_0xf8fd();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x405a79){const _0x40f651=await buildSchemaPayload();return{'ok':!![],'data':_0x40f651};}export const schemaDefinition={'service':a60_0x10b587(0x15b),'command':a60_0x10b587(0x169),'description':a60_0x10b587(0x163),'risk':a60_0x10b587(0x15d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a60_0x9b15d4=a60_0x43e0;function a60_0x567d(){const _0x54a735=['5151555LxhQtz','552622xtFtqO','9691790pvjjzC','72lRqAZF','schema','1851216BsmlZr','3234225ydfCJS','1374087WhpaeM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','4rTZbNB','32TSdaHk','1593432RTsszz'];a60_0x567d=function(){return _0x54a735;};return a60_0x567d();}function a60_0x43e0(_0x4d1c66,_0x10cecd){_0x4d1c66=_0x4d1c66-0x1ee;const _0x567db8=a60_0x567d();let _0x43e053=_0x567db8[_0x4d1c66];return _0x43e053;}(function(_0x575783,_0x42fd1c){const _0x2c2edc=a60_0x43e0,_0x35919e=_0x575783();while(!![]){try{const _0xda8f20=-parseInt(_0x2c2edc(0x1f4))/0x1+parseInt(_0x2c2edc(0x1f2))/0x2+-parseInt(_0x2c2edc(0x1f3))/0x3+parseInt(_0x2c2edc(0x1f7))/0x4*(parseInt(_0x2c2edc(0x1fa))/0x5)+parseInt(_0x2c2edc(0x1f0))/0x6*(parseInt(_0x2c2edc(0x1ee))/0x7)+-parseInt(_0x2c2edc(0x1f8))/0x8*(parseInt(_0x2c2edc(0x1f9))/0x9)+parseInt(_0x2c2edc(0x1ef))/0xa;if(_0xda8f20===_0x42fd1c)break;else _0x35919e['push'](_0x35919e['shift']());}catch(_0x441af3){_0x35919e['push'](_0x35919e['shift']());}}}(a60_0x567d,0xadda0));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x18dc6a){const _0x40da20=await buildSchemaPayload();return{'ok':!![],'data':_0x40da20};}export const schemaDefinition={'service':a60_0x9b15d4(0x1f1),'command':a60_0x9b15d4(0x1f6),'description':a60_0x9b15d4(0x1f5),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x416a76,_0x5d8ec1){const _0x1185f2=a61_0x448b,_0x228b2e=_0x416a76();while(!![]){try{const _0xf6894f=-parseInt(_0x1185f2(0x21d))/0x1+parseInt(_0x1185f2(0x222))/0x2+-parseInt(_0x1185f2(0x20e))/0x3*(parseInt(_0x1185f2(0x1fd))/0x4)+parseInt(_0x1185f2(0x1ff))/0x5+parseInt(_0x1185f2(0x20c))/0x6+parseInt(_0x1185f2(0x217))/0x7*(parseInt(_0x1185f2(0x1f7))/0x8)+-parseInt(_0x1185f2(0x20d))/0x9;if(_0xf6894f===_0x5d8ec1)break;else _0x228b2e['push'](_0x228b2e['shift']());}catch(_0x121887){_0x228b2e['push'](_0x228b2e['shift']());}}}(a61_0x33ff,0xd5348));function a61_0x448b(_0x45b995,_0x708d30){_0x45b995=_0x45b995-0x1d2;const _0x33ff52=a61_0x33ff();let _0x448ba6=_0x33ff52[_0x45b995];return _0x448ba6;}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(_0x18a3dc,_0x4e36e1){const _0x32bc1c=a61_0x448b,_0x1ded83=listLocalServiceTrees();let _0x24f3e0;for(const _0xee9a86 of _0x1ded83){const _0x4413bf=matchServiceTreeCommand(_0xee9a86,_0x18a3dc);if(!_0x4413bf)continue;(!_0x24f3e0||_0x4413bf[_0x32bc1c(0x200)][_0x32bc1c(0x221)][_0x32bc1c(0x1f2)]>_0x24f3e0[_0x32bc1c(0x200)]['fullPath'][_0x32bc1c(0x1f2)])&&(_0x24f3e0={'tree':_0xee9a86,'command':_0x4413bf['command'],'remainingArgs':_0x4413bf['remainingArgs']});}if(!_0x24f3e0)return undefined;const _0x172dd1={..._0x4e36e1};return applyAppBinding(_0x24f3e0[_0x32bc1c(0x220)],_0x24f3e0[_0x32bc1c(0x200)],_0x172dd1),{'definition':buildDynamicCommandDefinition(_0x24f3e0[_0x32bc1c(0x220)],_0x24f3e0[_0x32bc1c(0x200)]),'args':_0x24f3e0[_0x32bc1c(0x1e8)],'flags':_0x172dd1,'tree':_0x24f3e0[_0x32bc1c(0x220)],'command':_0x24f3e0['command']};}export function generateDynamicServiceHelp(_0x3cf09d){const _0x76bb79=a61_0x448b,_0x41545c=listLocalServiceTrees()[_0x76bb79(0x1e0)](_0x4ce29c=>_0x4ce29c['service']['code']===_0x3cf09d);if(!_0x41545c)return undefined;const _0x35326f=[CLI_BIN_NAME+'\x20'+_0x3cf09d+'\x20<command>\x20[flags]','',_0x41545c['service'][_0x76bb79(0x1d5)]||_0x3cf09d,_0x41545c[_0x76bb79(0x1d4)]['description']?'\x20\x20'+_0x41545c[_0x76bb79(0x1d4)]['description']:'','',_0x76bb79(0x1dc),..._0x41545c[_0x76bb79(0x228)]['map'](_0xc59061=>{const _0x5694b0=_0x76bb79,_0x4855ab=_0xc59061[_0x5694b0(0x221)]['slice'](0x1)[_0x5694b0(0x1d7)]('\x20'),_0x472505=_0xc59061[_0x5694b0(0x1ec)]===_0x5694b0(0x1e6)?'':'\x20['+_0xc59061['risk']+']';return'\x20\x20'+_0x4855ab['padEnd'](0x18)+'\x20'+(_0xc59061[_0x5694b0(0x206)]||'')+_0x472505;}),'',_0x76bb79(0x1d8)+CLI_BIN_NAME+_0x76bb79(0x213)+_0x3cf09d+_0x76bb79(0x22c)][_0x76bb79(0x22f)](Boolean);return _0x35326f[_0x76bb79(0x1d7)]('\x0a');}export function listDynamicServiceEntries(){const _0x406cb3=a61_0x448b;return listLocalServices()[_0x406cb3(0x214)](_0x2afb75=>{const _0x4e9f95=_0x406cb3,_0x19dd33=_0x2afb75[_0x4e9f95(0x20b)];return{'service':_0x19dd33[_0x4e9f95(0x1d4)][_0x4e9f95(0x1f3)],'label':_0x19dd33[_0x4e9f95(0x1d4)][_0x4e9f95(0x1d5)]||_0x19dd33[_0x4e9f95(0x1d4)]['code'],'commands':_0x19dd33['commands'][_0x4e9f95(0x214)](_0x77bae1=>({'command':dynamicCommandName(_0x77bae1),'description':_0x77bae1[_0x4e9f95(0x206)]||'Run\x20service\x20command\x20'+_0x77bae1[_0x4e9f95(0x1d9)],'tag':riskTag(_0x77bae1['risk'])}))};});}export function getDynamicServiceEntry(_0xb61f4c){const _0x1d78f3=a61_0x448b;return listDynamicServiceEntries()[_0x1d78f3(0x1e0)](_0x28321e=>_0x28321e['service']===_0xb61f4c);}export function listDynamicServiceDefinitions(_0x1f5827){const _0x225207=a61_0x448b;return listLocalServiceTrees()[_0x225207(0x22f)](_0x3300b6=>!_0x1f5827||_0x3300b6[_0x225207(0x1d4)][_0x225207(0x1f3)]===_0x1f5827)['flatMap'](_0x2c3170=>_0x2c3170[_0x225207(0x228)][_0x225207(0x214)](_0xfe96d5=>buildDynamicCommandDefinition(_0x2c3170,_0xfe96d5)));}export function getDynamicServiceDefinitions(_0x5e1114){const _0x13b0b7=listDynamicServiceDefinitions(_0x5e1114);return _0x13b0b7['length']>0x0?_0x13b0b7:undefined;}export function findDynamicServiceDefinition(_0x4b8e70,_0x76b52a){const _0x4c35ce=a61_0x448b;return listDynamicServiceDefinitions(_0x4b8e70)[_0x4c35ce(0x1e0)](_0x3b036a=>_0x3b036a[_0x4c35ce(0x200)]===_0x76b52a);}export function buildDynamicCommandDefinition(_0x3bf7ba,_0x25c0e7){const _0x7413d5=a61_0x448b;return{'service':_0x3bf7ba[_0x7413d5(0x1d4)][_0x7413d5(0x1f3)],'command':dynamicCommandName(_0x25c0e7),'description':_0x25c0e7[_0x7413d5(0x206)]||_0x7413d5(0x1e3)+_0x25c0e7['cliPath'],'risk':_0x25c0e7[_0x7413d5(0x1ec)],..._0x25c0e7[_0x7413d5(0x1ec)]===_0x7413d5(0x1e6)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x25c0e7)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x25c0e7[_0x7413d5(0x1f5)]['map'](_0x8c0d6c=>({'name':_0x8c0d6c[_0x7413d5(0x1d5)],'description':_0x8c0d6c[_0x7413d5(0x206)]||_0x8c0d6c[_0x7413d5(0x1d5)],'required':_0x8c0d6c[_0x7413d5(0x1e4)]})),'flags':_0x25c0e7[_0x7413d5(0x1e9)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x25c0e7),async 'dryRun'(_0x377128){const _0x4147f2=_0x7413d5,_0x4d54e9=await compilePlan(_0x25c0e7,_0x377128);return{'method':_0x4147f2(0x21a),'url':_0x25c0e7[_0x4147f2(0x1d9)],'body':{'target':targetPreview(_0x4d54e9),'params':_0x4d54e9['params']},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x25c0e7[_0x4147f2(0x1d9)]};},async 'execute'(_0x94a0dd){const _0x5dd968=_0x7413d5,_0x2ab2e4=await compilePlan(_0x25c0e7,_0x94a0dd),_0x58d978=Date['now'](),_0x102027=await executePlan(_0x2ab2e4,_0x25c0e7,_0x94a0dd),_0x36731d=Date['now']()-_0x58d978;return{'ok':!![],'data':{'service':_0x3bf7ba[_0x5dd968(0x1d4)],'command':_0x25c0e7[_0x5dd968(0x1d9)],'target':targetPreview(_0x2ab2e4),'result':_0x102027,'elapsed':_0x36731d},'message':'Service\x20command\x20'+_0x25c0e7[_0x5dd968(0x1d9)]+_0x5dd968(0x204)+_0x36731d+'ms'};}};}function buildDynamicConfirmationDescription(_0x42fb69){const _0x1ea4f=a61_0x448b,_0x2bd91c=_0x42fb69[_0x1ea4f(0x206)]||_0x42fb69['cliPath'],_0x598d57=_0x42fb69[_0x1ea4f(0x1ec)]==='high-risk-write'?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x1ea4f(0x216);return'This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22'+_0x2bd91c+'\x22.\x20'+_0x598d57;}function dynamicCommandName(_0x20b23c){const _0x46f8d5=a61_0x448b;return _0x20b23c[_0x46f8d5(0x221)][_0x46f8d5(0x223)](0x1)[_0x46f8d5(0x1d7)]('\x20');}function riskTag(_0x10646b){const _0x5f0514=a61_0x448b;return _0x10646b===_0x5f0514(0x1e6)?'':_0x5f0514(0x1db)+_0x10646b+']';}function flagToCommandFlag(_0x4c043e){const _0x360aaa=a61_0x448b;return{'name':_0x4c043e[_0x360aaa(0x22a)],'type':_0x4c043e[_0x360aaa(0x205)]===_0x360aaa(0x20f)?_0x360aaa(0x201):_0x4c043e[_0x360aaa(0x205)],'description':_0x4c043e[_0x360aaa(0x206)]||_0x4c043e[_0x360aaa(0x1d5)],'required':_0x4c043e[_0x360aaa(0x1e4)],'default':isPrimitiveFlagDefault(_0x4c043e[_0x360aaa(0x227)])?_0x4c043e[_0x360aaa(0x227)]:undefined,'enum':_0x4c043e['enum']};}async function compilePlan(_0x3d4d3f,_0x141ffd){return compileServiceTreeCommand(_0x3d4d3f,{'flags':_0x141ffd['rawFlags'],'args':_0x141ffd['args'],'context':await buildServiceContext(_0x3d4d3f,_0x141ffd)});}function a61_0x33ff(){const _0x50ffd5=['type','description','loginName','username','tableName','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','normalizedManifest','4927500aWlFQu','2622852LrKoGm','3KToHDB','json','env','nickname','\x20\x20\x20\x20','\x20service\x20detail\x20--service\x20','map','sqlCode','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','7drTDst','source','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','fromEntries','appcode','1032970krJIiY','\x20->\x20','push','tree','fullPath','2337854vUlXeF','slice','userId','app','\x20\x20MAP\x20TO','default','commands','mapTo','cliName','tenantCode','`\x20to\x20inspect\x20the\x20manifest.','datasetCode','trim','filter','number','envName','\x20\x20\x20\x20datasetCode:\x20','service','name','kind','join','Use\x20`','cliPath','appBindings','\x20\x20[','Commands:','validation','bffId','startsWith','find','params','datatable','Run\x20service\x20command\x20','required','appCode','read','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','remainingArgs','flags','Service\x20command\x20','context.','risk','bffCode','\x20\x20\x20\x20datatable:\x20','data','dbtableConfig','\x22\x20in\x20service\x20command\x20','length','code','bff','args','some','2767976WbNNBN','\x20\x20\x20\x20functionName:\x20','target','\x20\x20\x20\x20kind:\x20\x20\x20\x20','appRef','\x20requires\x20target.sqlCode.','1335396QDmQoD','scriptName','976805kFEUvu','command','string','nickName','\x20requires\x20target.functionName.','\x20completed\x20in\x20'];a61_0x33ff=function(){return _0x50ffd5;};return a61_0x33ff();}async function buildServiceContext(_0x2717f6,_0x2678c7){const _0x1666ea=a61_0x448b,_0x776a50={'appCode':_0x2678c7[_0x1666ea(0x1e5)],'env':_0x2678c7[_0x1666ea(0x1d2)],'envName':_0x2678c7[_0x1666ea(0x1d2)]};if(!usesRuntimeContext(_0x2717f6))return _0x776a50;const _0x2ac4fc=await getLoginUserInfo(),_0x2733a3=pickFirst(_0x2ac4fc[_0x1666ea(0x224)],_0x2ac4fc['id']);return{..._0x776a50,'user':_0x2ac4fc,'userId':_0x2733a3,'id':_0x2ac4fc['id'],'username':pickFirst(_0x2ac4fc[_0x1666ea(0x208)],_0x2ac4fc['userName'],_0x2ac4fc[_0x1666ea(0x207)]),'userName':_0x2ac4fc['userName'],'nickname':pickFirst(_0x2ac4fc[_0x1666ea(0x211)],_0x2ac4fc[_0x1666ea(0x202)]),'nickName':_0x2ac4fc[_0x1666ea(0x202)],'tenantCode':_0x2ac4fc[_0x1666ea(0x22b)],'employeeId':_0x2ac4fc['employeeId']};}function usesRuntimeContext(_0x166b22){const _0xc7a940=a61_0x448b;return _0x166b22['mapTo'][_0xc7a940(0x1f6)](_0x38bc7b=>typeof _0x38bc7b['source']===_0xc7a940(0x201)&&(_0x38bc7b[_0xc7a940(0x218)][_0xc7a940(0x1df)](_0xc7a940(0x1eb))||_0x38bc7b[_0xc7a940(0x218)][_0xc7a940(0x1df)]('ctx.')));}function pickFirst(..._0x330935){const _0x159ca4=a61_0x448b;return _0x330935[_0x159ca4(0x1e0)](_0x3ae9f4=>_0x3ae9f4!==undefined&&_0x3ae9f4!==null);}async function executePlan(_0x8b0a72,_0x286b30,_0x12671e){const _0x3699a7=a61_0x448b;if(_0x8b0a72['kind']===_0x3699a7(0x1ef)){const _0x156722=await resolveDatasetCode(_0x8b0a72,_0x286b30,_0x12671e);return executeData(_0x156722,_0x8b0a72['command'],_0x8b0a72[_0x3699a7(0x1e1)]);}if(_0x8b0a72[_0x3699a7(0x1d6)]==='sql'){if(!_0x8b0a72[_0x3699a7(0x215)])throw CliErrors[_0x3699a7(0x1dd)]('Service\x20command\x20'+_0x286b30['cliPath']+_0x3699a7(0x1fc));return executeSdkSql(_0x8b0a72[_0x3699a7(0x215)],normalizeScalarParams(_0x8b0a72[_0x3699a7(0x1e1)]));}if(_0x8b0a72[_0x3699a7(0x1d6)]===_0x3699a7(0x1f4)){const _0x68174d=_0x8b0a72[_0x3699a7(0x1fe)]||_0x8b0a72[_0x3699a7(0x1ed)]||(_0x8b0a72[_0x3699a7(0x1de)]==null?'':String(_0x8b0a72[_0x3699a7(0x1de)]));if(!_0x68174d)throw CliErrors[_0x3699a7(0x1dd)](_0x3699a7(0x1ea)+_0x286b30[_0x3699a7(0x1d9)]+_0x3699a7(0x203));return executeSdkBff(_0x68174d,_0x8b0a72[_0x3699a7(0x1e1)]);}throw CliErrors[_0x3699a7(0x1dd)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x8b0a72['kind']);}async function resolveDatasetCode(_0x184075,_0x2b6f9a,_0x4a55c7){const _0x160141=a61_0x448b;if(_0x184075[_0x160141(0x22d)])return _0x184075[_0x160141(0x22d)];if(!_0x184075[_0x160141(0x1e2)])throw CliErrors[_0x160141(0x1dd)]('Service\x20command\x20'+_0x2b6f9a[_0x160141(0x1d9)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x850b5c=await listDatasets(_0x4a55c7[_0x160141(0x1e5)]),_0x51066b=_0x850b5c['find'](_0x14ed3e=>_0x14ed3e[_0x160141(0x1f0)]?.[_0x160141(0x209)]===_0x184075[_0x160141(0x1e2)]);if(!_0x51066b?.['code'])throw CliErrors[_0x160141(0x1dd)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x184075[_0x160141(0x1e2)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x4a55c7['appCode']+'.',_0x160141(0x1e7));return _0x51066b['code'];}function applyAppBinding(_0x59dfd2,_0x22b9cc,_0x4215e1){const _0x3d3488=a61_0x448b,_0x54db87=_0x22b9cc[_0x3d3488(0x1f9)][_0x3d3488(0x1fb)];if(!_0x54db87)return;const _0x458ce9=_0x59dfd2[_0x3d3488(0x1da)][_0x54db87];if(!_0x458ce9)throw CliErrors[_0x3d3488(0x1dd)]('Unknown\x20appRef\x20\x22'+_0x54db87+_0x3d3488(0x1f1)+_0x22b9cc[_0x3d3488(0x1d9)]+'.',_0x3d3488(0x20a));const _0x54b26e=_0x458ce9[_0x3d3488(0x21c)]||_0x458ce9['appCode'];_0x54b26e&&!hasText(_0x4215e1[_0x3d3488(0x21c)])&&(_0x4215e1['appcode']=_0x54b26e),_0x458ce9['app']&&!hasText(_0x4215e1[_0x3d3488(0x225)])&&!hasText(_0x4215e1['appcode'])&&(_0x4215e1['app']=_0x458ce9[_0x3d3488(0x225)]),_0x458ce9['env']&&!hasText(_0x4215e1[_0x3d3488(0x210)])&&(_0x4215e1[_0x3d3488(0x210)]=_0x458ce9['env']);}function renderDynamicCommandHelp(_0x364a44){const _0x3e6d0f=a61_0x448b,_0x14abc4=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x3e6d0f(0x1fa)+_0x364a44[_0x3e6d0f(0x1f9)]['kind'],'\x20\x20\x20\x20command:\x20'+_0x364a44[_0x3e6d0f(0x1f9)][_0x3e6d0f(0x200)]];if(_0x364a44[_0x3e6d0f(0x1f9)]['datasetCode'])_0x14abc4[_0x3e6d0f(0x21f)](_0x3e6d0f(0x1d3)+_0x364a44[_0x3e6d0f(0x1f9)][_0x3e6d0f(0x22d)]);if(_0x364a44[_0x3e6d0f(0x1f9)][_0x3e6d0f(0x1e2)])_0x14abc4['push'](_0x3e6d0f(0x1ee)+_0x364a44[_0x3e6d0f(0x1f9)][_0x3e6d0f(0x1e2)]);if(_0x364a44[_0x3e6d0f(0x1f9)]['sqlCode'])_0x14abc4[_0x3e6d0f(0x21f)](_0x3e6d0f(0x219)+_0x364a44['target'][_0x3e6d0f(0x215)]);if(_0x364a44[_0x3e6d0f(0x1f9)]['scriptName'])_0x14abc4[_0x3e6d0f(0x21f)](_0x3e6d0f(0x1f8)+_0x364a44[_0x3e6d0f(0x1f9)][_0x3e6d0f(0x1fe)]);if(_0x364a44['mapTo'][_0x3e6d0f(0x1f2)]>0x0){_0x14abc4[_0x3e6d0f(0x21f)]('',_0x3e6d0f(0x226));for(const _0x4e5fa4 of _0x364a44[_0x3e6d0f(0x229)]){_0x14abc4[_0x3e6d0f(0x21f)](_0x3e6d0f(0x212)+(_0x4e5fa4[_0x3e6d0f(0x218)]||'const')+_0x3e6d0f(0x21e)+_0x4e5fa4[_0x3e6d0f(0x1f9)]+(_0x4e5fa4['operator']?'.'+_0x4e5fa4['operator']:''));}}return _0x14abc4['join']('\x0a');}function targetPreview(_0x5774a9){const _0x508507=a61_0x448b;return{'kind':_0x5774a9['kind'],'command':_0x5774a9[_0x508507(0x200)],'appRef':_0x5774a9['appRef'],'datasetCode':_0x5774a9[_0x508507(0x22d)],'datatable':_0x5774a9[_0x508507(0x1e2)],'sqlCode':_0x5774a9[_0x508507(0x215)],'bffCode':_0x5774a9[_0x508507(0x1ed)],'bffId':_0x5774a9[_0x508507(0x1de)],'functionName':_0x5774a9[_0x508507(0x1fe)]};}function normalizeScalarParams(_0x17cf7f){const _0x459ccb=a61_0x448b;return Object[_0x459ccb(0x21b)](Object['entries'](_0x17cf7f)[_0x459ccb(0x22f)](([,_0x3b987f])=>typeof _0x3b987f===_0x459ccb(0x201)||typeof _0x3b987f===_0x459ccb(0x230)));}function hasText(_0x5c5ecf){const _0x56b16d=a61_0x448b;return typeof _0x5c5ecf===_0x56b16d(0x201)&&_0x5c5ecf[_0x56b16d(0x22e)]()[_0x56b16d(0x1f2)]>0x0;}function isPrimitiveFlagDefault(_0x19af7f){const _0xc3d407=a61_0x448b;return _0x19af7f===undefined||typeof _0x19af7f===_0xc3d407(0x201)||typeof _0x19af7f===_0xc3d407(0x230)||typeof _0x19af7f==='boolean';}
1
+ (function(_0x45f3dd,_0xef654c){const _0xab6b46=a61_0x416d,_0x21ef8f=_0x45f3dd();while(!![]){try{const _0x95d698=-parseInt(_0xab6b46(0x256))/0x1*(-parseInt(_0xab6b46(0x23b))/0x2)+parseInt(_0xab6b46(0x1fc))/0x3*(-parseInt(_0xab6b46(0x242))/0x4)+-parseInt(_0xab6b46(0x201))/0x5+-parseInt(_0xab6b46(0x206))/0x6*(-parseInt(_0xab6b46(0x23e))/0x7)+parseInt(_0xab6b46(0x1ff))/0x8*(parseInt(_0xab6b46(0x22f))/0x9)+-parseInt(_0xab6b46(0x208))/0xa+parseInt(_0xab6b46(0x251))/0xb;if(_0x95d698===_0xef654c)break;else _0x21ef8f['push'](_0x21ef8f['shift']());}catch(_0x5d4f0f){_0x21ef8f['push'](_0x21ef8f['shift']());}}}(a61_0xdb2c,0x356bd));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a61_0x416d(_0xca0920,_0x75cb27){_0xca0920=_0xca0920-0x1eb;const _0xdb2c24=a61_0xdb2c();let _0x416db1=_0xdb2c24[_0xca0920];return _0x416db1;}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2771c,_0x508903){const _0x5dd89c=a61_0x416d,_0x2de8ff=listLocalServiceTrees();let _0x3e73ee;for(const _0x103f6a of _0x2de8ff){const _0x4a3228=matchServiceTreeCommand(_0x103f6a,_0x2771c);if(!_0x4a3228)continue;(!_0x3e73ee||_0x4a3228[_0x5dd89c(0x204)][_0x5dd89c(0x213)][_0x5dd89c(0x1f8)]>_0x3e73ee[_0x5dd89c(0x204)][_0x5dd89c(0x213)][_0x5dd89c(0x1f8)])&&(_0x3e73ee={'tree':_0x103f6a,'command':_0x4a3228[_0x5dd89c(0x204)],'remainingArgs':_0x4a3228[_0x5dd89c(0x22e)]});}if(!_0x3e73ee)return undefined;const _0x30158d={..._0x508903};return applyAppBinding(_0x3e73ee[_0x5dd89c(0x238)],_0x3e73ee['command'],_0x30158d),{'definition':buildDynamicCommandDefinition(_0x3e73ee[_0x5dd89c(0x238)],_0x3e73ee[_0x5dd89c(0x204)]),'args':_0x3e73ee[_0x5dd89c(0x22e)],'flags':_0x30158d,'tree':_0x3e73ee['tree'],'command':_0x3e73ee['command']};}export function generateDynamicServiceHelp(_0x2fd5d1){const _0xe2bf20=a61_0x416d,_0x16ad02=listLocalServiceTrees()[_0xe2bf20(0x259)](_0x791017=>_0x791017[_0xe2bf20(0x23f)][_0xe2bf20(0x235)]===_0x2fd5d1);if(!_0x16ad02)return undefined;const _0x32b692=[CLI_BIN_NAME+'\x20'+_0x2fd5d1+_0xe2bf20(0x237),'',_0x16ad02['service']['name']||_0x2fd5d1,_0x16ad02[_0xe2bf20(0x23f)][_0xe2bf20(0x214)]?'\x20\x20'+_0x16ad02[_0xe2bf20(0x23f)][_0xe2bf20(0x214)]:'','',_0xe2bf20(0x20a),..._0x16ad02[_0xe2bf20(0x203)][_0xe2bf20(0x21a)](_0x39d7db=>{const _0x2ef9ab=_0xe2bf20,_0x128120=_0x39d7db[_0x2ef9ab(0x213)]['slice'](0x1)[_0x2ef9ab(0x229)]('\x20'),_0x3e5534=_0x39d7db[_0x2ef9ab(0x1f7)]==='read'?'':'\x20['+_0x39d7db[_0x2ef9ab(0x1f7)]+']';return'\x20\x20'+_0x128120['padEnd'](0x18)+'\x20'+(_0x39d7db['description']||'')+_0x3e5534;}),'',_0xe2bf20(0x219)+CLI_BIN_NAME+_0xe2bf20(0x1f1)+_0x2fd5d1+_0xe2bf20(0x255)][_0xe2bf20(0x20d)](Boolean);return _0x32b692[_0xe2bf20(0x229)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x2089ea=>{const _0x2e8e9c=a61_0x416d,_0x237bfa=_0x2089ea[_0x2e8e9c(0x1f6)];return{'service':_0x237bfa[_0x2e8e9c(0x23f)][_0x2e8e9c(0x235)],'label':_0x237bfa[_0x2e8e9c(0x23f)][_0x2e8e9c(0x253)]||_0x237bfa[_0x2e8e9c(0x23f)]['code'],'commands':_0x237bfa[_0x2e8e9c(0x203)][_0x2e8e9c(0x21a)](_0x537369=>({'command':dynamicCommandName(_0x537369),'description':_0x537369[_0x2e8e9c(0x214)]||_0x2e8e9c(0x215)+_0x537369[_0x2e8e9c(0x24c)],'tag':riskTag(_0x537369[_0x2e8e9c(0x1f7)])}))};});}export function getDynamicServiceEntry(_0x212324){const _0x201c64=a61_0x416d;return listDynamicServiceEntries()[_0x201c64(0x259)](_0xc455b=>_0xc455b['service']===_0x212324);}export function listDynamicServiceDefinitions(_0x28acc7){const _0x2382bd=a61_0x416d;return listLocalServiceTrees()[_0x2382bd(0x20d)](_0xd901f6=>!_0x28acc7||_0xd901f6['service'][_0x2382bd(0x235)]===_0x28acc7)['flatMap'](_0xe72d9c=>_0xe72d9c[_0x2382bd(0x203)][_0x2382bd(0x21a)](_0x213979=>buildDynamicCommandDefinition(_0xe72d9c,_0x213979)));}export function getDynamicServiceDefinitions(_0xd15224){const _0x1f1d55=a61_0x416d,_0x359ebd=listDynamicServiceDefinitions(_0xd15224);return _0x359ebd[_0x1f1d55(0x1f8)]>0x0?_0x359ebd:undefined;}export function findDynamicServiceDefinition(_0x1ce793,_0x43cb79){const _0x1c11e7=a61_0x416d;return listDynamicServiceDefinitions(_0x1ce793)['find'](_0x51b6a3=>_0x51b6a3[_0x1c11e7(0x204)]===_0x43cb79);}export function buildDynamicCommandDefinition(_0x23d701,_0x1cf9e8){const _0x37c4ad=a61_0x416d;return{'service':_0x23d701[_0x37c4ad(0x23f)][_0x37c4ad(0x235)],'command':dynamicCommandName(_0x1cf9e8),'description':_0x1cf9e8['description']||_0x37c4ad(0x215)+_0x1cf9e8['cliPath'],'risk':_0x1cf9e8[_0x37c4ad(0x1f7)],..._0x1cf9e8[_0x37c4ad(0x1f7)]===_0x37c4ad(0x247)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x1cf9e8)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1cf9e8[_0x37c4ad(0x1f3)][_0x37c4ad(0x21a)](_0x150582=>({'name':_0x150582[_0x37c4ad(0x253)],'description':_0x150582[_0x37c4ad(0x214)]||_0x150582[_0x37c4ad(0x253)],'required':_0x150582['required']})),'flags':_0x1cf9e8[_0x37c4ad(0x221)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1cf9e8),async 'dryRun'(_0x257b34){const _0x4bf9e0=_0x37c4ad,_0x4b20f3=await compilePlan(_0x1cf9e8,_0x257b34);return{'method':_0x4bf9e0(0x205),'url':_0x1cf9e8['cliPath'],'body':{'target':targetPreview(_0x4b20f3),'params':_0x4b20f3[_0x4bf9e0(0x244)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x1cf9e8[_0x4bf9e0(0x24c)]};},async 'execute'(_0x41046d){const _0x5b8477=_0x37c4ad,_0x4effb3=await compilePlan(_0x1cf9e8,_0x41046d),_0x17f7f7=Date['now'](),_0x8a2db4=await executePlan(_0x4effb3,_0x1cf9e8,_0x41046d),_0x49653c=Date[_0x5b8477(0x21b)]()-_0x17f7f7;return{'ok':!![],'data':{'service':_0x23d701[_0x5b8477(0x23f)],'command':_0x1cf9e8['cliPath'],'target':targetPreview(_0x4effb3),'result':_0x8a2db4,'elapsed':_0x49653c},'message':_0x5b8477(0x24b)+_0x1cf9e8['cliPath']+_0x5b8477(0x254)+_0x49653c+'ms'};}};}function buildDynamicConfirmationDescription(_0x36b744){const _0x4eda41=a61_0x416d,_0x8fb8ee=_0x36b744[_0x4eda41(0x214)]||_0x36b744[_0x4eda41(0x24c)],_0x3e8e25=_0x36b744[_0x4eda41(0x1f7)]===_0x4eda41(0x239)?_0x4eda41(0x258):_0x4eda41(0x24f);return'This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22'+_0x8fb8ee+_0x4eda41(0x1fa)+_0x3e8e25;}function dynamicCommandName(_0x3db6b9){const _0x267481=a61_0x416d;return _0x3db6b9['fullPath'][_0x267481(0x1fb)](0x1)[_0x267481(0x229)]('\x20');}function riskTag(_0x5e85ee){const _0x265cea=a61_0x416d;return _0x5e85ee===_0x265cea(0x247)?'':_0x265cea(0x21c)+_0x5e85ee+']';}function flagToCommandFlag(_0x4b9217){const _0x24244d=a61_0x416d;return{'name':_0x4b9217[_0x24244d(0x245)],'type':_0x4b9217['type']===_0x24244d(0x248)?_0x24244d(0x24e):_0x4b9217[_0x24244d(0x249)],'description':_0x4b9217[_0x24244d(0x214)]||_0x4b9217[_0x24244d(0x253)],'required':_0x4b9217[_0x24244d(0x24a)],'default':isPrimitiveFlagDefault(_0x4b9217[_0x24244d(0x209)])?_0x4b9217[_0x24244d(0x209)]:undefined,'enum':_0x4b9217[_0x24244d(0x230)]};}async function compilePlan(_0x428e4c,_0xb5d4f1){const _0x5cc8c4=a61_0x416d;return compileServiceTreeCommand(_0x428e4c,{'flags':_0xb5d4f1[_0x5cc8c4(0x1f4)],'args':_0xb5d4f1[_0x5cc8c4(0x1f3)],'context':await buildServiceContext(_0x428e4c,_0xb5d4f1)});}async function buildServiceContext(_0x4e7cf5,_0x131b8d){const _0x3ccc68=a61_0x416d,_0xbfde80={'appCode':_0x131b8d[_0x3ccc68(0x218)],'env':_0x131b8d[_0x3ccc68(0x224)],'envName':_0x131b8d[_0x3ccc68(0x224)]};if(!usesRuntimeContext(_0x4e7cf5))return _0xbfde80;const _0x39f1b2=await getLoginUserInfo(),_0x1c6c7b=pickFirst(_0x39f1b2[_0x3ccc68(0x22a)],_0x39f1b2['id']);return{..._0xbfde80,'user':_0x39f1b2,'userId':_0x1c6c7b,'id':_0x39f1b2['id'],'username':pickFirst(_0x39f1b2[_0x3ccc68(0x252)],_0x39f1b2[_0x3ccc68(0x1f2)],_0x39f1b2[_0x3ccc68(0x257)]),'userName':_0x39f1b2[_0x3ccc68(0x1f2)],'nickname':pickFirst(_0x39f1b2['nickname'],_0x39f1b2['nickName']),'nickName':_0x39f1b2['nickName'],'tenantCode':_0x39f1b2[_0x3ccc68(0x246)],'employeeId':_0x39f1b2[_0x3ccc68(0x23c)]};}function usesRuntimeContext(_0x2a825c){const _0x3ad127=a61_0x416d;return _0x2a825c['mapTo']['some'](_0x42b607=>typeof _0x42b607['source']===_0x3ad127(0x24e)&&(_0x42b607[_0x3ad127(0x21e)]['startsWith']('context.')||_0x42b607[_0x3ad127(0x21e)][_0x3ad127(0x24d)](_0x3ad127(0x20b))));}function pickFirst(..._0x532e4d){const _0x5050ce=a61_0x416d;return _0x532e4d[_0x5050ce(0x259)](_0x10152c=>_0x10152c!==undefined&&_0x10152c!==null);}async function executePlan(_0x3a4396,_0x5034ab,_0x4a5657){const _0x5225ea=a61_0x416d;if(_0x3a4396[_0x5225ea(0x22b)]===_0x5225ea(0x1f5)){const _0x153dae=await resolveDatasetCode(_0x3a4396,_0x5034ab,_0x4a5657);return executeData(_0x153dae,_0x3a4396[_0x5225ea(0x204)],_0x3a4396[_0x5225ea(0x244)]);}if(_0x3a4396[_0x5225ea(0x22b)]===_0x5225ea(0x222)){if(!_0x3a4396['sqlCode'])throw CliErrors[_0x5225ea(0x217)](_0x5225ea(0x24b)+_0x5034ab[_0x5225ea(0x24c)]+_0x5225ea(0x223));return executeSdkSql(_0x3a4396[_0x5225ea(0x240)],normalizeScalarParams(_0x3a4396[_0x5225ea(0x244)]));}if(_0x3a4396[_0x5225ea(0x22b)]===_0x5225ea(0x1ef)){const _0xedabfe=_0x3a4396[_0x5225ea(0x1f9)]||_0x3a4396[_0x5225ea(0x210)]||(_0x3a4396[_0x5225ea(0x22c)]==null?'':String(_0x3a4396['bffId']));if(!_0xedabfe)throw CliErrors[_0x5225ea(0x217)](_0x5225ea(0x24b)+_0x5034ab[_0x5225ea(0x24c)]+_0x5225ea(0x1f0));return executeSdkBff(_0xedabfe,_0x3a4396[_0x5225ea(0x244)]);}throw CliErrors[_0x5225ea(0x217)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x3a4396[_0x5225ea(0x22b)]);}async function resolveDatasetCode(_0x134ae3,_0x875b0e,_0x5e8924){const _0x3e8247=a61_0x416d;if(_0x134ae3[_0x3e8247(0x20f)])return _0x134ae3['datasetCode'];if(!_0x134ae3['datatable'])throw CliErrors[_0x3e8247(0x217)](_0x3e8247(0x24b)+_0x875b0e[_0x3e8247(0x24c)]+_0x3e8247(0x216));const _0x257b6e=await listDatasets(_0x5e8924[_0x3e8247(0x218)]),_0x1c7ff3=_0x257b6e[_0x3e8247(0x259)](_0x3ed406=>_0x3ed406[_0x3e8247(0x211)]?.[_0x3e8247(0x228)]===_0x134ae3[_0x3e8247(0x200)]);if(!_0x1c7ff3?.[_0x3e8247(0x235)])throw CliErrors[_0x3e8247(0x217)](_0x3e8247(0x227)+_0x134ae3[_0x3e8247(0x200)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x5e8924[_0x3e8247(0x218)]+'.',_0x3e8247(0x236));return _0x1c7ff3[_0x3e8247(0x235)];}function applyAppBinding(_0x5c6342,_0x124a2a,_0x39e056){const _0x42eb85=a61_0x416d,_0x5b583b=_0x124a2a[_0x42eb85(0x1fe)]['appRef'];if(!_0x5b583b)return;const _0x1bcf80=_0x5c6342[_0x42eb85(0x21d)][_0x5b583b];if(!_0x1bcf80)throw CliErrors['validation'](_0x42eb85(0x226)+_0x5b583b+_0x42eb85(0x202)+_0x124a2a[_0x42eb85(0x24c)]+'.',_0x42eb85(0x21f));const _0x24149e=_0x1bcf80['appcode']||_0x1bcf80['appCode'];_0x24149e&&!hasText(_0x39e056['appcode'])&&(_0x39e056['appcode']=_0x24149e),_0x1bcf80[_0x42eb85(0x243)]&&!hasText(_0x39e056['app'])&&!hasText(_0x39e056[_0x42eb85(0x1fd)])&&(_0x39e056['app']=_0x1bcf80[_0x42eb85(0x243)]),_0x1bcf80[_0x42eb85(0x1ed)]&&!hasText(_0x39e056[_0x42eb85(0x1ed)])&&(_0x39e056[_0x42eb85(0x1ed)]=_0x1bcf80['env']);}function renderDynamicCommandHelp(_0x505112){const _0x13a7c0=a61_0x416d,_0x53093e=[_0x13a7c0(0x232),_0x13a7c0(0x1eb)+_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x22b)],_0x13a7c0(0x22d)+_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x204)]];if(_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x20f)])_0x53093e['push'](_0x13a7c0(0x207)+_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x20f)]);if(_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x200)])_0x53093e[_0x13a7c0(0x1ee)](_0x13a7c0(0x225)+_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x200)]);if(_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x240)])_0x53093e[_0x13a7c0(0x1ee)](_0x13a7c0(0x250)+_0x505112[_0x13a7c0(0x1fe)]['sqlCode']);if(_0x505112[_0x13a7c0(0x1fe)][_0x13a7c0(0x1f9)])_0x53093e[_0x13a7c0(0x1ee)](_0x13a7c0(0x23d)+_0x505112['target'][_0x13a7c0(0x1f9)]);if(_0x505112[_0x13a7c0(0x212)][_0x13a7c0(0x1f8)]>0x0){_0x53093e['push']('',_0x13a7c0(0x23a));for(const _0x2d83a1 of _0x505112['mapTo']){_0x53093e[_0x13a7c0(0x1ee)](_0x13a7c0(0x1ec)+(_0x2d83a1[_0x13a7c0(0x21e)]||_0x13a7c0(0x20c))+_0x13a7c0(0x234)+_0x2d83a1[_0x13a7c0(0x1fe)]+(_0x2d83a1[_0x13a7c0(0x241)]?'.'+_0x2d83a1['operator']:''));}}return _0x53093e['join']('\x0a');}function targetPreview(_0x5b7f03){const _0x4b592b=a61_0x416d;return{'kind':_0x5b7f03[_0x4b592b(0x22b)],'command':_0x5b7f03[_0x4b592b(0x204)],'appRef':_0x5b7f03['appRef'],'datasetCode':_0x5b7f03[_0x4b592b(0x20f)],'datatable':_0x5b7f03[_0x4b592b(0x200)],'sqlCode':_0x5b7f03[_0x4b592b(0x240)],'bffCode':_0x5b7f03[_0x4b592b(0x210)],'bffId':_0x5b7f03[_0x4b592b(0x22c)],'functionName':_0x5b7f03[_0x4b592b(0x1f9)]};}function normalizeScalarParams(_0x32e0d5){const _0x62875=a61_0x416d;return Object[_0x62875(0x220)](Object[_0x62875(0x20e)](_0x32e0d5)[_0x62875(0x20d)](([,_0xe18df5])=>typeof _0xe18df5===_0x62875(0x24e)||typeof _0xe18df5===_0x62875(0x231)));}function hasText(_0x3134a3){const _0x402213=a61_0x416d;return typeof _0x3134a3===_0x402213(0x24e)&&_0x3134a3[_0x402213(0x233)]()['length']>0x0;}function a61_0xdb2c(){const _0x372cb5=['221864vIdOpD','datatable','506345LMhhbB','\x22\x20in\x20service\x20command\x20','commands','command','SERVICE_TREE','48OIPEGY','\x20\x20\x20\x20datasetCode:\x20','3316860OltkKA','default','Commands:','ctx.','const','filter','entries','datasetCode','bffCode','dbtableConfig','mapTo','fullPath','description','Run\x20service\x20command\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','validation','appCode','Use\x20`','map','now','\x20\x20[','appBindings','source','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','fromEntries','flags','sql','\x20requires\x20target.sqlCode.','envName','\x20\x20\x20\x20datatable:\x20','Unknown\x20appRef\x20\x22','Cannot\x20resolve\x20datatable\x20\x22','tableName','join','userId','kind','bffId','\x20\x20\x20\x20command:\x20','remainingArgs','63nqqLHb','enum','number','\x20\x20SERVICE\x20TREE\x20TARGET','trim','\x20->\x20','code','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20<command>\x20[flags]','tree','high-risk-write','\x20\x20MAP\x20TO','22SHEQyg','employeeId','\x20\x20\x20\x20functionName:\x20','72191PWcCiP','service','sqlCode','operator','136SGCFvE','app','params','cliName','tenantCode','read','json','type','required','Service\x20command\x20','cliPath','startsWith','string','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','\x20\x20\x20\x20sqlCode:\x20','1691008VWTnOA','username','name','\x20completed\x20in\x20','`\x20to\x20inspect\x20the\x20manifest.','26393cdzOBk','loginName','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','find','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20\x20\x20\x20','env','push','bff','\x20requires\x20target.functionName.','\x20service\x20detail\x20--service\x20','userName','args','rawFlags','data','normalizedManifest','risk','length','scriptName','\x22.\x20','slice','6081yiezYs','appcode','target'];a61_0xdb2c=function(){return _0x372cb5;};return a61_0xdb2c();}function isPrimitiveFlagDefault(_0x10e2fe){const _0x5201dd=a61_0x416d;return _0x10e2fe===undefined||typeof _0x10e2fe==='string'||typeof _0x10e2fe===_0x5201dd(0x231)||typeof _0x10e2fe==='boolean';}
@@ -1 +1 @@
1
- (function(_0x4dfdaa,_0x1fd047){const _0x25f7b3=a62_0x384a,_0x49c39b=_0x4dfdaa();while(!![]){try{const _0x4d04ff=parseInt(_0x25f7b3(0x1e0))/0x1+-parseInt(_0x25f7b3(0x1ec))/0x2+-parseInt(_0x25f7b3(0x1e4))/0x3+parseInt(_0x25f7b3(0x1d2))/0x4+-parseInt(_0x25f7b3(0x1e7))/0x5*(-parseInt(_0x25f7b3(0x1d0))/0x6)+parseInt(_0x25f7b3(0x1e2))/0x7+-parseInt(_0x25f7b3(0x1e6))/0x8;if(_0x4d04ff===_0x1fd047)break;else _0x49c39b['push'](_0x49c39b['shift']());}catch(_0x754c1){_0x49c39b['push'](_0x49c39b['shift']());}}}(a62_0x554b,0xaed0d));export function adaptServiceTreeManifestForLegacyFramework(_0x228728){const _0x4c5170=a62_0x384a,_0x3efe3b=cloneJsonValue(_0x228728),_0xacaaba=[];if(!isObjectRecord(_0x3efe3b))return{'manifest':_0x3efe3b,'errors':_0xacaaba};return Array[_0x4c5170(0x1ce)](_0x3efe3b['commands'])&&_0x3efe3b['commands'][_0x4c5170(0x1db)]((_0x4df190,_0x269f12)=>{const _0x1e4b33=_0x4c5170;if(!isObjectRecord(_0x4df190))return;adaptBffTarget(_0x4df190['target'],_0x1e4b33(0x1dc)+_0x269f12+_0x1e4b33(0x1e3),_0xacaaba);}),adaptResources(_0x3efe3b[_0x4c5170(0x1dd)],'$.resources',_0xacaaba),{'manifest':_0x3efe3b,'errors':_0xacaaba};}export function toPublicServiceTreeTarget(_0x1dfce6){const _0x4b44e8=a62_0x384a,{scriptName:_0x5dafb2,..._0x24cc8f}=_0x1dfce6;return typeof _0x5dafb2===_0x4b44e8(0x1e1)&&_0x5dafb2[_0x4b44e8(0x1d7)]()&&(_0x24cc8f[_0x4b44e8(0x1eb)]=_0x5dafb2),_0x24cc8f;}export function toPublicNormalizedServiceTree(_0x2e08fa){const _0x236b93=a62_0x384a;return{..._0x2e08fa,'commands':_0x2e08fa['commands'][_0x236b93(0x1d3)](_0x227981=>({..._0x227981,'target':toPublicServiceTreeTarget(_0x227981[_0x236b93(0x1ed)])}))};}function a62_0x554b(){const _0x170aac=['trim','entries','action','.actions.','forEach','$.commands[','resources','scriptName','.target','1401078fyuesD','string','9540937pXaOCc','].target','2298651dEyetA','kind','17313000sdbFbE','15ARCFEa','.functionName','.resources','functionName\x20must\x20be\x20a\x20non-empty\x20string.','functionName','1332268jjmjnZ','target','bff','isArray','push','1590504lTKCmv','bff.exec','3012800CorZIo','map','hasOwnProperty','error','actions'];a62_0x554b=function(){return _0x170aac;};return a62_0x554b();}function adaptResources(_0x13d3be,_0x198f61,_0x46cd2b){const _0x3aa4dc=a62_0x384a;if(!isObjectRecord(_0x13d3be))return;for(const [_0x4a27e1,_0x5dcf82]of Object[_0x3aa4dc(0x1d8)](_0x13d3be)){if(!isObjectRecord(_0x5dcf82))continue;const _0x5f33e6=_0x198f61+'.'+_0x4a27e1;if(isObjectRecord(_0x5dcf82[_0x3aa4dc(0x1d6)]))for(const [_0x226825,_0x5e0d69]of Object['entries'](_0x5dcf82['actions'])){if(!isObjectRecord(_0x5e0d69))continue;const _0x38e652=_0x5f33e6+_0x3aa4dc(0x1da)+_0x226825,_0x1484cc=isObjectRecord(_0x5e0d69['target'])&&_0x5e0d69[_0x3aa4dc(0x1ed)]['kind']===_0x3aa4dc(0x1cd);adaptBffTarget(_0x5e0d69[_0x3aa4dc(0x1ed)],_0x38e652+_0x3aa4dc(0x1df),_0x46cd2b),(_0x1484cc||isBffAction(_0x5e0d69))&&adaptFunctionNameField(_0x5e0d69,_0x38e652,_0x46cd2b);}adaptResources(_0x5dcf82[_0x3aa4dc(0x1dd)],_0x5f33e6+_0x3aa4dc(0x1e9),_0x46cd2b);}}function adaptBffTarget(_0x24e3f7,_0x327fa1,_0x1656dd){const _0x3c4c16=a62_0x384a;if(!isObjectRecord(_0x24e3f7)||_0x24e3f7[_0x3c4c16(0x1e5)]!==_0x3c4c16(0x1cd))return;adaptFunctionNameField(_0x24e3f7,_0x327fa1,_0x1656dd);}function adaptFunctionNameField(_0xbd3979,_0x16ea24,_0x250814){const _0x44e698=a62_0x384a;Object['prototype'][_0x44e698(0x1d4)]['call'](_0xbd3979,_0x44e698(0x1de))&&_0x250814['push']({'level':_0x44e698(0x1d5),'path':_0x16ea24+'.scriptName','message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object['prototype'][_0x44e698(0x1d4)]['call'](_0xbd3979,'functionName')){if(typeof _0xbd3979['functionName']!==_0x44e698(0x1e1)||!_0xbd3979['functionName'][_0x44e698(0x1d7)]()){_0x250814[_0x44e698(0x1cf)]({'level':_0x44e698(0x1d5),'path':_0x16ea24+_0x44e698(0x1e8),'message':_0x44e698(0x1ea)}),delete _0xbd3979['functionName'];return;}_0xbd3979[_0x44e698(0x1de)]=_0xbd3979[_0x44e698(0x1eb)],delete _0xbd3979[_0x44e698(0x1eb)];}}function isBffAction(_0x1df1cb){const _0x5c4e4d=a62_0x384a;return _0x1df1cb[_0x5c4e4d(0x1e5)]===_0x5c4e4d(0x1cd)||_0x1df1cb[_0x5c4e4d(0x1d9)]===_0x5c4e4d(0x1d1)||_0x1df1cb[_0x5c4e4d(0x1ed)]==='bff.exec';}function cloneJsonValue(_0x4bdf74){const _0x361c76=a62_0x384a;if(Array[_0x361c76(0x1ce)](_0x4bdf74))return _0x4bdf74[_0x361c76(0x1d3)](_0x20a89f=>cloneJsonValue(_0x20a89f));if(isObjectRecord(_0x4bdf74))return Object['fromEntries'](Object['entries'](_0x4bdf74)[_0x361c76(0x1d3)](([_0x20e84d,_0x21589e])=>[_0x20e84d,cloneJsonValue(_0x21589e)]));return _0x4bdf74;}function a62_0x384a(_0x827f1c,_0x595ac2){_0x827f1c=_0x827f1c-0x1cd;const _0x554b62=a62_0x554b();let _0x384ab7=_0x554b62[_0x827f1c];return _0x384ab7;}function isObjectRecord(_0x5a9a35){const _0x2f5ba8=a62_0x384a;return Boolean(_0x5a9a35)&&typeof _0x5a9a35==='object'&&!Array[_0x2f5ba8(0x1ce)](_0x5a9a35);}
1
+ (function(_0x54ed28,_0x183a40){const _0x137a0a=a62_0x23ba,_0x14605e=_0x54ed28();while(!![]){try{const _0x40b792=parseInt(_0x137a0a(0x1af))/0x1+-parseInt(_0x137a0a(0x1a6))/0x2+-parseInt(_0x137a0a(0x1a9))/0x3+parseInt(_0x137a0a(0x1c4))/0x4+-parseInt(_0x137a0a(0x1bc))/0x5+parseInt(_0x137a0a(0x1a3))/0x6*(parseInt(_0x137a0a(0x1c1))/0x7)+-parseInt(_0x137a0a(0x1c2))/0x8*(-parseInt(_0x137a0a(0x1b1))/0x9);if(_0x40b792===_0x183a40)break;else _0x14605e['push'](_0x14605e['shift']());}catch(_0x49b5e0){_0x14605e['push'](_0x14605e['shift']());}}}(a62_0x1c24,0x609ca));function a62_0x23ba(_0x22176a,_0x1f1106){_0x22176a=_0x22176a-0x19f;const _0x1c24db=a62_0x1c24();let _0x23ba37=_0x1c24db[_0x22176a];return _0x23ba37;}function a62_0x1c24(){const _0x105fe9=['bff.exec','error','kind','isArray','61434dSsDrd','.scriptName','12553479AsQItx','string','.target','map','entries','trim','functionName','bff','call','target','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','3492135WwodaG','push','fromEntries','action','resources','121933dVZlSd','8VxwoHN','actions','2257368JFHzrr','hasOwnProperty','$.resources','prototype','object','].target','6xUKphH','.resources','$.commands[','498406odCeyH','scriptName','functionName\x20must\x20be\x20a\x20non-empty\x20string.','2084022BIOGax','commands'];a62_0x1c24=function(){return _0x105fe9;};return a62_0x1c24();}export function adaptServiceTreeManifestForLegacyFramework(_0x6802b9){const _0xfc472d=a62_0x23ba,_0x49cb4e=cloneJsonValue(_0x6802b9),_0xbff2=[];if(!isObjectRecord(_0x49cb4e))return{'manifest':_0x49cb4e,'errors':_0xbff2};return Array[_0xfc472d(0x1ae)](_0x49cb4e[_0xfc472d(0x1aa)])&&_0x49cb4e['commands']['forEach']((_0x5b299c,_0x206122)=>{const _0x5386a5=_0xfc472d;if(!isObjectRecord(_0x5b299c))return;adaptBffTarget(_0x5b299c[_0x5386a5(0x1ba)],_0x5386a5(0x1a5)+_0x206122+_0x5386a5(0x1a2),_0xbff2);}),adaptResources(_0x49cb4e[_0xfc472d(0x1c0)],_0xfc472d(0x19f),_0xbff2),{'manifest':_0x49cb4e,'errors':_0xbff2};}export function toPublicServiceTreeTarget(_0x5a16fb){const _0x167f70=a62_0x23ba,{scriptName:_0x490e03,..._0x15b6e0}=_0x5a16fb;return typeof _0x490e03===_0x167f70(0x1b2)&&_0x490e03[_0x167f70(0x1b6)]()&&(_0x15b6e0['functionName']=_0x490e03),_0x15b6e0;}export function toPublicNormalizedServiceTree(_0x27e7a2){const _0x1912ca=a62_0x23ba;return{..._0x27e7a2,'commands':_0x27e7a2[_0x1912ca(0x1aa)][_0x1912ca(0x1b4)](_0x184f60=>({..._0x184f60,'target':toPublicServiceTreeTarget(_0x184f60[_0x1912ca(0x1ba)])}))};}function adaptResources(_0x527a58,_0x2a7a5f,_0x344253){const _0x21dd43=a62_0x23ba;if(!isObjectRecord(_0x527a58))return;for(const [_0x407969,_0x22ec7f]of Object[_0x21dd43(0x1b5)](_0x527a58)){if(!isObjectRecord(_0x22ec7f))continue;const _0x52962e=_0x2a7a5f+'.'+_0x407969;if(isObjectRecord(_0x22ec7f[_0x21dd43(0x1c3)]))for(const [_0x1bd641,_0x2ab358]of Object[_0x21dd43(0x1b5)](_0x22ec7f[_0x21dd43(0x1c3)])){if(!isObjectRecord(_0x2ab358))continue;const _0x154460=_0x52962e+'.actions.'+_0x1bd641,_0x420649=isObjectRecord(_0x2ab358['target'])&&_0x2ab358[_0x21dd43(0x1ba)][_0x21dd43(0x1ad)]===_0x21dd43(0x1b8);adaptBffTarget(_0x2ab358[_0x21dd43(0x1ba)],_0x154460+_0x21dd43(0x1b3),_0x344253),(_0x420649||isBffAction(_0x2ab358))&&adaptFunctionNameField(_0x2ab358,_0x154460,_0x344253);}adaptResources(_0x22ec7f[_0x21dd43(0x1c0)],_0x52962e+_0x21dd43(0x1a4),_0x344253);}}function adaptBffTarget(_0x22c5f3,_0x21f0ee,_0x17b463){const _0x15403d=a62_0x23ba;if(!isObjectRecord(_0x22c5f3)||_0x22c5f3[_0x15403d(0x1ad)]!==_0x15403d(0x1b8))return;adaptFunctionNameField(_0x22c5f3,_0x21f0ee,_0x17b463);}function adaptFunctionNameField(_0xa35084,_0x1216a1,_0x34ae95){const _0x3f612d=a62_0x23ba;Object[_0x3f612d(0x1a0)][_0x3f612d(0x1c5)][_0x3f612d(0x1b9)](_0xa35084,_0x3f612d(0x1a7))&&_0x34ae95[_0x3f612d(0x1bd)]({'level':_0x3f612d(0x1ac),'path':_0x1216a1+_0x3f612d(0x1b0),'message':_0x3f612d(0x1bb)});if(Object[_0x3f612d(0x1a0)][_0x3f612d(0x1c5)][_0x3f612d(0x1b9)](_0xa35084,_0x3f612d(0x1b7))){if(typeof _0xa35084[_0x3f612d(0x1b7)]!==_0x3f612d(0x1b2)||!_0xa35084[_0x3f612d(0x1b7)][_0x3f612d(0x1b6)]()){_0x34ae95[_0x3f612d(0x1bd)]({'level':_0x3f612d(0x1ac),'path':_0x1216a1+'.functionName','message':_0x3f612d(0x1a8)}),delete _0xa35084[_0x3f612d(0x1b7)];return;}_0xa35084[_0x3f612d(0x1a7)]=_0xa35084[_0x3f612d(0x1b7)],delete _0xa35084['functionName'];}}function isBffAction(_0x2af6f7){const _0x30e812=a62_0x23ba;return _0x2af6f7[_0x30e812(0x1ad)]===_0x30e812(0x1b8)||_0x2af6f7[_0x30e812(0x1bf)]===_0x30e812(0x1ab)||_0x2af6f7[_0x30e812(0x1ba)]==='bff.exec';}function cloneJsonValue(_0x49f5ad){const _0x1b194c=a62_0x23ba;if(Array[_0x1b194c(0x1ae)](_0x49f5ad))return _0x49f5ad[_0x1b194c(0x1b4)](_0x478987=>cloneJsonValue(_0x478987));if(isObjectRecord(_0x49f5ad))return Object[_0x1b194c(0x1be)](Object[_0x1b194c(0x1b5)](_0x49f5ad)[_0x1b194c(0x1b4)](([_0x492c8e,_0x139efe])=>[_0x492c8e,cloneJsonValue(_0x139efe)]));return _0x49f5ad;}function isObjectRecord(_0x1dc8ee){const _0x42e705=a62_0x23ba;return Boolean(_0x1dc8ee)&&typeof _0x1dc8ee===_0x42e705(0x1a1)&&!Array[_0x42e705(0x1ae)](_0x1dc8ee);}
@@ -1 +1 @@
1
- const a63_0x3c0973=a63_0x47d5;(function(_0x4418c7,_0x3a1b29){const _0x560034=a63_0x47d5,_0x1066a6=_0x4418c7();while(!![]){try{const _0x1be83a=parseInt(_0x560034(0x13e))/0x1*(parseInt(_0x560034(0x12a))/0x2)+parseInt(_0x560034(0x16a))/0x3+parseInt(_0x560034(0x159))/0x4+parseInt(_0x560034(0x142))/0x5*(parseInt(_0x560034(0x160))/0x6)+parseInt(_0x560034(0x13f))/0x7+parseInt(_0x560034(0x165))/0x8+-parseInt(_0x560034(0x14e))/0x9;if(_0x1be83a===_0x3a1b29)break;else _0x1066a6['push'](_0x1066a6['shift']());}catch(_0x2e81e6){_0x1066a6['push'](_0x1066a6['shift']());}}}(a63_0x53a4,0x3f208));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a63_0x3c0973(0x141),'type':a63_0x3c0973(0x145),'required':!![],'description':a63_0x3c0973(0x13b)},SERVICE_FLAG={'name':a63_0x3c0973(0x125),'type':a63_0x3c0973(0x145),'required':!![],'description':a63_0x3c0973(0x136),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a63_0x3c0973(0x15b)}};function summarizeService(_0x27096c){const _0x300b53=a63_0x3c0973;return{'serviceCode':_0x27096c[_0x300b53(0x163)],'name':_0x27096c[_0x300b53(0x140)][_0x300b53(0x125)][_0x300b53(0x139)],'version':_0x27096c[_0x300b53(0x152)],'importedAt':_0x27096c['importedAt'],'source':_0x27096c['source'],'commandCount':_0x27096c[_0x300b53(0x140)][_0x300b53(0x126)][_0x300b53(0x14f)],'commands':_0x27096c[_0x300b53(0x140)][_0x300b53(0x126)][_0x300b53(0x162)](_0x432b1d=>({'path':_0x432b1d[_0x300b53(0x147)],'description':_0x432b1d['description'],'risk':_0x432b1d[_0x300b53(0x158)],'target':toPublicServiceTreeTarget(_0x432b1d[_0x300b53(0x12b)]),'flags':_0x432b1d[_0x300b53(0x157)][_0x300b53(0x162)](_0x5b772f=>({'name':_0x5b772f[_0x300b53(0x139)],'cliName':_0x5b772f[_0x300b53(0x15f)],'type':_0x5b772f['type'],'required':_0x5b772f['required']===!![]}))}))};}function summarizeLoadedManifest(_0x53b7e9){const _0x416e4a=a63_0x3c0973;return{'service':_0x53b7e9[_0x416e4a(0x140)]?.[_0x416e4a(0x125)],'version':_0x53b7e9[_0x416e4a(0x140)]?.[_0x416e4a(0x152)],'commandCount':_0x53b7e9[_0x416e4a(0x140)]?.[_0x416e4a(0x126)]['length']??0x0,'commands':_0x53b7e9[_0x416e4a(0x140)]?.[_0x416e4a(0x126)][_0x416e4a(0x162)](_0x32aca6=>({'path':_0x32aca6[_0x416e4a(0x147)],'risk':_0x32aca6[_0x416e4a(0x158)],'target':toPublicServiceTreeTarget(_0x32aca6[_0x416e4a(0x12b)])}))??[],'registryIndex':_0x53b7e9[_0x416e4a(0x144)],'registryServiceCode':_0x53b7e9[_0x416e4a(0x12d)],'errors':_0x53b7e9[_0x416e4a(0x128)][_0x416e4a(0x13a)],'warnings':_0x53b7e9[_0x416e4a(0x128)][_0x416e4a(0x130)]};}function a63_0x47d5(_0x15b214,_0x5b96cf){_0x15b214=_0x15b214-0x125;const _0x53a41c=a63_0x53a4();let _0x47d508=_0x53a41c[_0x15b214];return _0x47d508;}function a63_0x53a4(){const _0x320bfe=['report','imported','379172zVvNJr','target','kind','registryServiceCode','Exported\x20service\x20','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','warnings','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','replaced','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.','filePath','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Local\x20service\x20code,\x20for\x20example\x20crm','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','Imported\x20','name','errors','Service\x20Tree\x20manifest\x20file\x20path','read','manifest','1xZJrOF','1961393NUegrA','normalizedManifest','file','2053505rezSsc','Local\x20service\x20not\x20found:\x20','registryIndex','string','registry','cliPath','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.','write','entry','serviceCount','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','str','9510840NxCXVo','length','entries','Service\x20manifest\x20validation\x20passed.','version','remove','import','\x20service(s),\x20updated\x20','export','flags','risk','396616LClexb','updated','lower\x20kebab-case\x20service\x20code','WRITE','registryPath','Removed\x20service\x20','cliName','6pEnxrM','manifests','map','serviceCode','reduce','1706072BTimPG','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Service\x20registry\x20validation\x20passed.','hash','\x20service\x20','367287VqoXQF','service','commands','Imported'];a63_0x53a4=function(){return _0x320bfe;};return a63_0x53a4();}export const serviceDefinitions=[{'service':a63_0x3c0973(0x125),'command':'validate','description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a63_0x3c0973(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x35810b){const _0x5b34c1=a63_0x3c0973,_0x45f61b=loadServiceManifestFromFile(_0x35810b['str']('file'));if(!_0x45f61b['report']['ok'])return{'ok':![],'data':{'file':_0x45f61b[_0x5b34c1(0x134)],'hash':_0x45f61b[_0x5b34c1(0x168)],'kind':_0x45f61b['kind'],'serviceCount':_0x45f61b['manifests'][_0x5b34c1(0x14f)],'services':_0x45f61b[_0x5b34c1(0x161)][_0x5b34c1(0x162)](summarizeLoadedManifest),'errors':_0x45f61b['report'][_0x5b34c1(0x13a)],'warnings':_0x45f61b[_0x5b34c1(0x128)][_0x5b34c1(0x130)]},'message':formatValidationFailure(_0x45f61b[_0x5b34c1(0x128)])};if(_0x45f61b['kind']===_0x5b34c1(0x146)||_0x45f61b[_0x5b34c1(0x161)]['length']!==0x1)return{'ok':!![],'data':{'file':_0x45f61b['filePath'],'hash':_0x45f61b[_0x5b34c1(0x168)],'kind':_0x45f61b[_0x5b34c1(0x12c)],'serviceCount':_0x45f61b['manifests'][_0x5b34c1(0x14f)],'commandCount':_0x45f61b[_0x5b34c1(0x161)][_0x5b34c1(0x164)]((_0x478661,_0xb2db23)=>_0x478661+(_0xb2db23[_0x5b34c1(0x140)]?.[_0x5b34c1(0x126)][_0x5b34c1(0x14f)]??0x0),0x0),'services':_0x45f61b[_0x5b34c1(0x161)][_0x5b34c1(0x162)](summarizeLoadedManifest),'warnings':_0x45f61b['report']['warnings']},'message':_0x5b34c1(0x167)};return{'ok':!![],'data':{'file':_0x45f61b[_0x5b34c1(0x134)],'hash':_0x45f61b[_0x5b34c1(0x168)],'kind':_0x45f61b['kind'],'service':_0x45f61b[_0x5b34c1(0x140)]?.[_0x5b34c1(0x125)],'version':_0x45f61b[_0x5b34c1(0x140)]?.[_0x5b34c1(0x152)],'commandCount':_0x45f61b[_0x5b34c1(0x140)]?.[_0x5b34c1(0x126)][_0x5b34c1(0x14f)]??0x0,'commands':_0x45f61b[_0x5b34c1(0x140)]?.[_0x5b34c1(0x126)][_0x5b34c1(0x162)](_0x45d66b=>({'path':_0x45d66b[_0x5b34c1(0x147)],'risk':_0x45d66b[_0x5b34c1(0x158)],'target':toPublicServiceTreeTarget(_0x45d66b[_0x5b34c1(0x12b)])})),'warnings':_0x45f61b[_0x5b34c1(0x128)][_0x5b34c1(0x130)]},'message':_0x5b34c1(0x151)};}},{'service':a63_0x3c0973(0x125),'command':a63_0x3c0973(0x154),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a63_0x3c0973(0x149),'confirmationDescription':a63_0x3c0973(0x133),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x278587){const _0x4496e8=a63_0x3c0973,_0x1c33a5=loadServiceManifestFromFile(_0x278587[_0x4496e8(0x14d)](_0x4496e8(0x141)));return{'method':_0x4496e8(0x15c),'url':getServiceRegistryPath(),'body':{'file':_0x1c33a5[_0x4496e8(0x134)],'hash':_0x1c33a5[_0x4496e8(0x168)],'kind':_0x1c33a5[_0x4496e8(0x12c)],'ok':_0x1c33a5['report']['ok'],'service':_0x1c33a5['normalizedManifest']?.[_0x4496e8(0x125)],'version':_0x1c33a5[_0x4496e8(0x140)]?.['version'],'serviceCount':_0x1c33a5[_0x4496e8(0x161)]['length'],'services':_0x1c33a5['manifests'][_0x4496e8(0x162)](_0x128d52=>({'service':_0x128d52[_0x4496e8(0x140)]?.[_0x4496e8(0x125)],'version':_0x128d52[_0x4496e8(0x140)]?.['version'],'commandCount':_0x128d52[_0x4496e8(0x140)]?.[_0x4496e8(0x126)][_0x4496e8(0x14f)]??0x0,'errors':_0x128d52[_0x4496e8(0x128)][_0x4496e8(0x13a)]})),'errors':_0x1c33a5[_0x4496e8(0x128)][_0x4496e8(0x13a)],'commandCount':_0x1c33a5[_0x4496e8(0x140)]?.['commands']['length']??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x54de1e){const _0x2db5a6=a63_0x3c0973,_0x30575c=importServiceManifest(_0x54de1e[_0x2db5a6(0x14d)](_0x2db5a6(0x141)));if(_0x30575c[_0x2db5a6(0x150)][_0x2db5a6(0x14f)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x30575c[_0x2db5a6(0x15d)],'imported':_0x30575c['imported'],'updated':_0x30575c[_0x2db5a6(0x15a)],'serviceCount':_0x30575c[_0x2db5a6(0x14b)],'services':_0x30575c[_0x2db5a6(0x150)][_0x2db5a6(0x162)](summarizeService)},'message':_0x2db5a6(0x138)+_0x30575c[_0x2db5a6(0x129)]+_0x2db5a6(0x155)+_0x30575c['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x30575c['registryPath'],'replaced':_0x30575c[_0x2db5a6(0x132)],'imported':_0x30575c['imported'],'updated':_0x30575c[_0x2db5a6(0x15a)],'serviceCount':_0x30575c['serviceCount'],'service':summarizeService(_0x30575c[_0x2db5a6(0x14a)])},'message':(_0x30575c[_0x2db5a6(0x132)]?'Updated':_0x2db5a6(0x127))+_0x2db5a6(0x169)+_0x30575c[_0x2db5a6(0x14a)]['serviceCode']+'.'};}},{'service':a63_0x3c0973(0x125),'command':a63_0x3c0973(0x156),'description':a63_0x3c0973(0x166),'risk':a63_0x3c0973(0x149),'confirmationDescription':a63_0x3c0973(0x148),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x94edd6){const _0x3b37ac=a63_0x3c0973,_0x111f4b=getLocalServiceEntry(_0x94edd6[_0x3b37ac(0x14d)](_0x3b37ac(0x125)));return{'method':_0x3b37ac(0x15c),'url':_0x94edd6[_0x3b37ac(0x14d)]('file'),'body':{'service':_0x94edd6[_0x3b37ac(0x14d)](_0x3b37ac(0x125)),'found':Boolean(_0x111f4b),'version':_0x111f4b?.[_0x3b37ac(0x152)],'source':_0x111f4b?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x5c9509){const _0x3aa34a=a63_0x3c0973,_0x44af4a=exportServiceManifest(_0x5c9509['str']('service'),_0x5c9509[_0x3aa34a(0x14d)](_0x3aa34a(0x141)));return{'ok':!![],'data':{'registryPath':_0x44af4a[_0x3aa34a(0x15d)],'file':_0x44af4a[_0x3aa34a(0x134)],'service':summarizeService(_0x44af4a[_0x3aa34a(0x14a)])},'message':_0x3aa34a(0x12e)+_0x44af4a[_0x3aa34a(0x14a)]['serviceCode']+'.'};}},{'service':a63_0x3c0973(0x125),'command':'list','description':a63_0x3c0973(0x12f),'risk':a63_0x3c0973(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x327cea=a63_0x3c0973,_0x1b7b8b=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1b7b8b[_0x327cea(0x14f)],'services':_0x1b7b8b[_0x327cea(0x162)](summarizeService)}};}},{'service':'service','command':a63_0x3c0973(0x153),'description':a63_0x3c0973(0x131),'risk':a63_0x3c0973(0x149),'confirmationDescription':a63_0x3c0973(0x137),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x478aa2){const _0x33f907=a63_0x3c0973,_0x4a8a7e=getLocalServiceEntry(_0x478aa2[_0x33f907(0x14d)](_0x33f907(0x125)));return{'method':_0x33f907(0x15c),'url':getServiceRegistryPath(),'body':{'service':_0x478aa2[_0x33f907(0x14d)](_0x33f907(0x125)),'found':Boolean(_0x4a8a7e),'version':_0x4a8a7e?.['version'],'source':_0x4a8a7e?.['source']},'description':_0x33f907(0x135)};},async 'execute'(_0x17ba98){const _0x5e9503=a63_0x3c0973,_0x208dc3=removeServiceManifest(_0x17ba98[_0x5e9503(0x14d)]('service'));return{'ok':!![],'data':{'registryPath':_0x208dc3[_0x5e9503(0x15d)],'serviceCount':_0x208dc3[_0x5e9503(0x14b)],'service':summarizeService(_0x208dc3['entry'])},'message':_0x5e9503(0x15e)+_0x208dc3[_0x5e9503(0x14a)][_0x5e9503(0x163)]+'.'};}},{'service':'service','command':'detail','description':a63_0x3c0973(0x14c),'risk':a63_0x3c0973(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x420b3d){const _0x2a4bd7=a63_0x3c0973,_0x5f545d=getLocalServiceEntry(_0x420b3d['str']('service'));if(!_0x5f545d)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x420b3d[_0x2a4bd7(0x14d)]('service')},'message':_0x2a4bd7(0x143)+_0x420b3d[_0x2a4bd7(0x14d)](_0x2a4bd7(0x125))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x5f545d),'manifest':_0x5f545d[_0x2a4bd7(0x13d)],'normalizedManifest':toPublicNormalizedServiceTree(_0x5f545d['normalizedManifest'])}};}}];
1
+ const a63_0x5f54f9=a63_0x4fc3;(function(_0x539128,_0x2be3a9){const _0x178eab=a63_0x4fc3,_0x5c869e=_0x539128();while(!![]){try{const _0x56bb2d=-parseInt(_0x178eab(0x190))/0x1+parseInt(_0x178eab(0x192))/0x2*(parseInt(_0x178eab(0x1bf))/0x3)+-parseInt(_0x178eab(0x1b6))/0x4*(parseInt(_0x178eab(0x1b2))/0x5)+parseInt(_0x178eab(0x197))/0x6*(-parseInt(_0x178eab(0x1c6))/0x7)+-parseInt(_0x178eab(0x1aa))/0x8+parseInt(_0x178eab(0x1b1))/0x9*(parseInt(_0x178eab(0x1d4))/0xa)+parseInt(_0x178eab(0x1b9))/0xb*(parseInt(_0x178eab(0x1b0))/0xc);if(_0x56bb2d===_0x2be3a9)break;else _0x5c869e['push'](_0x5c869e['shift']());}catch(_0x100ad1){_0x5c869e['push'](_0x5c869e['shift']());}}}(a63_0x4300,0xdcbba));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a63_0x5f54f9(0x19b),'type':a63_0x5f54f9(0x1d2),'required':!![],'description':a63_0x5f54f9(0x1a9)},SERVICE_FLAG={'name':'service','type':a63_0x5f54f9(0x1d2),'required':!![],'description':a63_0x5f54f9(0x19e),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a63_0x5f54f9(0x1a0)}};function summarizeService(_0x5e880e){const _0x2a18d9=a63_0x5f54f9;return{'serviceCode':_0x5e880e[_0x2a18d9(0x1c8)],'name':_0x5e880e[_0x2a18d9(0x199)][_0x2a18d9(0x19f)][_0x2a18d9(0x1a5)],'version':_0x5e880e[_0x2a18d9(0x1d7)],'importedAt':_0x5e880e[_0x2a18d9(0x195)],'source':_0x5e880e[_0x2a18d9(0x198)],'commandCount':_0x5e880e[_0x2a18d9(0x199)]['commands'][_0x2a18d9(0x19d)],'commands':_0x5e880e[_0x2a18d9(0x199)][_0x2a18d9(0x1bc)][_0x2a18d9(0x1d9)](_0x2f25ca=>({'path':_0x2f25ca[_0x2a18d9(0x1d3)],'description':_0x2f25ca[_0x2a18d9(0x1bb)],'risk':_0x2f25ca[_0x2a18d9(0x1b3)],'target':toPublicServiceTreeTarget(_0x2f25ca[_0x2a18d9(0x1a3)]),'flags':_0x2f25ca['flags'][_0x2a18d9(0x1d9)](_0x20c98e=>({'name':_0x20c98e[_0x2a18d9(0x1a5)],'cliName':_0x20c98e[_0x2a18d9(0x1ae)],'type':_0x20c98e['type'],'required':_0x20c98e['required']===!![]}))}))};}function a63_0x4fc3(_0x3c0b60,_0x49edcf){_0x3c0b60=_0x3c0b60-0x190;const _0x4300dc=a63_0x4300();let _0x4fc393=_0x4300dc[_0x3c0b60];return _0x4fc393;}function summarizeLoadedManifest(_0x57ff67){const _0x18af5a=a63_0x5f54f9;return{'service':_0x57ff67[_0x18af5a(0x199)]?.[_0x18af5a(0x19f)],'version':_0x57ff67[_0x18af5a(0x199)]?.[_0x18af5a(0x1d7)],'commandCount':_0x57ff67[_0x18af5a(0x199)]?.['commands'][_0x18af5a(0x19d)]??0x0,'commands':_0x57ff67[_0x18af5a(0x199)]?.[_0x18af5a(0x1bc)]['map'](_0xdf19bd=>({'path':_0xdf19bd[_0x18af5a(0x1d3)],'risk':_0xdf19bd[_0x18af5a(0x1b3)],'target':toPublicServiceTreeTarget(_0xdf19bd['target'])}))??[],'registryIndex':_0x57ff67[_0x18af5a(0x19a)],'registryServiceCode':_0x57ff67['registryServiceCode'],'errors':_0x57ff67['report']['errors'],'warnings':_0x57ff67['report'][_0x18af5a(0x1c4)]};}export const serviceDefinitions=[{'service':'service','command':a63_0x5f54f9(0x1c9),'description':a63_0x5f54f9(0x193),'risk':a63_0x5f54f9(0x1b5),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x4f3f25){const _0xddb1b1=a63_0x5f54f9,_0x329b96=loadServiceManifestFromFile(_0x4f3f25[_0xddb1b1(0x1cf)](_0xddb1b1(0x19b)));if(!_0x329b96[_0xddb1b1(0x196)]['ok'])return{'ok':![],'data':{'file':_0x329b96[_0xddb1b1(0x1d8)],'hash':_0x329b96[_0xddb1b1(0x191)],'kind':_0x329b96['kind'],'serviceCount':_0x329b96[_0xddb1b1(0x1a6)]['length'],'services':_0x329b96[_0xddb1b1(0x1a6)][_0xddb1b1(0x1d9)](summarizeLoadedManifest),'errors':_0x329b96[_0xddb1b1(0x196)][_0xddb1b1(0x19c)],'warnings':_0x329b96[_0xddb1b1(0x196)][_0xddb1b1(0x1c4)]},'message':formatValidationFailure(_0x329b96['report'])};if(_0x329b96['kind']===_0xddb1b1(0x1a2)||_0x329b96[_0xddb1b1(0x1a6)][_0xddb1b1(0x19d)]!==0x1)return{'ok':!![],'data':{'file':_0x329b96[_0xddb1b1(0x1d8)],'hash':_0x329b96[_0xddb1b1(0x191)],'kind':_0x329b96[_0xddb1b1(0x1cb)],'serviceCount':_0x329b96[_0xddb1b1(0x1a6)][_0xddb1b1(0x19d)],'commandCount':_0x329b96[_0xddb1b1(0x1a6)][_0xddb1b1(0x1cc)]((_0x537f4c,_0x1f2363)=>_0x537f4c+(_0x1f2363['normalizedManifest']?.[_0xddb1b1(0x1bc)][_0xddb1b1(0x19d)]??0x0),0x0),'services':_0x329b96[_0xddb1b1(0x1a6)][_0xddb1b1(0x1d9)](summarizeLoadedManifest),'warnings':_0x329b96[_0xddb1b1(0x196)][_0xddb1b1(0x1c4)]},'message':_0xddb1b1(0x1d5)};return{'ok':!![],'data':{'file':_0x329b96[_0xddb1b1(0x1d8)],'hash':_0x329b96['hash'],'kind':_0x329b96[_0xddb1b1(0x1cb)],'service':_0x329b96['normalizedManifest']?.[_0xddb1b1(0x19f)],'version':_0x329b96[_0xddb1b1(0x199)]?.[_0xddb1b1(0x1d7)],'commandCount':_0x329b96[_0xddb1b1(0x199)]?.[_0xddb1b1(0x1bc)][_0xddb1b1(0x19d)]??0x0,'commands':_0x329b96[_0xddb1b1(0x199)]?.['commands'][_0xddb1b1(0x1d9)](_0x939618=>({'path':_0x939618[_0xddb1b1(0x1d3)],'risk':_0x939618['risk'],'target':toPublicServiceTreeTarget(_0x939618[_0xddb1b1(0x1a3)])})),'warnings':_0x329b96[_0xddb1b1(0x196)][_0xddb1b1(0x1c4)]},'message':_0xddb1b1(0x1a1)};}},{'service':'service','command':a63_0x5f54f9(0x1d1),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a63_0x5f54f9(0x194),'confirmationDescription':a63_0x5f54f9(0x1b8),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x278e1d){const _0xfc600c=a63_0x5f54f9,_0x177ee9=loadServiceManifestFromFile(_0x278e1d[_0xfc600c(0x1cf)](_0xfc600c(0x19b)));return{'method':_0xfc600c(0x1be),'url':getServiceRegistryPath(),'body':{'file':_0x177ee9[_0xfc600c(0x1d8)],'hash':_0x177ee9[_0xfc600c(0x191)],'kind':_0x177ee9[_0xfc600c(0x1cb)],'ok':_0x177ee9['report']['ok'],'service':_0x177ee9['normalizedManifest']?.[_0xfc600c(0x19f)],'version':_0x177ee9[_0xfc600c(0x199)]?.['version'],'serviceCount':_0x177ee9[_0xfc600c(0x1a6)][_0xfc600c(0x19d)],'services':_0x177ee9[_0xfc600c(0x1a6)][_0xfc600c(0x1d9)](_0x2e350f=>({'service':_0x2e350f[_0xfc600c(0x199)]?.['service'],'version':_0x2e350f[_0xfc600c(0x199)]?.['version'],'commandCount':_0x2e350f[_0xfc600c(0x199)]?.[_0xfc600c(0x1bc)][_0xfc600c(0x19d)]??0x0,'errors':_0x2e350f[_0xfc600c(0x196)][_0xfc600c(0x19c)]})),'errors':_0x177ee9['report'][_0xfc600c(0x19c)],'commandCount':_0x177ee9['normalizedManifest']?.[_0xfc600c(0x1bc)]['length']??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x59f6eb){const _0xa5a593=a63_0x5f54f9,_0x1befb6=importServiceManifest(_0x59f6eb[_0xa5a593(0x1cf)]('file'));if(_0x1befb6[_0xa5a593(0x1a8)][_0xa5a593(0x19d)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1befb6[_0xa5a593(0x1c7)],'imported':_0x1befb6[_0xa5a593(0x1cd)],'updated':_0x1befb6['updated'],'serviceCount':_0x1befb6[_0xa5a593(0x1c5)],'services':_0x1befb6[_0xa5a593(0x1a8)][_0xa5a593(0x1d9)](summarizeService)},'message':_0xa5a593(0x1c2)+_0x1befb6[_0xa5a593(0x1cd)]+_0xa5a593(0x1af)+_0x1befb6['updated']+_0xa5a593(0x1bd)};return{'ok':!![],'data':{'registryPath':_0x1befb6[_0xa5a593(0x1c7)],'replaced':_0x1befb6[_0xa5a593(0x1a7)],'imported':_0x1befb6[_0xa5a593(0x1cd)],'updated':_0x1befb6[_0xa5a593(0x1c0)],'serviceCount':_0x1befb6[_0xa5a593(0x1c5)],'service':summarizeService(_0x1befb6[_0xa5a593(0x1da)])},'message':(_0x1befb6[_0xa5a593(0x1a7)]?_0xa5a593(0x1c1):_0xa5a593(0x1ca))+'\x20service\x20'+_0x1befb6[_0xa5a593(0x1da)][_0xa5a593(0x1c8)]+'.'};}},{'service':a63_0x5f54f9(0x19f),'command':a63_0x5f54f9(0x1ce),'description':a63_0x5f54f9(0x1d0),'risk':'write','confirmationDescription':a63_0x5f54f9(0x1ab),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x328775){const _0x12b342=a63_0x5f54f9,_0x25f805=getLocalServiceEntry(_0x328775['str'](_0x12b342(0x19f)));return{'method':_0x12b342(0x1be),'url':_0x328775['str'](_0x12b342(0x19b)),'body':{'service':_0x328775[_0x12b342(0x1cf)]('service'),'found':Boolean(_0x25f805),'version':_0x25f805?.['version'],'source':_0x25f805?.[_0x12b342(0x198)]},'description':_0x12b342(0x1ad)};},async 'execute'(_0x4ac3fd){const _0x10437c=a63_0x5f54f9,_0x4e2530=exportServiceManifest(_0x4ac3fd[_0x10437c(0x1cf)](_0x10437c(0x19f)),_0x4ac3fd[_0x10437c(0x1cf)](_0x10437c(0x19b)));return{'ok':!![],'data':{'registryPath':_0x4e2530[_0x10437c(0x1c7)],'file':_0x4e2530[_0x10437c(0x1d8)],'service':summarizeService(_0x4e2530[_0x10437c(0x1da)])},'message':'Exported\x20service\x20'+_0x4e2530[_0x10437c(0x1da)][_0x10437c(0x1c8)]+'.'};}},{'service':'service','command':'list','description':a63_0x5f54f9(0x1b4),'risk':a63_0x5f54f9(0x1b5),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x198a32=a63_0x5f54f9,_0x1b2a41=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1b2a41[_0x198a32(0x19d)],'services':_0x1b2a41['map'](summarizeService)}};}},{'service':a63_0x5f54f9(0x19f),'command':a63_0x5f54f9(0x1d6),'description':'Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','risk':a63_0x5f54f9(0x194),'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'(_0x479561){const _0x2a1ce4=a63_0x5f54f9,_0x503645=getLocalServiceEntry(_0x479561[_0x2a1ce4(0x1cf)](_0x2a1ce4(0x19f)));return{'method':_0x2a1ce4(0x1be),'url':getServiceRegistryPath(),'body':{'service':_0x479561['str'](_0x2a1ce4(0x19f)),'found':Boolean(_0x503645),'version':_0x503645?.['version'],'source':_0x503645?.[_0x2a1ce4(0x198)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x249180){const _0xf8a7ab=a63_0x5f54f9,_0x1a36bf=removeServiceManifest(_0x249180[_0xf8a7ab(0x1cf)](_0xf8a7ab(0x19f)));return{'ok':!![],'data':{'registryPath':_0x1a36bf[_0xf8a7ab(0x1c7)],'serviceCount':_0x1a36bf[_0xf8a7ab(0x1c5)],'service':summarizeService(_0x1a36bf[_0xf8a7ab(0x1da)])},'message':_0xf8a7ab(0x1ac)+_0x1a36bf['entry'][_0xf8a7ab(0x1c8)]+'.'};}},{'service':a63_0x5f54f9(0x19f),'command':a63_0x5f54f9(0x1a4),'description':a63_0x5f54f9(0x1ba),'risk':a63_0x5f54f9(0x1b5),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0xeefa2a){const _0x1bcd2c=a63_0x5f54f9,_0x2a8889=getLocalServiceEntry(_0xeefa2a['str'](_0x1bcd2c(0x19f)));if(!_0x2a8889)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0xeefa2a['str'](_0x1bcd2c(0x19f))},'message':_0x1bcd2c(0x1c3)+_0xeefa2a['str'](_0x1bcd2c(0x19f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2a8889),'manifest':_0x2a8889[_0x1bcd2c(0x1b7)],'normalizedManifest':toPublicNormalizedServiceTree(_0x2a8889[_0x1bcd2c(0x199)])}};}}];function a63_0x4300(){const _0x38ecbf=['7191074WRXOsn','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','description','commands','\x20service(s).','WRITE','10326GuMNua','updated','Updated','Imported\x20','Local\x20service\x20not\x20found:\x20','warnings','serviceCount','14287BDgFnP','registryPath','serviceCode','validate','Imported','kind','reduce','imported','export','str','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','import','string','cliPath','15670680BgUvGv','Service\x20registry\x20validation\x20passed.','remove','version','filePath','map','entry','1023980RZniho','hash','626IBJKGC','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','write','importedAt','report','426KhaASx','source','normalizedManifest','registryIndex','file','errors','length','Local\x20service\x20code,\x20for\x20example\x20crm','service','lower\x20kebab-case\x20service\x20code','Service\x20manifest\x20validation\x20passed.','registry','target','detail','name','manifests','replaced','entries','Service\x20Tree\x20manifest\x20file\x20path','4196872JPawsF','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.','Removed\x20service\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','cliName','\x20service(s),\x20updated\x20','12Hommsi','9zmwflj','5TBKNKG','risk','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','read','2802104Qbagjy','manifest','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.'];a63_0x4300=function(){return _0x38ecbf;};return a63_0x4300();}
@@ -1 +1 @@
1
- (function(_0x2e3f73,_0x5e1bb4){const _0x37b0c3=a64_0x1772,_0x59edf8=_0x2e3f73();while(!![]){try{const _0x55590e=-parseInt(_0x37b0c3(0x1a8))/0x1+-parseInt(_0x37b0c3(0x1b4))/0x2*(parseInt(_0x37b0c3(0x17f))/0x3)+parseInt(_0x37b0c3(0x1bf))/0x4*(-parseInt(_0x37b0c3(0x1b7))/0x5)+-parseInt(_0x37b0c3(0x19b))/0x6+parseInt(_0x37b0c3(0x1b1))/0x7*(parseInt(_0x37b0c3(0x1ba))/0x8)+-parseInt(_0x37b0c3(0x167))/0x9*(-parseInt(_0x37b0c3(0x198))/0xa)+parseInt(_0x37b0c3(0x1a5))/0xb*(parseInt(_0x37b0c3(0x17b))/0xc);if(_0x55590e===_0x5e1bb4)break;else _0x59edf8['push'](_0x59edf8['shift']());}catch(_0x16668e){_0x59edf8['push'](_0x59edf8['shift']());}}}(a64_0x5ecb,0xb142a));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='service.json';function a64_0x1772(_0xefc1f1,_0x1431db){_0xefc1f1=_0xefc1f1-0x167;const _0x5ecbfb=a64_0x5ecb();let _0x177245=_0x5ecbfb[_0xefc1f1];return _0x177245;}export function getServiceRegistryPath(_0xa64cdd={}){const _0x13c84b=a64_0x1772;return resolve(_0xa64cdd['homeDir']??homedir(),PRODUCT_CONFIG[_0x13c84b(0x1a9)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x49f4da={}){const _0x56786b=a64_0x1772,_0x2abf2b=getServiceRegistryPath(_0x49f4da);if(!existsSync(_0x2abf2b))return emptyServiceRegistry();try{const _0x492332=readFileSync(_0x2abf2b,'utf8');if(!_0x492332['trim']())return emptyServiceRegistry();const _0x167a03=JSON[_0x56786b(0x1b0)](_0x492332);if(_0x167a03['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x56786b(0x188)](_0x56786b(0x16e)+String(_0x167a03['schemaVersion']),_0x56786b(0x1b9)+_0x2abf2b+'.');if(!Array[_0x56786b(0x1ad)](_0x167a03[_0x56786b(0x199)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x167a03[_0x56786b(0x182)],'services':_0x167a03[_0x56786b(0x199)]};}catch(_0x5d942b){if(_0x5d942b instanceof Error&&_0x5d942b[_0x56786b(0x18a)]===_0x56786b(0x1bc))throw _0x5d942b;throw CliErrors['validation']('Invalid\x20service\x20registry\x20JSON:\x20'+_0x2abf2b,_0x56786b(0x195));}}export function writeServiceRegistry(_0x23847f,_0x245ca7={}){const _0x5c1dd4=a64_0x1772,_0x1f446e=getServiceRegistryPath(_0x245ca7),_0x22ece4=dirname(_0x1f446e);!existsSync(_0x22ece4)&&mkdirSync(_0x22ece4,{'recursive':!![]});const _0x1fa67c=_0x1f446e+'.tmp';try{writeFileSync(_0x1fa67c,JSON[_0x5c1dd4(0x16d)](_0x23847f,null,0x2)+'\x0a',{'encoding':_0x5c1dd4(0x1b2),'mode':0x180}),renameSync(_0x1fa67c,_0x1f446e);}catch(_0x5095dd){try{unlinkSync(_0x1fa67c);}catch{}if(_0x5095dd?.[_0x5c1dd4(0x196)]===_0x5c1dd4(0x1ae))throw CliErrors[_0x5c1dd4(0x188)](_0x5c1dd4(0x1bd)+_0x1f446e);throw _0x5095dd;}return _0x1f446e;}export function loadServiceManifestFromFile(_0x38348d){const _0x5f45e2=a64_0x1772,_0x68e58=resolve(_0x38348d);if(!existsSync(_0x68e58))throw CliErrors['validation'](_0x5f45e2(0x180)+_0x38348d);let _0x363305;const _0x1d0c2b=readFileSync(_0x68e58,_0x5f45e2(0x1b2));try{_0x363305=JSON[_0x5f45e2(0x1b0)](_0x1d0c2b);}catch{throw CliErrors[_0x5f45e2(0x188)](_0x5f45e2(0x16f)+_0x38348d,_0x5f45e2(0x1be));}const _0x5aab4e=sha256(_0x1d0c2b),_0x35a4c4=extractLoadedServiceManifests(_0x363305,_0x5aab4e),_0x3aa0bf=aggregateValidationReports(_0x35a4c4),_0x4b007b=_0x35a4c4[0x0];return{'filePath':_0x68e58,'hash':_0x5aab4e,'kind':isServiceRegistryLike(_0x363305)?_0x5f45e2(0x17a):_0x5f45e2(0x18c),'manifest':_0x4b007b?.['manifest']??_0x363305,'report':_0x3aa0bf,'normalizedManifest':_0x35a4c4[_0x5f45e2(0x190)]===0x1?_0x4b007b?.[_0x5f45e2(0x189)]:undefined,'manifests':_0x35a4c4};}export function importServiceManifest(_0xa73013,_0x17bd63={}){const _0x4a61e0=a64_0x1772,_0x33bc44=loadServiceManifestFromFile(_0xa73013);if(!_0x33bc44[_0x4a61e0(0x17d)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x33bc44[_0x4a61e0(0x17d)]),_0x4a61e0(0x184));if(_0x33bc44['manifests'][_0x4a61e0(0x190)]===0x0)throw CliErrors['validation']('Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x58a465=readServiceRegistry(_0x17bd63),_0x3f6b16=(_0x17bd63[_0x4a61e0(0x177)]??(()=>new Date()))()[_0x4a61e0(0x192)](),_0x144cc6=[];let _0x16ce9c=0x0,_0x18e048=0x0;for(const _0xa2d99 of _0x33bc44[_0x4a61e0(0x1a1)]){if(!_0xa2d99[_0x4a61e0(0x189)])continue;const _0x4f3d13=_0xa2d99[_0x4a61e0(0x189)][_0x4a61e0(0x174)][_0x4a61e0(0x196)],_0x59f48e={'serviceCode':_0x4f3d13,'version':_0xa2d99['normalizedManifest'][_0x4a61e0(0x16c)],'importedAt':_0x3f6b16,'source':{'type':_0x4a61e0(0x171),'path':_0x33bc44['filePath'],'hash':_0xa2d99[_0x4a61e0(0x1b8)]},'manifest':_0xa2d99[_0x4a61e0(0x18c)],'normalizedManifest':_0xa2d99[_0x4a61e0(0x189)]},_0x4d9294=_0x58a465[_0x4a61e0(0x199)][_0x4a61e0(0x1ac)](_0x42240=>_0x42240['serviceCode']===_0x4f3d13);_0x4d9294>=0x0?(_0x58a465[_0x4a61e0(0x199)][_0x4d9294]=_0x59f48e,_0x18e048++):(_0x58a465[_0x4a61e0(0x199)]['push'](_0x59f48e),_0x16ce9c++),_0x144cc6[_0x4a61e0(0x186)](_0x59f48e);}_0x58a465['services'][_0x4a61e0(0x172)]((_0x370571,_0x580cb3)=>_0x370571[_0x4a61e0(0x1b5)]['localeCompare'](_0x580cb3[_0x4a61e0(0x1b5)])),_0x58a465[_0x4a61e0(0x182)]=_0x3f6b16;const _0x56aac4=writeServiceRegistry(_0x58a465,_0x17bd63);return{'registryPath':_0x56aac4,'entry':_0x144cc6[0x0],'replaced':_0x144cc6[_0x4a61e0(0x190)]===0x1?_0x18e048===0x1:_0x18e048>0x0,'entries':_0x144cc6,'imported':_0x16ce9c,'updated':_0x18e048,'serviceCount':_0x58a465[_0x4a61e0(0x199)]['length']};}export function exportServiceManifest(_0xdbab65,_0x30cea1,_0x38c37e={}){const _0x2aa616=a64_0x1772,_0x3824ce=getServiceRegistryPath(_0x38c37e),_0x21e647=getLocalServiceEntry(_0xdbab65,_0x38c37e);if(!_0x21e647)throw CliErrors[_0x2aa616(0x188)](_0x2aa616(0x169)+_0xdbab65,_0x2aa616(0x1aa));const _0xac400c=resolve(_0x30cea1),_0xaffb1e=dirname(_0xac400c);return!existsSync(_0xaffb1e)&&mkdirSync(_0xaffb1e,{'recursive':!![]}),writeFileSync(_0xac400c,JSON[_0x2aa616(0x16d)](_0x21e647[_0x2aa616(0x18c)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x3824ce,'filePath':_0xac400c,'entry':_0x21e647};}export function removeServiceManifest(_0x10537d,_0x294628={}){const _0x6317fe=a64_0x1772,_0x4898d8=readServiceRegistry(_0x294628),_0x1616f8=_0x10537d[_0x6317fe(0x193)](),_0x52c3b6=_0x4898d8[_0x6317fe(0x199)]['findIndex'](_0x5eb3b1=>_0x5eb3b1['serviceCode']===_0x1616f8);if(_0x52c3b6<0x0)throw CliErrors[_0x6317fe(0x188)](_0x6317fe(0x169)+_0x1616f8,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x27a5d9]=_0x4898d8[_0x6317fe(0x199)][_0x6317fe(0x17c)](_0x52c3b6,0x1),_0x5d0eb8=(_0x294628['now']??(()=>new Date()))()[_0x6317fe(0x192)]();_0x4898d8[_0x6317fe(0x182)]=_0x5d0eb8;const _0x5c85c8=writeServiceRegistry(_0x4898d8,_0x294628);return{'registryPath':_0x5c85c8,'entry':_0x27a5d9,'serviceCount':_0x4898d8[_0x6317fe(0x199)][_0x6317fe(0x190)]};}function a64_0x5ecb(){const _0x4e3823=['Unsupported\x20schemaVersion:\x20','1597089ItBFOk','Service\x20manifest\x20file\x20not\x20found:\x20','slice','updatedAt','commands','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','map','push','].manifest','validation','normalizedManifest','name','invalid','manifest','registryIndex','errors','message','length','object','toISOString','trim','].manifest.','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','code','sha256','2907410wPyldV','services','schemaVersion','4044348bUkQxi','empty','command','warnings','digest','join','manifests','Service\x20manifest\x20validation\x20failed:\x0a','importedAt','commandCount','87406xjWIfH','startsWith','missing','174489ONrqtj','homeDirName','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','path','findIndex','isArray','ENOENT','bff\x20target\x20requires\x20functionName.','parse','175IGuZYr','utf8','target','4WnLtic','serviceCode','string','5nJRHwj','sourceHash','Remove\x20or\x20migrate\x20','329624plcXHq','source','CliError','Cannot\x20write\x20service\x20registry:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','1432364uvXNaA','9khLeEb','update','Local\x20service\x20not\x20found:\x20','description','$.services[','version','stringify','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Invalid\x20service\x20manifest\x20JSON:\x20','flatMap','file','sort','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','service','kind','reduce','now','hex','find','registry','2532cCoGgD','splice','report'];a64_0x5ecb=function(){return _0x4e3823;};return a64_0x5ecb();}export function listLocalServices(_0x154918={}){const _0x512f71=a64_0x1772;return readServiceRegistry(_0x154918)[_0x512f71(0x199)];}export function getLocalServiceEntry(_0x158666,_0x514208={}){const _0x663c91=a64_0x1772;return readServiceRegistry(_0x514208)[_0x663c91(0x199)][_0x663c91(0x179)](_0x488908=>_0x488908['serviceCode']===_0x158666['trim']());}export function listLocalServiceTrees(_0x3c0deb={}){const _0x4b7210=a64_0x1772;return readServiceRegistry(_0x3c0deb)[_0x4b7210(0x199)][_0x4b7210(0x185)](_0x363e33=>_0x363e33['normalizedManifest']);}export function inspectServiceRegistry(_0x34bae9={}){const _0x23b6b9=a64_0x1772,_0x2c14f0=getServiceRegistryPath(_0x34bae9);if(!existsSync(_0x2c14f0))return emptyServiceRegistryInspection(_0x2c14f0,_0x23b6b9(0x1a7),![]);try{const _0x2c8c8f=readFileSync(_0x2c14f0,'utf8');if(!_0x2c8c8f[_0x23b6b9(0x193)]())return emptyServiceRegistryInspection(_0x2c14f0,_0x23b6b9(0x19c),!![]);const _0x1d0dfc=JSON[_0x23b6b9(0x1b0)](_0x2c8c8f);if(_0x1d0dfc['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2c14f0,_0x23b6b9(0x18b),!![]),'schemaVersion':_0x1d0dfc[_0x23b6b9(0x19a)],'message':_0x23b6b9(0x17e)+String(_0x1d0dfc[_0x23b6b9(0x19a)])};if(!Array['isArray'](_0x1d0dfc[_0x23b6b9(0x199)]))return{...emptyServiceRegistryInspection(_0x2c14f0,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1d0dfc[_0x23b6b9(0x182)],'message':'services\x20must\x20be\x20an\x20array'};const _0xee9db=_0x1d0dfc[_0x23b6b9(0x199)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x2c14f0,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1d0dfc[_0x23b6b9(0x182)],'serviceCount':_0xee9db['length'],'commandCount':_0xee9db[_0x23b6b9(0x176)]((_0x1a6e8a,_0x3e6b26)=>_0x1a6e8a+_0x3e6b26[_0x23b6b9(0x1a4)],0x0),'services':_0xee9db};}catch(_0x20c822){return{...emptyServiceRegistryInspection(_0x2c14f0,_0x23b6b9(0x18b),!![]),'message':_0x20c822 instanceof Error?_0x20c822[_0x23b6b9(0x18f)]:String(_0x20c822)};}}export function formatValidationFailure(_0x21d533){const _0x20a2ea=a64_0x1772,_0x2a2277=_0x21d533[_0x20a2ea(0x18e)][_0x20a2ea(0x185)](_0x394b52=>_0x394b52[_0x20a2ea(0x1ab)]+':\x20'+_0x394b52['message']);return _0x20a2ea(0x1a2)+_0x2a2277[_0x20a2ea(0x1a0)]('\x0a');}function extractLoadedServiceManifests(_0x2e7bcf,_0x405a4b){const _0x4ad3c3=a64_0x1772;if(!isServiceRegistryLike(_0x2e7bcf)){const _0x206ab1=_0x2e7bcf,{manifest:_0x42e56a,errors:_0x2c5141}=adaptServiceTreeManifestForLegacyFramework(_0x206ab1),_0x3e97c8=validateServiceTreeManifest(_0x42e56a),_0x1b6332=mergeValidationErrors(_0x3e97c8,_0x2c5141);return[{'manifest':_0x206ab1,'report':_0x1b6332,'normalizedManifest':_0x1b6332['ok']?normalizeServiceTreeManifest(_0x42e56a):undefined,'sourceHash':_0x405a4b}];}return _0x2e7bcf[_0x4ad3c3(0x199)][_0x4ad3c3(0x185)]((_0x21ae66,_0x209fa1)=>{const _0x128556=_0x4ad3c3,_0x5b2f3d=isObjectRecord(_0x21ae66)?_0x21ae66[_0x128556(0x18c)]:undefined,{manifest:_0x49e13e,errors:_0x10db20}=adaptServiceTreeManifestForLegacyFramework(_0x5b2f3d),_0x29b77a=validateServiceTreeManifest(_0x49e13e),_0x20dd05=mergeValidationErrors(_0x29b77a,_0x10db20),_0x2cd0c7=isObjectRecord(_0x21ae66)&&typeof _0x21ae66['serviceCode']===_0x128556(0x1b6)?_0x21ae66['serviceCode']:undefined;return{'manifest':_0x5b2f3d,'report':_0x20dd05,'normalizedManifest':_0x20dd05['ok']?normalizeServiceTreeManifest(_0x49e13e):undefined,'sourceHash':sha256(JSON[_0x128556(0x16d)](_0x5b2f3d,null,0x2)+'\x0a'),'registryIndex':_0x209fa1,'registryServiceCode':_0x2cd0c7};});}function mergeValidationErrors(_0x9cc00a,_0x68395f){const _0x44e95e=a64_0x1772,_0x5d2275=_0x9cc00a['errors'][_0x44e95e(0x185)](_0x45eaea=>_0x45eaea[_0x44e95e(0x18f)]===_0x44e95e(0x173)?{..._0x45eaea,'message':_0x44e95e(0x1af)}:_0x45eaea),_0x1fc08f=[..._0x68395f,..._0x5d2275];return{'ok':_0x1fc08f[_0x44e95e(0x190)]===0x0,'errors':_0x1fc08f,'warnings':_0x9cc00a[_0x44e95e(0x19e)]};}function aggregateValidationReports(_0x4415d7){const _0x303936=a64_0x1772,_0xe28b15=_0x4415d7[_0x303936(0x170)](_0x20a91b=>_0x20a91b[_0x303936(0x18d)]===undefined?_0x20a91b[_0x303936(0x17d)][_0x303936(0x18e)]:_0x20a91b[_0x303936(0x17d)][_0x303936(0x18e)]['map'](_0x3df79a=>({..._0x3df79a,'path':prefixRegistryIssuePath(_0x20a91b[_0x303936(0x18d)],_0x3df79a[_0x303936(0x1ab)])}))),_0x3ac167=_0x4415d7[_0x303936(0x170)](_0x2dbc37=>_0x2dbc37[_0x303936(0x18d)]===undefined?_0x2dbc37[_0x303936(0x17d)][_0x303936(0x19e)]:_0x2dbc37[_0x303936(0x17d)][_0x303936(0x19e)]['map'](_0x40d403=>({..._0x40d403,'path':prefixRegistryIssuePath(_0x2dbc37[_0x303936(0x18d)],_0x40d403[_0x303936(0x1ab)])})));return{'ok':_0xe28b15[_0x303936(0x190)]===0x0,'errors':_0xe28b15,'warnings':_0x3ac167};}function prefixRegistryIssuePath(_0x5651f0,_0x6f6904){const _0x1f36fc=a64_0x1772;if(_0x6f6904==='$')return _0x1f36fc(0x16b)+_0x5651f0+_0x1f36fc(0x187);if(_0x6f6904[_0x1f36fc(0x1a6)]('$.'))return _0x1f36fc(0x16b)+_0x5651f0+'].manifest'+_0x6f6904[_0x1f36fc(0x181)](0x1);if(_0x6f6904[_0x1f36fc(0x1a6)]('$['))return'$.services['+_0x5651f0+_0x1f36fc(0x187)+_0x6f6904[_0x1f36fc(0x181)](0x1);return _0x1f36fc(0x16b)+_0x5651f0+_0x1f36fc(0x194)+_0x6f6904;}function isServiceRegistryLike(_0x4b1fa9){const _0x576343=a64_0x1772;return isObjectRecord(_0x4b1fa9)&&_0x4b1fa9[_0x576343(0x19a)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x576343(0x1ad)](_0x4b1fa9['services']);}function isObjectRecord(_0x5b6a72){const _0x40e879=a64_0x1772;return Boolean(_0x5b6a72)&&typeof _0x5b6a72===_0x40e879(0x191)&&!Array[_0x40e879(0x1ad)](_0x5b6a72);}function emptyServiceRegistryInspection(_0x220803,_0x37453a,_0x4c7fe3){return{'registryPath':_0x220803,'exists':_0x4c7fe3,'status':_0x37453a,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1b96e8){const _0x23041b=a64_0x1772,_0x3acd25=_0x1b96e8[_0x23041b(0x189)],_0x3a9b6e=_0x3acd25[_0x23041b(0x183)][_0x23041b(0x185)](_0x38e3c4=>({'path':_0x38e3c4['cliPath'],'description':_0x38e3c4[_0x23041b(0x16a)],'risk':_0x38e3c4['risk'],'targetKind':_0x38e3c4[_0x23041b(0x1b3)][_0x23041b(0x175)],'targetCommand':_0x38e3c4[_0x23041b(0x1b3)][_0x23041b(0x19d)]}));return{'serviceCode':_0x1b96e8[_0x23041b(0x1b5)],'name':_0x3acd25['service'][_0x23041b(0x18a)],'description':_0x3acd25[_0x23041b(0x174)][_0x23041b(0x16a)],'version':_0x1b96e8[_0x23041b(0x16c)],'importedAt':_0x1b96e8[_0x23041b(0x1a3)],'source':_0x1b96e8[_0x23041b(0x1bb)],'commandCount':_0x3a9b6e[_0x23041b(0x190)],'commands':_0x3a9b6e};}function sha256(_0x11bb04){const _0x5cd615=a64_0x1772;return createHash(_0x5cd615(0x197))[_0x5cd615(0x168)](_0x11bb04)[_0x5cd615(0x19f)](_0x5cd615(0x178));}
1
+ const a64_0x2674c4=a64_0x10a0;(function(_0x5b2075,_0x4981c3){const _0x3ebde7=a64_0x10a0,_0x28e637=_0x5b2075();while(!![]){try{const _0x50e818=-parseInt(_0x3ebde7(0x16b))/0x1*(parseInt(_0x3ebde7(0x160))/0x2)+-parseInt(_0x3ebde7(0x175))/0x3*(parseInt(_0x3ebde7(0x194))/0x4)+-parseInt(_0x3ebde7(0x19b))/0x5*(parseInt(_0x3ebde7(0x1a0))/0x6)+-parseInt(_0x3ebde7(0x162))/0x7*(-parseInt(_0x3ebde7(0x189))/0x8)+-parseInt(_0x3ebde7(0x15a))/0x9+-parseInt(_0x3ebde7(0x176))/0xa*(-parseInt(_0x3ebde7(0x154))/0xb)+parseInt(_0x3ebde7(0x197))/0xc*(parseInt(_0x3ebde7(0x19a))/0xd);if(_0x50e818===_0x4981c3)break;else _0x28e637['push'](_0x28e637['shift']());}catch(_0x1de0d8){_0x28e637['push'](_0x28e637['shift']());}}}(a64_0x347b,0x2b989));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';function a64_0x10a0(_0x19b339,_0x30c7b4){_0x19b339=_0x19b339-0x14e;const _0x347bc8=a64_0x347b();let _0x10a0b4=_0x347bc8[_0x19b339];return _0x10a0b4;}export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a64_0x2674c4(0x19c);export function getServiceRegistryPath(_0x418320={}){const _0xd45f54=a64_0x2674c4;return resolve(_0x418320[_0xd45f54(0x184)]??homedir(),PRODUCT_CONFIG[_0xd45f54(0x172)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x521984={}){const _0x824489=a64_0x2674c4,_0x49724a=getServiceRegistryPath(_0x521984);if(!existsSync(_0x49724a))return emptyServiceRegistry();try{const _0x46f2c9=readFileSync(_0x49724a,'utf8');if(!_0x46f2c9['trim']())return emptyServiceRegistry();const _0xf6c5be=JSON['parse'](_0x46f2c9);if(_0xf6c5be['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x824489(0x18a)+String(_0xf6c5be[_0x824489(0x19f)]),_0x824489(0x166)+_0x49724a+'.');if(!Array[_0x824489(0x15c)](_0xf6c5be[_0x824489(0x180)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xf6c5be[_0x824489(0x1a5)],'services':_0xf6c5be[_0x824489(0x180)]};}catch(_0x25f3a1){if(_0x25f3a1 instanceof Error&&_0x25f3a1[_0x824489(0x173)]===_0x824489(0x17c))throw _0x25f3a1;throw CliErrors['validation']('Invalid\x20service\x20registry\x20JSON:\x20'+_0x49724a,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x130d70,_0x4753da={}){const _0x2a2275=a64_0x2674c4,_0xe60cad=getServiceRegistryPath(_0x4753da),_0x31b8e2=dirname(_0xe60cad);!existsSync(_0x31b8e2)&&mkdirSync(_0x31b8e2,{'recursive':!![]});const _0x259a59=_0xe60cad+_0x2a2275(0x15b);try{writeFileSync(_0x259a59,JSON[_0x2a2275(0x179)](_0x130d70,null,0x2)+'\x0a',{'encoding':_0x2a2275(0x188),'mode':0x180}),renameSync(_0x259a59,_0xe60cad);}catch(_0x1b2753){try{unlinkSync(_0x259a59);}catch{}if(_0x1b2753?.['code']===_0x2a2275(0x16c))throw CliErrors[_0x2a2275(0x17b)](_0x2a2275(0x177)+_0xe60cad);throw _0x1b2753;}return _0xe60cad;}export function loadServiceManifestFromFile(_0x5edbb9){const _0x56a392=a64_0x2674c4,_0x12ca48=resolve(_0x5edbb9);if(!existsSync(_0x12ca48))throw CliErrors[_0x56a392(0x17b)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x5edbb9);let _0x521c11;const _0x398698=readFileSync(_0x12ca48,'utf8');try{_0x521c11=JSON[_0x56a392(0x198)](_0x398698);}catch{throw CliErrors[_0x56a392(0x17b)](_0x56a392(0x14e)+_0x5edbb9,_0x56a392(0x16e));}const _0x579766=sha256(_0x398698),_0x135ce2=extractLoadedServiceManifests(_0x521c11,_0x579766),_0x5e2473=aggregateValidationReports(_0x135ce2),_0x5f284a=_0x135ce2[0x0];return{'filePath':_0x12ca48,'hash':_0x579766,'kind':isServiceRegistryLike(_0x521c11)?_0x56a392(0x164):_0x56a392(0x161),'manifest':_0x5f284a?.[_0x56a392(0x161)]??_0x521c11,'report':_0x5e2473,'normalizedManifest':_0x135ce2['length']===0x1?_0x5f284a?.[_0x56a392(0x151)]:undefined,'manifests':_0x135ce2};}export function importServiceManifest(_0x14c2a6,_0x29fcb5={}){const _0x209c92=a64_0x2674c4,_0x1a7c0f=loadServiceManifestFromFile(_0x14c2a6);if(!_0x1a7c0f[_0x209c92(0x1a1)]['ok'])throw CliErrors[_0x209c92(0x17b)](formatValidationFailure(_0x1a7c0f[_0x209c92(0x1a1)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x1a7c0f['manifests']['length']===0x0)throw CliErrors[_0x209c92(0x17b)](_0x209c92(0x150),_0x209c92(0x19e));const _0x44845c=readServiceRegistry(_0x29fcb5),_0x1afd8b=(_0x29fcb5[_0x209c92(0x153)]??(()=>new Date()))()[_0x209c92(0x186)](),_0x55bccf=[];let _0x198c28=0x0,_0xc50973=0x0;for(const _0xbee601 of _0x1a7c0f[_0x209c92(0x15e)]){if(!_0xbee601[_0x209c92(0x151)])continue;const _0x4e49ba=_0xbee601['normalizedManifest']['service']['code'],_0x1a8514={'serviceCode':_0x4e49ba,'version':_0xbee601['normalizedManifest'][_0x209c92(0x19d)],'importedAt':_0x1afd8b,'source':{'type':'file','path':_0x1a7c0f['filePath'],'hash':_0xbee601[_0x209c92(0x15d)]},'manifest':_0xbee601[_0x209c92(0x161)],'normalizedManifest':_0xbee601[_0x209c92(0x151)]},_0x2d581e=_0x44845c[_0x209c92(0x180)][_0x209c92(0x15f)](_0x79cf29=>_0x79cf29[_0x209c92(0x152)]===_0x4e49ba);_0x2d581e>=0x0?(_0x44845c['services'][_0x2d581e]=_0x1a8514,_0xc50973++):(_0x44845c[_0x209c92(0x180)][_0x209c92(0x156)](_0x1a8514),_0x198c28++),_0x55bccf[_0x209c92(0x156)](_0x1a8514);}_0x44845c[_0x209c92(0x180)][_0x209c92(0x178)]((_0xaf664d,_0x161593)=>_0xaf664d[_0x209c92(0x152)][_0x209c92(0x17e)](_0x161593[_0x209c92(0x152)])),_0x44845c[_0x209c92(0x1a5)]=_0x1afd8b;const _0x4cdfab=writeServiceRegistry(_0x44845c,_0x29fcb5);return{'registryPath':_0x4cdfab,'entry':_0x55bccf[0x0],'replaced':_0x55bccf[_0x209c92(0x181)]===0x1?_0xc50973===0x1:_0xc50973>0x0,'entries':_0x55bccf,'imported':_0x198c28,'updated':_0xc50973,'serviceCount':_0x44845c[_0x209c92(0x180)][_0x209c92(0x181)]};}export function exportServiceManifest(_0x22aeda,_0x9801f3,_0x34b068={}){const _0x21ae75=a64_0x2674c4,_0xf61b83=getServiceRegistryPath(_0x34b068),_0x357687=getLocalServiceEntry(_0x22aeda,_0x34b068);if(!_0x357687)throw CliErrors['validation'](_0x21ae75(0x17a)+_0x22aeda,_0x21ae75(0x157));const _0x24ac2e=resolve(_0x9801f3),_0x3d51be=dirname(_0x24ac2e);return!existsSync(_0x3d51be)&&mkdirSync(_0x3d51be,{'recursive':!![]}),writeFileSync(_0x24ac2e,JSON[_0x21ae75(0x179)](_0x357687[_0x21ae75(0x161)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0xf61b83,'filePath':_0x24ac2e,'entry':_0x357687};}export function removeServiceManifest(_0x5b69f6,_0x57c3ba={}){const _0xd31d1a=a64_0x2674c4,_0x21c9a0=readServiceRegistry(_0x57c3ba),_0x4977f1=_0x5b69f6[_0xd31d1a(0x159)](),_0x146d47=_0x21c9a0[_0xd31d1a(0x180)][_0xd31d1a(0x15f)](_0x392280=>_0x392280['serviceCode']===_0x4977f1);if(_0x146d47<0x0)throw CliErrors[_0xd31d1a(0x17b)](_0xd31d1a(0x17a)+_0x4977f1,_0xd31d1a(0x157));const [_0x46aaef]=_0x21c9a0[_0xd31d1a(0x180)][_0xd31d1a(0x17d)](_0x146d47,0x1),_0x1c7df9=(_0x57c3ba[_0xd31d1a(0x153)]??(()=>new Date()))()['toISOString']();_0x21c9a0[_0xd31d1a(0x1a5)]=_0x1c7df9;const _0x4c22df=writeServiceRegistry(_0x21c9a0,_0x57c3ba);return{'registryPath':_0x4c22df,'entry':_0x46aaef,'serviceCount':_0x21c9a0[_0xd31d1a(0x180)][_0xd31d1a(0x181)]};}export function listLocalServices(_0x105f7d={}){const _0x9f8039=a64_0x2674c4;return readServiceRegistry(_0x105f7d)[_0x9f8039(0x180)];}export function getLocalServiceEntry(_0xe51e4e,_0xeda0e8={}){const _0xecb2d8=a64_0x2674c4;return readServiceRegistry(_0xeda0e8)[_0xecb2d8(0x180)][_0xecb2d8(0x1a4)](_0x4ca93c=>_0x4ca93c[_0xecb2d8(0x152)]===_0xe51e4e['trim']());}export function listLocalServiceTrees(_0x3d9e6b={}){const _0x21f7d1=a64_0x2674c4;return readServiceRegistry(_0x3d9e6b)[_0x21f7d1(0x180)][_0x21f7d1(0x190)](_0x2e53b2=>_0x2e53b2[_0x21f7d1(0x151)]);}export function inspectServiceRegistry(_0x47da41={}){const _0x56aa86=a64_0x2674c4,_0x3afed9=getServiceRegistryPath(_0x47da41);if(!existsSync(_0x3afed9))return emptyServiceRegistryInspection(_0x3afed9,_0x56aa86(0x158),![]);try{const _0x27bd40=readFileSync(_0x3afed9,_0x56aa86(0x188));if(!_0x27bd40[_0x56aa86(0x159)]())return emptyServiceRegistryInspection(_0x3afed9,_0x56aa86(0x18e),!![]);const _0x3da24b=JSON[_0x56aa86(0x198)](_0x27bd40);if(_0x3da24b['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3afed9,_0x56aa86(0x17f),!![]),'schemaVersion':_0x3da24b[_0x56aa86(0x19f)],'message':_0x56aa86(0x1a6)+String(_0x3da24b[_0x56aa86(0x19f)])};if(!Array[_0x56aa86(0x15c)](_0x3da24b[_0x56aa86(0x180)]))return{...emptyServiceRegistryInspection(_0x3afed9,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3da24b[_0x56aa86(0x1a5)],'message':'services\x20must\x20be\x20an\x20array'};const _0x56b957=_0x3da24b[_0x56aa86(0x180)][_0x56aa86(0x190)](summarizeLocalServiceEntry);return{'registryPath':_0x3afed9,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3da24b[_0x56aa86(0x1a5)],'serviceCount':_0x56b957[_0x56aa86(0x181)],'commandCount':_0x56b957[_0x56aa86(0x16d)]((_0x3c9db1,_0x31eddc)=>_0x3c9db1+_0x31eddc[_0x56aa86(0x167)],0x0),'services':_0x56b957};}catch(_0x1b1083){return{...emptyServiceRegistryInspection(_0x3afed9,_0x56aa86(0x17f),!![]),'message':_0x1b1083 instanceof Error?_0x1b1083[_0x56aa86(0x185)]:String(_0x1b1083)};}}function a64_0x347b(){const _0x2a21f4=['CliError','splice','localeCompare','invalid','services','length','path','risk','homeDir','message','toISOString','source','utf8','681040TGkrjQ','Unsupported\x20service\x20registry\x20schemaVersion:\x20','].manifest.','digest','slice','empty','].manifest','map','hex','registryIndex','bff\x20target\x20requires\x20functionName.','12oVvoID','description','cliPath','20232ULNRUl','parse','importedAt','3679DBPEKe','10555BDIhCj','service.json','version','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','schemaVersion','318BFWIlH','report','startsWith','target','find','updatedAt','Unsupported\x20schemaVersion:\x20','Invalid\x20service\x20manifest\x20JSON:\x20','commands','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','normalizedManifest','serviceCode','now','341FoPpRm','update','push','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','missing','trim','922437EeEpct','.tmp','isArray','sourceHash','manifests','findIndex','1622LknCgs','manifest','14XPcidV','command','registry','$.services[','Remove\x20or\x20migrate\x20','commandCount','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','flatMap','warnings','139psFXnE','ENOENT','reduce','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','service','object','sha256','homeDirName','name','errors','294771RAomPa','49370FXFhdP','Cannot\x20write\x20service\x20registry:\x20','sort','stringify','Local\x20service\x20not\x20found:\x20','validation'];a64_0x347b=function(){return _0x2a21f4;};return a64_0x347b();}export function formatValidationFailure(_0x4b8db8){const _0x3940c0=a64_0x2674c4,_0x21ecc7=_0x4b8db8['errors'][_0x3940c0(0x190)](_0x48d934=>_0x48d934[_0x3940c0(0x182)]+':\x20'+_0x48d934['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x21ecc7['join']('\x0a');}function extractLoadedServiceManifests(_0x50c1a0,_0x317151){const _0x500609=a64_0x2674c4;if(!isServiceRegistryLike(_0x50c1a0)){const _0x4def98=_0x50c1a0,{manifest:_0x56b057,errors:_0x72a0f8}=adaptServiceTreeManifestForLegacyFramework(_0x4def98),_0x4a7172=validateServiceTreeManifest(_0x56b057),_0xc079df=mergeValidationErrors(_0x4a7172,_0x72a0f8);return[{'manifest':_0x4def98,'report':_0xc079df,'normalizedManifest':_0xc079df['ok']?normalizeServiceTreeManifest(_0x56b057):undefined,'sourceHash':_0x317151}];}return _0x50c1a0[_0x500609(0x180)][_0x500609(0x190)]((_0x44082d,_0x209ae8)=>{const _0x38fbd3=_0x500609,_0x57b0fc=isObjectRecord(_0x44082d)?_0x44082d[_0x38fbd3(0x161)]:undefined,{manifest:_0x51a526,errors:_0x4b361a}=adaptServiceTreeManifestForLegacyFramework(_0x57b0fc),_0x467d2d=validateServiceTreeManifest(_0x51a526),_0x346830=mergeValidationErrors(_0x467d2d,_0x4b361a),_0x488adf=isObjectRecord(_0x44082d)&&typeof _0x44082d[_0x38fbd3(0x152)]==='string'?_0x44082d['serviceCode']:undefined;return{'manifest':_0x57b0fc,'report':_0x346830,'normalizedManifest':_0x346830['ok']?normalizeServiceTreeManifest(_0x51a526):undefined,'sourceHash':sha256(JSON[_0x38fbd3(0x179)](_0x57b0fc,null,0x2)+'\x0a'),'registryIndex':_0x209ae8,'registryServiceCode':_0x488adf};});}function mergeValidationErrors(_0x206f9f,_0x4ed141){const _0x517e89=a64_0x2674c4,_0x4fe9ac=_0x206f9f[_0x517e89(0x174)][_0x517e89(0x190)](_0x11a77b=>_0x11a77b[_0x517e89(0x185)]===_0x517e89(0x168)?{..._0x11a77b,'message':_0x517e89(0x193)}:_0x11a77b),_0x1b3f39=[..._0x4ed141,..._0x4fe9ac];return{'ok':_0x1b3f39[_0x517e89(0x181)]===0x0,'errors':_0x1b3f39,'warnings':_0x206f9f['warnings']};}function aggregateValidationReports(_0x2a6f89){const _0x1469b2=a64_0x2674c4,_0x2a20b8=_0x2a6f89[_0x1469b2(0x169)](_0x4aaa92=>_0x4aaa92['registryIndex']===undefined?_0x4aaa92[_0x1469b2(0x1a1)]['errors']:_0x4aaa92[_0x1469b2(0x1a1)][_0x1469b2(0x174)][_0x1469b2(0x190)](_0x35a579=>({..._0x35a579,'path':prefixRegistryIssuePath(_0x4aaa92[_0x1469b2(0x192)],_0x35a579['path'])}))),_0x4dc312=_0x2a6f89[_0x1469b2(0x169)](_0x202db6=>_0x202db6[_0x1469b2(0x192)]===undefined?_0x202db6[_0x1469b2(0x1a1)][_0x1469b2(0x16a)]:_0x202db6[_0x1469b2(0x1a1)][_0x1469b2(0x16a)][_0x1469b2(0x190)](_0x2d24f7=>({..._0x2d24f7,'path':prefixRegistryIssuePath(_0x202db6[_0x1469b2(0x192)],_0x2d24f7['path'])})));return{'ok':_0x2a20b8[_0x1469b2(0x181)]===0x0,'errors':_0x2a20b8,'warnings':_0x4dc312};}function prefixRegistryIssuePath(_0x2b27f7,_0x54e322){const _0x5577db=a64_0x2674c4;if(_0x54e322==='$')return _0x5577db(0x165)+_0x2b27f7+_0x5577db(0x18f);if(_0x54e322[_0x5577db(0x1a2)]('$.'))return _0x5577db(0x165)+_0x2b27f7+_0x5577db(0x18f)+_0x54e322[_0x5577db(0x18d)](0x1);if(_0x54e322['startsWith']('$['))return _0x5577db(0x165)+_0x2b27f7+'].manifest'+_0x54e322[_0x5577db(0x18d)](0x1);return _0x5577db(0x165)+_0x2b27f7+_0x5577db(0x18b)+_0x54e322;}function isServiceRegistryLike(_0x4ccc8a){const _0x31fa94=a64_0x2674c4;return isObjectRecord(_0x4ccc8a)&&_0x4ccc8a[_0x31fa94(0x19f)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x31fa94(0x15c)](_0x4ccc8a[_0x31fa94(0x180)]);}function isObjectRecord(_0x4809f5){const _0x359286=a64_0x2674c4;return Boolean(_0x4809f5)&&typeof _0x4809f5===_0x359286(0x170)&&!Array['isArray'](_0x4809f5);}function emptyServiceRegistryInspection(_0x1df4f9,_0x2b4d94,_0x231771){return{'registryPath':_0x1df4f9,'exists':_0x231771,'status':_0x2b4d94,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x5ed256){const _0x15da93=a64_0x2674c4,_0x727ddf=_0x5ed256[_0x15da93(0x151)],_0x1db35b=_0x727ddf[_0x15da93(0x14f)][_0x15da93(0x190)](_0x5e5dca=>({'path':_0x5e5dca[_0x15da93(0x196)],'description':_0x5e5dca[_0x15da93(0x195)],'risk':_0x5e5dca[_0x15da93(0x183)],'targetKind':_0x5e5dca[_0x15da93(0x1a3)]['kind'],'targetCommand':_0x5e5dca[_0x15da93(0x1a3)][_0x15da93(0x163)]}));return{'serviceCode':_0x5ed256[_0x15da93(0x152)],'name':_0x727ddf[_0x15da93(0x16f)][_0x15da93(0x173)],'description':_0x727ddf[_0x15da93(0x16f)]['description'],'version':_0x5ed256[_0x15da93(0x19d)],'importedAt':_0x5ed256[_0x15da93(0x199)],'source':_0x5ed256[_0x15da93(0x187)],'commandCount':_0x1db35b[_0x15da93(0x181)],'commands':_0x1db35b};}function sha256(_0x27a60f){const _0x277250=a64_0x2674c4;return createHash(_0x277250(0x171))[_0x277250(0x155)](_0x27a60f)[_0x277250(0x18c)](_0x277250(0x191));}
@@ -1 +1 @@
1
- function a65_0x190c(_0x431e67,_0x178c2d){_0x431e67=_0x431e67-0x78;const _0x16715a=a65_0x1671();let _0x190ce4=_0x16715a[_0x431e67];return _0x190ce4;}const a65_0x20ad37=a65_0x190c;(function(_0x42b038,_0x2f6b56){const _0x3d9454=a65_0x190c,_0x1037d2=_0x42b038();while(!![]){try{const _0x5dbf2f=parseInt(_0x3d9454(0x95))/0x1*(-parseInt(_0x3d9454(0x8f))/0x2)+parseInt(_0x3d9454(0x90))/0x3+parseInt(_0x3d9454(0x8c))/0x4+parseInt(_0x3d9454(0x94))/0x5*(parseInt(_0x3d9454(0x85))/0x6)+-parseInt(_0x3d9454(0x97))/0x7+parseInt(_0x3d9454(0x7d))/0x8*(-parseInt(_0x3d9454(0x93))/0x9)+parseInt(_0x3d9454(0x7a))/0xa;if(_0x5dbf2f===_0x2f6b56)break;else _0x1037d2['push'](_0x1037d2['shift']());}catch(_0x5173d7){_0x1037d2['push'](_0x1037d2['shift']());}}}(a65_0x1671,0x4e03a));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';function a65_0x1671(){const _0xe95850=['isSymbolicLink','rendered','type','isDirectory','1457808QJNzqs','Created\x20local\x20Skill\x20draft\x20','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','118966dOgnxP','1137210cnUdfK','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','target','162sgioxh','706915cvZTiT','10jFqZdZ','Skill\x20directory\x20already\x20exists:\x20','2664725NwlduJ','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','trim','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','8931760PLyBuD','create','skillDir','214680WZzVjJ','str','validation','map','read','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','name','files','6RhonBw','path','WRITE'];a65_0x1671=function(){return _0xe95850;};return a65_0x1671();}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';export const createCommand={'service':'skill','command':a65_0x20ad37(0x7b),'description':a65_0x20ad37(0x79),'risk':a65_0x20ad37(0x81),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x49f3ba){const _0x309dd8=a65_0x20ad37,_0x433b82=buildSkillCreatePlan(_0x49f3ba['str'](_0x309dd8(0x83)),_0x49f3ba[_0x309dd8(0x7e)](_0x309dd8(0x8a)),_0x49f3ba[_0x309dd8(0x7e)](_0x309dd8(0x92)));return{'method':_0x309dd8(0x87),'url':_0x433b82[_0x309dd8(0x7c)],'body':{'skillName':_0x433b82[_0x309dd8(0x89)]['skillName'],'type':_0x433b82['rendered'][_0x309dd8(0x8a)],'selfContained':!![],'files':_0x433b82['rendered'][_0x309dd8(0x84)]['map'](_0x462eb0=>_0x462eb0['path'])},'description':_0x309dd8(0x91)};},async 'execute'(_0x25334e){const _0x1692d5=a65_0x20ad37,_0x2ec597=buildSkillCreatePlan(_0x25334e[_0x1692d5(0x7e)](_0x1692d5(0x83)),_0x25334e[_0x1692d5(0x7e)](_0x1692d5(0x8a)),_0x25334e[_0x1692d5(0x7e)](_0x1692d5(0x92)));return writeSkillDraft(_0x2ec597,_0x25334e['bool']('force')),{'ok':!![],'data':{'skillName':_0x2ec597[_0x1692d5(0x89)]['skillName'],'type':_0x2ec597[_0x1692d5(0x89)][_0x1692d5(0x8a)],'dir':_0x2ec597['skillDir'],'files':_0x2ec597[_0x1692d5(0x89)][_0x1692d5(0x84)][_0x1692d5(0x80)](_0x337347=>_0x337347[_0x1692d5(0x86)])},'message':_0x1692d5(0x8d)+_0x2ec597[_0x1692d5(0x89)]['skillName']};}};function buildSkillCreatePlan(_0x41a57c,_0x26b545,_0x30effc){const _0x17183f=a65_0x20ad37,_0x2be9a5=_0x26b545['trim'](),_0x4b051c=renderSkillTemplate({'skillName':_0x41a57c,'type':_0x2be9a5});!_0x2be9a5&&writeCliSideChannelLine(_0x17183f(0x98));const _0x46ff2c=resolve(normalizeSkillTarget(_0x30effc));return{'rendered':_0x4b051c,'targetRoot':_0x46ff2c,'skillDir':resolve(_0x46ff2c,_0x4b051c['skillName'])};}function normalizeSkillTarget(_0x1860e0){const _0x19c006=a65_0x20ad37;return(_0x1860e0||DEFAULT_SKILL_TARGET)[_0x19c006(0x78)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x4bff0e,_0x5dff29){const _0x311610=a65_0x20ad37;if(existsSync(_0x4bff0e[_0x311610(0x7c)])){const _0x225914=lstatSync(_0x4bff0e['skillDir']);if(!_0x225914[_0x311610(0x8b)]()||_0x225914[_0x311610(0x88)]())throw CliErrors[_0x311610(0x7f)](_0x311610(0x8e)+_0x4bff0e[_0x311610(0x7c)]);if(!_0x5dff29)throw CliErrors[_0x311610(0x7f)](_0x311610(0x96)+_0x4bff0e[_0x311610(0x7c)],_0x311610(0x82));}for(const _0x13a031 of _0x4bff0e[_0x311610(0x89)][_0x311610(0x84)]){const _0x293107=resolve(_0x4bff0e[_0x311610(0x7c)],_0x13a031['path']),_0x3815c6=dirname(_0x293107);mkdirSync(_0x3815c6,{'recursive':!![]});if(existsSync(_0x293107)&&lstatSync(_0x293107)[_0x311610(0x88)]())throw CliErrors[_0x311610(0x7f)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x293107);writeFileSync(_0x293107,_0x13a031['content'],'utf8');}}
1
+ function a65_0x3d35(){const _0x37d9d0=['validation','str','258670fWkNhb','type','skillName','584648fgcUOO','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1862882RwvcgI','42982PkZqrb','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','read','skill','target','trim','Refusing\x20to\x20overwrite\x20symlink:\x20','4KFamMb','12AtajLx','rendered','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','Skill\x20directory\x20already\x20exists:\x20','bool','skillDir','124090GsQlFN','isSymbolicLink','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','map','name','path','force','Created\x20local\x20Skill\x20draft\x20','63yXJCKB','isDirectory','463647jncxJO','2348220jqWmeL','files'];a65_0x3d35=function(){return _0x37d9d0;};return a65_0x3d35();}const a65_0x568da9=a65_0x4f3e;(function(_0x422f75,_0x25e103){const _0x46438a=a65_0x4f3e,_0x42431e=_0x422f75();while(!![]){try{const _0x1dc765=-parseInt(_0x46438a(0x1e3))/0x1*(parseInt(_0x46438a(0x1eb))/0x2)+parseInt(_0x46438a(0x1d8))/0x3*(-parseInt(_0x46438a(0x1ea))/0x4)+-parseInt(_0x46438a(0x1dd))/0x5+parseInt(_0x46438a(0x1d9))/0x6+parseInt(_0x46438a(0x1e2))/0x7+-parseInt(_0x46438a(0x1e0))/0x8+parseInt(_0x46438a(0x1d6))/0x9*(parseInt(_0x46438a(0x1ce))/0xa);if(_0x1dc765===_0x25e103)break;else _0x42431e['push'](_0x42431e['shift']());}catch(_0x3a70f9){_0x42431e['push'](_0x42431e['shift']());}}}(a65_0x3d35,0x328ff));function a65_0x4f3e(_0x4b16bf,_0x5560b8){_0x4b16bf=_0x4b16bf-0x1cd;const _0x3d35be=a65_0x3d35();let _0x4f3e0b=_0x3d35be[_0x4b16bf];return _0x4f3e0b;}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';export const createCommand={'service':a65_0x568da9(0x1e6),'command':'create','description':a65_0x568da9(0x1e1),'risk':a65_0x568da9(0x1e5),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3a738d){const _0x4702f5=a65_0x568da9,_0x167aaf=buildSkillCreatePlan(_0x3a738d[_0x4702f5(0x1dc)](_0x4702f5(0x1d2)),_0x3a738d[_0x4702f5(0x1dc)]('type'),_0x3a738d[_0x4702f5(0x1dc)](_0x4702f5(0x1e7)));return{'method':'WRITE','url':_0x167aaf[_0x4702f5(0x1cd)],'body':{'skillName':_0x167aaf[_0x4702f5(0x1ec)][_0x4702f5(0x1df)],'type':_0x167aaf['rendered'][_0x4702f5(0x1de)],'selfContained':!![],'files':_0x167aaf[_0x4702f5(0x1ec)][_0x4702f5(0x1da)][_0x4702f5(0x1d1)](_0x3ee05c=>_0x3ee05c['path'])},'description':_0x4702f5(0x1d0)};},async 'execute'(_0x26e84f){const _0x21ac01=a65_0x568da9,_0x15dceb=buildSkillCreatePlan(_0x26e84f[_0x21ac01(0x1dc)](_0x21ac01(0x1d2)),_0x26e84f[_0x21ac01(0x1dc)]('type'),_0x26e84f['str']('target'));return writeSkillDraft(_0x15dceb,_0x26e84f[_0x21ac01(0x1ef)](_0x21ac01(0x1d4))),{'ok':!![],'data':{'skillName':_0x15dceb[_0x21ac01(0x1ec)][_0x21ac01(0x1df)],'type':_0x15dceb[_0x21ac01(0x1ec)][_0x21ac01(0x1de)],'dir':_0x15dceb[_0x21ac01(0x1cd)],'files':_0x15dceb[_0x21ac01(0x1ec)][_0x21ac01(0x1da)][_0x21ac01(0x1d1)](_0x121607=>_0x121607[_0x21ac01(0x1d3)])},'message':_0x21ac01(0x1d5)+_0x15dceb[_0x21ac01(0x1ec)][_0x21ac01(0x1df)]};}};function buildSkillCreatePlan(_0x2213a7,_0x2dcd11,_0x34432b){const _0x423758=a65_0x568da9,_0x50bb3d=_0x2dcd11[_0x423758(0x1e8)](),_0x56b8e7=renderSkillTemplate({'skillName':_0x2213a7,'type':_0x50bb3d});!_0x50bb3d&&writeCliSideChannelLine(_0x423758(0x1e4));const _0x40ce63=resolve(normalizeSkillTarget(_0x34432b));return{'rendered':_0x56b8e7,'targetRoot':_0x40ce63,'skillDir':resolve(_0x40ce63,_0x56b8e7[_0x423758(0x1df)])};}function normalizeSkillTarget(_0x5e30fe){const _0x10492b=a65_0x568da9;return(_0x5e30fe||DEFAULT_SKILL_TARGET)[_0x10492b(0x1e8)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5da0e2,_0x2dca4f){const _0x43d695=a65_0x568da9;if(existsSync(_0x5da0e2[_0x43d695(0x1cd)])){const _0x34f88a=lstatSync(_0x5da0e2['skillDir']);if(!_0x34f88a[_0x43d695(0x1d7)]()||_0x34f88a[_0x43d695(0x1cf)]())throw CliErrors['validation']('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x5da0e2['skillDir']);if(!_0x2dca4f)throw CliErrors['validation'](_0x43d695(0x1ee)+_0x5da0e2['skillDir'],_0x43d695(0x1ed));}for(const _0x235ae6 of _0x5da0e2['rendered'][_0x43d695(0x1da)]){const _0x5ac6ca=resolve(_0x5da0e2['skillDir'],_0x235ae6[_0x43d695(0x1d3)]),_0x34530f=dirname(_0x5ac6ca);mkdirSync(_0x34530f,{'recursive':!![]});if(existsSync(_0x5ac6ca)&&lstatSync(_0x5ac6ca)[_0x43d695(0x1cf)]())throw CliErrors[_0x43d695(0x1db)](_0x43d695(0x1e9)+_0x5ac6ca);writeFileSync(_0x5ac6ca,_0x235ae6['content'],'utf8');}}
@@ -1 +1 @@
1
- const a66_0x1c56c1=a66_0x5441;(function(_0x3be295,_0x4495b2){const _0x74a8a=a66_0x5441,_0x2b4f36=_0x3be295();while(!![]){try{const _0x1fb471=-parseInt(_0x74a8a(0x1a7))/0x1+parseInt(_0x74a8a(0x199))/0x2*(-parseInt(_0x74a8a(0x194))/0x3)+-parseInt(_0x74a8a(0x18f))/0x4+-parseInt(_0x74a8a(0x19a))/0x5+-parseInt(_0x74a8a(0x192))/0x6*(parseInt(_0x74a8a(0x19d))/0x7)+-parseInt(_0x74a8a(0x1a3))/0x8+-parseInt(_0x74a8a(0x18d))/0x9*(-parseInt(_0x74a8a(0x18b))/0xa);if(_0x1fb471===_0x4495b2)break;else _0x2b4f36['push'](_0x2b4f36['shift']());}catch(_0x4b0bb9){_0x2b4f36['push'](_0x2b4f36['shift']());}}}(a66_0x3a3a,0x2f661));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';function a66_0x3a3a(){const _0x278adf=['action','company',';\x20next\x20write\x20expects\x20revision\x20','Found\x20Skill\x20diagram\x20for\x20','isInteger','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','skill-code','personal','scope','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','expectedDiagramRevision','4187710ULUFav','str','27wqrpUa','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','936056PmVdrs','Updated','skill','12vbbxbC','appCode','33ZlcYki','trim','Skill\x20diagram\x20for\x20','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','\x20Skill\x20diagram\x20for\x20','9534CAJFsQ','1226195HvjIYL','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','diagram-file','473361vzMIKe','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.','expected-diagram-revision','diagram-push','\x20is\x20unchanged.','version','144728SzRUED','diagram-validate',';\x20first\x20write\x20expects\x20revision\x20','skillCode','377141ALOrxa','source-fingerprint'];a66_0x3a3a=function(){return _0x278adf;};return a66_0x3a3a();}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 a66_0x5441(_0x4e7e6a,_0x209ca5){_0x4e7e6a=_0x4e7e6a-0x189;const _0x3a3a59=a66_0x3a3a();let _0x5441ce=_0x3a3a59[_0x4e7e6a];return _0x5441ce;}function readDiagramTarget(_0x3b7765){const _0x50ade5=a66_0x5441,_0x349ac3=_0x3b7765[_0x50ade5(0x18c)](_0x50ade5(0x1af))[_0x50ade5(0x195)](),_0x381292=_0x3b7765[_0x50ade5(0x18c)](_0x50ade5(0x1a2))['trim'](),_0x348f0c=_0x3b7765[_0x50ade5(0x18c)](_0x50ade5(0x1b1));if(!_0x349ac3||!_0x381292||_0x348f0c!==_0x50ade5(0x1b0)&&_0x348f0c!==_0x50ade5(0x1aa))throw CliErrors['validation'](_0x50ade5(0x1ae));return{'skillCode':_0x349ac3,'version':_0x381292,'scope':_0x348f0c};}async function readDiagramWriteInput(_0x18e83e){const _0xaabc24=a66_0x5441,_0x4c8299=_0x18e83e['num'](_0xaabc24(0x19f)),_0x24f400=_0x18e83e['str'](_0xaabc24(0x1a8))[_0xaabc24(0x195)]();if(!Number[_0xaabc24(0x1ad)](_0x4c8299)||_0x4c8299<0x0)throw CliErrors['validation'](_0xaabc24(0x18e));if(!/^sha256:[0-9a-f]{64}$/['test'](_0x24f400))throw CliErrors['validation'](_0xaabc24(0x19b));return{'expectedDiagramRevision':_0x4c8299,'sourceFingerprint':_0x24f400,'diagram':await readRequiredSkillDiagram(_0x18e83e[_0xaabc24(0x18c)](_0xaabc24(0x19c)))};}export const diagramValidateCommand={'service':a66_0x1c56c1(0x191),'command':a66_0x1c56c1(0x1a4),'description':'Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','risk':'read','flags':WRITE_FLAGS,async 'execute'(_0x2d7857){const _0xb02027=a66_0x1c56c1,_0x125753=readDiagramTarget(_0x2d7857),_0x5ebe96=await validateRuntimeSkillVersionDiagram(_0x2d7857[_0xb02027(0x193)],_0x125753[_0xb02027(0x1a6)],_0x125753['version'],_0x125753[_0xb02027(0x1b1)],await readDiagramWriteInput(_0x2d7857));return{'ok':!![],'data':_0x5ebe96,'message':'Skill\x20diagram\x20validation\x20passed\x20for\x20'+_0x125753[_0xb02027(0x1a6)]+'@'+_0x125753['version']+'.'};}};export const diagramPushCommand={'service':a66_0x1c56c1(0x191),'command':a66_0x1c56c1(0x1a0),'description':'Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','risk':'write','confirmationDescription':a66_0x1c56c1(0x19e),'flags':WRITE_FLAGS,async 'execute'(_0xaf441d){const _0x5f53ba=a66_0x1c56c1,_0x2e5b19=readDiagramTarget(_0xaf441d),_0x3b0fea=await putRuntimeSkillVersionDiagram(_0xaf441d[_0x5f53ba(0x193)],_0x2e5b19[_0x5f53ba(0x1a6)],_0x2e5b19[_0x5f53ba(0x1a2)],_0x2e5b19[_0x5f53ba(0x1b1)],await readDiagramWriteInput(_0xaf441d));return{'ok':!![],'data':_0x3b0fea,'message':_0x3b0fea[_0x5f53ba(0x1a9)]==='unchanged'?_0x5f53ba(0x196)+_0x2e5b19['skillCode']+'@'+_0x2e5b19[_0x5f53ba(0x1a2)]+_0x5f53ba(0x1a1):(_0x3b0fea['action']==='created'?'Created':_0x5f53ba(0x190))+_0x5f53ba(0x198)+_0x2e5b19[_0x5f53ba(0x1a6)]+'@'+_0x2e5b19[_0x5f53ba(0x1a2)]+'.'};}};export const diagramShowCommand={'service':a66_0x1c56c1(0x191),'command':'diagram-show','description':a66_0x1c56c1(0x189),'risk':'read','flags':TARGET_FLAGS,async 'execute'(_0x246f2e){const _0x142562=a66_0x1c56c1,_0x151300=readDiagramTarget(_0x246f2e),_0xc8d290=await getRuntimeSkillVersionDiagram(_0x246f2e[_0x142562(0x193)],_0x151300[_0x142562(0x1a6)],_0x151300[_0x142562(0x1a2)],_0x151300[_0x142562(0x1b1)]);return{'ok':!![],'data':_0xc8d290,'message':_0xc8d290['found']?_0x142562(0x1ac)+_0x151300['skillCode']+'@'+_0x151300[_0x142562(0x1a2)]+_0x142562(0x1ab)+_0xc8d290[_0x142562(0x18a)]+'.':_0x142562(0x197)+_0x151300[_0x142562(0x1a6)]+'@'+_0x151300[_0x142562(0x1a2)]+_0x142562(0x1a5)+_0xc8d290[_0x142562(0x18a)]+'.'};}};
1
+ function a66_0x25f3(){const _0xde6b96=['350vHQQHD','appCode','skillCode','isInteger','1885905WpoxXR','diagram-show','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','skill','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version',';\x20next\x20write\x20expects\x20revision\x20','scope','str','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','\x20Skill\x20diagram\x20for\x20','2gygMOZ','action','created','expected-diagram-revision','version','unchanged','20QaLhov','write','trim','1776252ANPnOA','539493JSlniB','diagram-push','diagram-validate','read','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','Skill\x20diagram\x20for\x20','personal','442090UZFAtq','num','expectedDiagramRevision','9wSzjIr','Found\x20Skill\x20diagram\x20for\x20','Created','company','1187430QiozKw','diagram-file','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','25242avIhAo','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','1855472PupNOj'];a66_0x25f3=function(){return _0xde6b96;};return a66_0x25f3();}const a66_0x479108=a66_0x2c2b;(function(_0xf78968,_0x525180){const _0x369c95=a66_0x2c2b,_0x554685=_0xf78968();while(!![]){try{const _0x7928aa=parseInt(_0x369c95(0x1dd))/0x1*(-parseInt(_0x369c95(0x1ff))/0x2)+parseInt(_0x369c95(0x1eb))/0x3+-parseInt(_0x369c95(0x1dc))/0x4+-parseInt(_0x369c95(0x1d9))/0x5*(-parseInt(_0x369c95(0x1ee))/0x6)+-parseInt(_0x369c95(0x1f5))/0x7+parseInt(_0x369c95(0x1f0))/0x8*(-parseInt(_0x369c95(0x1e7))/0x9)+-parseInt(_0x369c95(0x1f1))/0xa*(-parseInt(_0x369c95(0x1e4))/0xb);if(_0x7928aa===_0x525180)break;else _0x554685['push'](_0x554685['shift']());}catch(_0x552a75){_0x554685['push'](_0x554685['shift']());}}}(a66_0x25f3,0x51a2f));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';function a66_0x2c2b(_0xc1bd9f,_0x2e52ce){_0xc1bd9f=_0xc1bd9f-0x1d6;const _0x25f37f=a66_0x25f3();let _0x2c2b87=_0x25f37f[_0xc1bd9f];return _0x2c2b87;}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(_0x41ef53){const _0x2c0b68=a66_0x2c2b,_0x334ed5=_0x41ef53[_0x2c0b68(0x1fc)]('skill-code')[_0x2c0b68(0x1db)](),_0x52ccb4=_0x41ef53[_0x2c0b68(0x1fc)]('version')[_0x2c0b68(0x1db)](),_0x3f6a12=_0x41ef53[_0x2c0b68(0x1fc)]('scope');if(!_0x334ed5||!_0x52ccb4||_0x3f6a12!==_0x2c0b68(0x1e3)&&_0x3f6a12!==_0x2c0b68(0x1ea))throw CliErrors['validation'](_0x2c0b68(0x1f7));return{'skillCode':_0x334ed5,'version':_0x52ccb4,'scope':_0x3f6a12};}async function readDiagramWriteInput(_0x511f73){const _0x3db3a6=a66_0x2c2b,_0x1477e4=_0x511f73[_0x3db3a6(0x1e5)](_0x3db3a6(0x1d6)),_0xa42a69=_0x511f73[_0x3db3a6(0x1fc)]('source-fingerprint')[_0x3db3a6(0x1db)]();if(!Number[_0x3db3a6(0x1f4)](_0x1477e4)||_0x1477e4<0x0)throw CliErrors['validation'](_0x3db3a6(0x1fd));if(!/^sha256:[0-9a-f]{64}$/['test'](_0xa42a69))throw CliErrors['validation'](_0x3db3a6(0x1e1));return{'expectedDiagramRevision':_0x1477e4,'sourceFingerprint':_0xa42a69,'diagram':await readRequiredSkillDiagram(_0x511f73[_0x3db3a6(0x1fc)](_0x3db3a6(0x1ec)))};}export const diagramValidateCommand={'service':a66_0x479108(0x1f8),'command':a66_0x479108(0x1df),'description':a66_0x479108(0x1f9),'risk':a66_0x479108(0x1e0),'flags':WRITE_FLAGS,async 'execute'(_0x409bb7){const _0x54b260=a66_0x479108,_0xa7b462=readDiagramTarget(_0x409bb7),_0x1365e7=await validateRuntimeSkillVersionDiagram(_0x409bb7[_0x54b260(0x1f2)],_0xa7b462[_0x54b260(0x1f3)],_0xa7b462[_0x54b260(0x1d7)],_0xa7b462[_0x54b260(0x1fb)],await readDiagramWriteInput(_0x409bb7));return{'ok':!![],'data':_0x1365e7,'message':'Skill\x20diagram\x20validation\x20passed\x20for\x20'+_0xa7b462[_0x54b260(0x1f3)]+'@'+_0xa7b462[_0x54b260(0x1d7)]+'.'};}};export const diagramPushCommand={'service':'skill','command':a66_0x479108(0x1de),'description':a66_0x479108(0x1ef),'risk':a66_0x479108(0x1da),'confirmationDescription':'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.','flags':WRITE_FLAGS,async 'execute'(_0x22dba2){const _0x3eb159=a66_0x479108,_0x429150=readDiagramTarget(_0x22dba2),_0x25e491=await putRuntimeSkillVersionDiagram(_0x22dba2[_0x3eb159(0x1f2)],_0x429150[_0x3eb159(0x1f3)],_0x429150[_0x3eb159(0x1d7)],_0x429150['scope'],await readDiagramWriteInput(_0x22dba2));return{'ok':!![],'data':_0x25e491,'message':_0x25e491[_0x3eb159(0x200)]===_0x3eb159(0x1d8)?_0x3eb159(0x1e2)+_0x429150['skillCode']+'@'+_0x429150[_0x3eb159(0x1d7)]+'\x20is\x20unchanged.':(_0x25e491['action']===_0x3eb159(0x201)?_0x3eb159(0x1e9):'Updated')+_0x3eb159(0x1fe)+_0x429150['skillCode']+'@'+_0x429150[_0x3eb159(0x1d7)]+'.'};}};export const diagramShowCommand={'service':'skill','command':a66_0x479108(0x1f6),'description':a66_0x479108(0x1ed),'risk':a66_0x479108(0x1e0),'flags':TARGET_FLAGS,async 'execute'(_0x1eb491){const _0x3b374b=a66_0x479108,_0x2ff5be=readDiagramTarget(_0x1eb491),_0x539209=await getRuntimeSkillVersionDiagram(_0x1eb491[_0x3b374b(0x1f2)],_0x2ff5be[_0x3b374b(0x1f3)],_0x2ff5be[_0x3b374b(0x1d7)],_0x2ff5be[_0x3b374b(0x1fb)]);return{'ok':!![],'data':_0x539209,'message':_0x539209['found']?_0x3b374b(0x1e8)+_0x2ff5be['skillCode']+'@'+_0x2ff5be[_0x3b374b(0x1d7)]+_0x3b374b(0x1fa)+_0x539209['expectedDiagramRevision']+'.':'No\x20Skill\x20diagram\x20is\x20stored\x20for\x20'+_0x2ff5be[_0x3b374b(0x1f3)]+'@'+_0x2ff5be['version']+';\x20first\x20write\x20expects\x20revision\x20'+_0x539209[_0x3b374b(0x1e6)]+'.'};}};
@@ -1 +1 @@
1
- function a67_0x2a0f(){const _0x586a83=['action','49uudLaB','skill','from','189102wyqmPw','4299Xafmqz','914qKKWKd','all','trim','skillCode','177780lLsrcq','scope','authRequired','12200848DEJPxV','envName','global','bool','install','includes','reduce','filter','unchanged','removed','min','96tBLqvi','5941476BFuZca','project','1310172hDZUuZ','length','str','personal','read','\x20company\x20Skill(s).','108425DAhiLm','appCode','map','skipped','force','skillRoots','\x20personal\x20and\x20','company','version'];a67_0x2a0f=function(){return _0x586a83;};return a67_0x2a0f();}const a67_0x5b9358=a67_0x22f6;(function(_0x4cbb56,_0x22aa8f){const _0xdeec67=a67_0x22f6,_0x213a3a=_0x4cbb56();while(!![]){try{const _0x574772=-parseInt(_0xdeec67(0xc0))/0x1+-parseInt(_0xdeec67(0xab))/0x2*(-parseInt(_0xdeec67(0xaa))/0x3)+-parseInt(_0xdeec67(0xbd))/0x4*(parseInt(_0xdeec67(0xc6))/0x5)+-parseInt(_0xdeec67(0xa9))/0x6*(parseInt(_0xdeec67(0xa6))/0x7)+parseInt(_0xdeec67(0xb2))/0x8+parseInt(_0xdeec67(0xbe))/0x9+parseInt(_0xdeec67(0xaf))/0xa;if(_0x574772===_0x22aa8f)break;else _0x213a3a['push'](_0x213a3a['shift']());}catch(_0x57680b){_0x213a3a['push'](_0x213a3a['shift']());}}}(a67_0x2a0f,0xc4f2a));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':a67_0x5b9358(0xa7),'command':a67_0x5b9358(0xb6),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a67_0x5b9358(0xc4),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x4c93c9){return syncRuntimeSkills(_0x4c93c9);}};async function syncRuntimeSkills(_0x44cb7d){const _0x491dfd=a67_0x5b9358,{downloadRuntimeSkillPackage:_0x315f76,listRuntimeSkills:_0x2778b5}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x3254e6,materializeRuntimeSkill:_0x4c1cf8,pruneStaleRuntimeSkillCache:_0x266bc4,pruneStaleRuntimeSkillLinks:_0x16acfa,resolveRuntimeSkillInstallTarget:_0x40c812,reuseMaterializedRuntimeSkill:_0x40146d}=await import('../../../skills/runtime-skill-sync.js'),_0x440722=_0x44cb7d[_0x491dfd(0xc2)]('code'),_0x18bb31=normalizeSyncScopes(_0x44cb7d[_0x491dfd(0xc2)](_0x491dfd(0xb0))),_0x47ae97=_0x44cb7d[_0x491dfd(0xb3)]??'production',_0x3eeb39=_0x44cb7d['accessKey'],_0x4d0ab2=_0x44cb7d[_0x491dfd(0xb5)](_0x491dfd(0xca));if(!_0x3eeb39)throw CliErrors[_0x491dfd(0xb1)]('Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.');const _0x197659=_0x40c812(_0x44cb7d[_0x491dfd(0xc7)],_0x44cb7d[_0x491dfd(0xb5)](_0x491dfd(0xbf))?_0x491dfd(0xbf):'global'),_0x45f719=_0x40c812(_0x44cb7d[_0x491dfd(0xc7)],_0x197659[_0x491dfd(0xb0)]===_0x491dfd(0xbf)?_0x491dfd(0xb4):'project'),_0x55b2cf=await _0x2778b5({'appCode':_0x44cb7d['appCode'],'scope':_0x18bb31[_0x491dfd(0xc1)]===0x1?_0x18bb31[0x0]:_0x491dfd(0xac),'code':_0x440722[_0x491dfd(0xad)]()||undefined}),_0x586311=_0x18bb31[_0x491dfd(0xb7)](_0x491dfd(0xc3))?_0x55b2cf[_0x491dfd(0xc3)]:[],_0x2ede14=_0x18bb31[_0x491dfd(0xb7)](_0x491dfd(0xa3))?_0x55b2cf[_0x491dfd(0xa3)]:[],_0x9ea001=new Set([..._0x586311[_0x491dfd(0xc8)](_0x1667da=>_0x1667da['skillCode']?.[_0x491dfd(0xad)]())['filter'](_0x1b195a=>Boolean(_0x1b195a)),..._0x2ede14[_0x491dfd(0xc8)](_0x5a1272=>_0x5a1272[_0x491dfd(0xae)]?.[_0x491dfd(0xad)]())[_0x491dfd(0xb9)](_0x9be934=>Boolean(_0x9be934))]),_0x2b1da0=_0x440722[_0x491dfd(0xad)]()?[_0x440722['trim']()]:undefined,_0x934787=_0x18bb31[_0x491dfd(0xc1)]===0x2&&_0x18bb31[_0x491dfd(0xb7)]('personal')&&_0x18bb31[_0x491dfd(0xb7)](_0x491dfd(0xa3)),_0x4fbbf8=_0x934787?_0x16acfa(_0x197659,_0x9ea001,_0x2b1da0):[],_0xafa71=_0x266bc4({'env':_0x47ae97,'accessKey':_0x3eeb39,'appCode':_0x44cb7d[_0x491dfd(0xc7)],'activeSkillCodes':_0x9ea001,'pruneSkillCodes':_0x2b1da0,'scopes':_0x18bb31,'protectedLinkRoots':_0x45f719['skillRoots']}),_0x208cf1=[..._0x586311[_0x491dfd(0xc8)](_0xf5fe09=>({'skill':_0xf5fe09,'scope':_0x491dfd(0xc3)})),..._0x2ede14['map'](_0x26ae73=>({'skill':_0x26ae73,'scope':'company'}))],_0x431733=await mapConcurrent(_0x208cf1,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x305cdb,scope:_0x3c1f12})=>{const _0x547402=_0x491dfd,_0x53d2dc=_0x40146d(_0x305cdb,_0x3c1f12,{'env':_0x47ae97,'accessKey':_0x3eeb39,'appCode':_0x44cb7d[_0x547402(0xc7)]});if(_0x53d2dc)return _0x53d2dc;return _0x4c1cf8(_0x305cdb,_0x3c1f12,{'env':_0x47ae97,'accessKey':_0x3eeb39,'appCode':_0x44cb7d[_0x547402(0xc7)],'force':_0x4d0ab2,'packageBytes':await downloadSkillPackage(_0x305cdb,_0x3c1f12,_0x44cb7d[_0x547402(0xc7)],_0x315f76)});}),_0x52b7af=_0x3254e6(_0x431733,_0x197659),_0x48a195=countLinkActions(_0x52b7af);return{'ok':!![],'data':{'appCode':_0x44cb7d[_0x491dfd(0xc7)],..._0x197659[_0x491dfd(0xb0)]===_0x491dfd(0xbf)?{'installTarget':{'scope':_0x197659[_0x491dfd(0xb0)],'skillRoots':[..._0x197659[_0x491dfd(0xcb)]]}}:{},'personal':_0x586311[_0x491dfd(0xc1)],'company':_0x2ede14[_0x491dfd(0xc1)],'materialized':_0x431733[_0x491dfd(0xc1)],'links':{'total':_0x52b7af[_0x491dfd(0xc1)],'created':_0x48a195['created']??0x0,'updated':_0x48a195['updated']??0x0,'unchanged':_0x48a195[_0x491dfd(0xba)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x4fbbf8[_0x491dfd(0xb9)](_0x2a0eb7=>_0x2a0eb7[_0x491dfd(0xa5)]===_0x491dfd(0xbb))[_0x491dfd(0xc1)],'cacheDirs':_0xafa71[_0x491dfd(0xb9)](_0x21d848=>_0x21d848['action']===_0x491dfd(0xbb))[_0x491dfd(0xc1)],'skipped':[..._0x4fbbf8,..._0xafa71][_0x491dfd(0xb9)](_0x265c78=>_0x265c78[_0x491dfd(0xa5)]===_0x491dfd(0xc9))['length']},'skills':{'personal':_0x586311[_0x491dfd(0xc8)](summarizeRuntimeSkill),'company':_0x2ede14[_0x491dfd(0xc8)](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x586311[_0x491dfd(0xc1)]+_0x491dfd(0xa2)+_0x2ede14[_0x491dfd(0xc1)]+_0x491dfd(0xc5)};}function a67_0x22f6(_0x4fb948,_0x51c353){_0x4fb948=_0x4fb948-0xa2;const _0x2a0f06=a67_0x2a0f();let _0x22f6d5=_0x2a0f06[_0x4fb948];return _0x22f6d5;}async function mapConcurrent(_0x1cc396,_0x3f9863,_0xfd9389){const _0x32b8ba=a67_0x5b9358,_0xb0a522=new Array(_0x1cc396['length']);let _0x197eca=0x0;const _0x40b59=Array[_0x32b8ba(0xa8)]({'length':Math[_0x32b8ba(0xbc)](_0x3f9863,_0x1cc396[_0x32b8ba(0xc1)])},async()=>{const _0x3afdb3=_0x32b8ba;while(_0x197eca<_0x1cc396[_0x3afdb3(0xc1)]){const _0x54d7e5=_0x197eca;_0x197eca+=0x1,_0xb0a522[_0x54d7e5]=await _0xfd9389(_0x1cc396[_0x54d7e5]);}});return await Promise[_0x32b8ba(0xac)](_0x40b59),_0xb0a522;}async function downloadSkillPackage(_0x4105d7,_0x25afae,_0x89d09,_0x4e0a48){const _0x3ce79a=a67_0x5b9358,_0x1cce2a=_0x4105d7[_0x3ce79a(0xa4)]?.[_0x3ce79a(0xad)]();return _0x1cce2a?_0x4e0a48(_0x25afae,_0x4105d7[_0x3ce79a(0xae)],_0x89d09,_0x1cce2a):_0x4e0a48(_0x25afae,_0x4105d7[_0x3ce79a(0xae)],_0x89d09);}function countLinkActions(_0x593332){const _0x8fb30d=a67_0x5b9358;return _0x593332[_0x8fb30d(0xb8)]((_0x326285,_0x45119d)=>{const _0x5c4386=_0x8fb30d;return _0x326285[_0x45119d[_0x5c4386(0xa5)]]=(_0x326285[_0x45119d['action']]??0x0)+0x1,_0x326285;},{});}
1
+ const a67_0x386642=a67_0x10dc;(function(_0x5d5074,_0x41383a){const _0x3fa243=a67_0x10dc,_0x202eee=_0x5d5074();while(!![]){try{const _0x2fd716=parseInt(_0x3fa243(0xd7))/0x1*(parseInt(_0x3fa243(0xff))/0x2)+parseInt(_0x3fa243(0xdd))/0x3+parseInt(_0x3fa243(0xde))/0x4*(parseInt(_0x3fa243(0xe9))/0x5)+-parseInt(_0x3fa243(0xd5))/0x6+-parseInt(_0x3fa243(0xdf))/0x7*(parseInt(_0x3fa243(0xf0))/0x8)+-parseInt(_0x3fa243(0xf4))/0x9*(-parseInt(_0x3fa243(0xfc))/0xa)+-parseInt(_0x3fa243(0xe0))/0xb;if(_0x2fd716===_0x41383a)break;else _0x202eee['push'](_0x202eee['shift']());}catch(_0x2e138e){_0x202eee['push'](_0x202eee['shift']());}}}(a67_0x3831,0x3a37e));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a67_0x3831(){const _0x5e7e04=['7416FFHgXl','install','trim','code','updated','\x20personal\x20and\x20','personal','removed','4740WWTroj','created','version','839722TiwMXo','2824920rblpTR','skillRoots','1Lgsnln','action','all','appCode','project','from','88458eVjcOT','861256rvqjKu','14987iSAqAz','2887016IlDSdd','includes','global','company','skipped','skillCode','filter','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','length','5siEGUb','accessKey','map','production','str','reduce','bool','312cWoOzC','scope','skill','force'];a67_0x3831=function(){return _0x5e7e04;};return a67_0x3831();}function a67_0x10dc(_0x5ebc5f,_0x13bdf8){_0x5ebc5f=_0x5ebc5f-0xd5;const _0x383186=a67_0x3831();let _0x10dc7e=_0x383186[_0x5ebc5f];return _0x10dc7e;}import{summarizeRuntimeSkill}from'../summary.js';const PACKAGE_DOWNLOAD_CONCURRENCY=0x4;export const installCommand={'service':a67_0x386642(0xf2),'command':a67_0x386642(0xf5),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':'read','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x3f2ed5){return syncRuntimeSkills(_0x3f2ed5);}};async function syncRuntimeSkills(_0x15fc1d){const _0x44a6e5=a67_0x386642,{downloadRuntimeSkillPackage:_0x4b39d5,listRuntimeSkills:_0x1b1bd2}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x3a21e4,materializeRuntimeSkill:_0x38f70a,pruneStaleRuntimeSkillCache:_0xcd0877,pruneStaleRuntimeSkillLinks:_0x453f62,resolveRuntimeSkillInstallTarget:_0x177b28,reuseMaterializedRuntimeSkill:_0x409954}=await import('../../../skills/runtime-skill-sync.js'),_0x3e4223=_0x15fc1d['str'](_0x44a6e5(0xf7)),_0x29f1d7=normalizeSyncScopes(_0x15fc1d[_0x44a6e5(0xed)](_0x44a6e5(0xf1))),_0x129493=_0x15fc1d['envName']??_0x44a6e5(0xec),_0x556ce4=_0x15fc1d[_0x44a6e5(0xea)],_0x1221a2=_0x15fc1d[_0x44a6e5(0xef)](_0x44a6e5(0xf3));if(!_0x556ce4)throw CliErrors['authRequired'](_0x44a6e5(0xe7));const _0x1cff14=_0x177b28(_0x15fc1d[_0x44a6e5(0xda)],_0x15fc1d[_0x44a6e5(0xef)](_0x44a6e5(0xdb))?_0x44a6e5(0xdb):_0x44a6e5(0xe2)),_0x473005=_0x177b28(_0x15fc1d[_0x44a6e5(0xda)],_0x1cff14[_0x44a6e5(0xf1)]===_0x44a6e5(0xdb)?'global':'project'),_0x599f77=await _0x1b1bd2({'appCode':_0x15fc1d[_0x44a6e5(0xda)],'scope':_0x29f1d7['length']===0x1?_0x29f1d7[0x0]:_0x44a6e5(0xd9),'code':_0x3e4223['trim']()||undefined}),_0x5be9b3=_0x29f1d7[_0x44a6e5(0xe1)](_0x44a6e5(0xfa))?_0x599f77[_0x44a6e5(0xfa)]:[],_0x4b508e=_0x29f1d7[_0x44a6e5(0xe1)]('company')?_0x599f77['company']:[],_0x4ca2fb=new Set([..._0x5be9b3[_0x44a6e5(0xeb)](_0xebeaaa=>_0xebeaaa['skillCode']?.[_0x44a6e5(0xf6)]())[_0x44a6e5(0xe6)](_0x1ed19e=>Boolean(_0x1ed19e)),..._0x4b508e['map'](_0x4f05d3=>_0x4f05d3[_0x44a6e5(0xe5)]?.['trim']())[_0x44a6e5(0xe6)](_0x2a6ba9=>Boolean(_0x2a6ba9))]),_0x5519a2=_0x3e4223[_0x44a6e5(0xf6)]()?[_0x3e4223[_0x44a6e5(0xf6)]()]:undefined,_0x2978b3=_0x29f1d7[_0x44a6e5(0xe8)]===0x2&&_0x29f1d7[_0x44a6e5(0xe1)]('personal')&&_0x29f1d7['includes'](_0x44a6e5(0xe3)),_0x58868d=_0x2978b3?_0x453f62(_0x1cff14,_0x4ca2fb,_0x5519a2):[],_0x5842c1=_0xcd0877({'env':_0x129493,'accessKey':_0x556ce4,'appCode':_0x15fc1d[_0x44a6e5(0xda)],'activeSkillCodes':_0x4ca2fb,'pruneSkillCodes':_0x5519a2,'scopes':_0x29f1d7,'protectedLinkRoots':_0x473005[_0x44a6e5(0xd6)]}),_0x3ab63d=[..._0x5be9b3['map'](_0x3b9042=>({'skill':_0x3b9042,'scope':_0x44a6e5(0xfa)})),..._0x4b508e[_0x44a6e5(0xeb)](_0x2b7d7c=>({'skill':_0x2b7d7c,'scope':_0x44a6e5(0xe3)}))],_0xea4088=await mapConcurrent(_0x3ab63d,PACKAGE_DOWNLOAD_CONCURRENCY,async({skill:_0x51fd2a,scope:_0x51685d})=>{const _0x27fe04=_0x44a6e5,_0x2bc1aa=_0x409954(_0x51fd2a,_0x51685d,{'env':_0x129493,'accessKey':_0x556ce4,'appCode':_0x15fc1d['appCode']});if(_0x2bc1aa)return _0x2bc1aa;return _0x38f70a(_0x51fd2a,_0x51685d,{'env':_0x129493,'accessKey':_0x556ce4,'appCode':_0x15fc1d[_0x27fe04(0xda)],'force':_0x1221a2,'packageBytes':await downloadSkillPackage(_0x51fd2a,_0x51685d,_0x15fc1d[_0x27fe04(0xda)],_0x4b39d5)});}),_0x5c4157=_0x3a21e4(_0xea4088,_0x1cff14),_0x57f1fd=countLinkActions(_0x5c4157);return{'ok':!![],'data':{'appCode':_0x15fc1d['appCode'],..._0x1cff14[_0x44a6e5(0xf1)]==='project'?{'installTarget':{'scope':_0x1cff14[_0x44a6e5(0xf1)],'skillRoots':[..._0x1cff14[_0x44a6e5(0xd6)]]}}:{},'personal':_0x5be9b3[_0x44a6e5(0xe8)],'company':_0x4b508e[_0x44a6e5(0xe8)],'materialized':_0xea4088['length'],'links':{'total':_0x5c4157[_0x44a6e5(0xe8)],'created':_0x57f1fd[_0x44a6e5(0xfd)]??0x0,'updated':_0x57f1fd[_0x44a6e5(0xf8)]??0x0,'unchanged':_0x57f1fd['unchanged']??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x58868d[_0x44a6e5(0xe6)](_0xca588a=>_0xca588a[_0x44a6e5(0xd8)]===_0x44a6e5(0xfb))[_0x44a6e5(0xe8)],'cacheDirs':_0x5842c1[_0x44a6e5(0xe6)](_0x260e11=>_0x260e11[_0x44a6e5(0xd8)]===_0x44a6e5(0xfb))[_0x44a6e5(0xe8)],'skipped':[..._0x58868d,..._0x5842c1][_0x44a6e5(0xe6)](_0x5886af=>_0x5886af[_0x44a6e5(0xd8)]===_0x44a6e5(0xe4))[_0x44a6e5(0xe8)]},'skills':{'personal':_0x5be9b3[_0x44a6e5(0xeb)](summarizeRuntimeSkill),'company':_0x4b508e['map'](summarizeRuntimeSkill)}},'message':'Installed\x20'+_0x5be9b3[_0x44a6e5(0xe8)]+_0x44a6e5(0xf9)+_0x4b508e[_0x44a6e5(0xe8)]+'\x20company\x20Skill(s).'};}async function mapConcurrent(_0x8cbc0c,_0x135cd8,_0x2d42f1){const _0xa65859=a67_0x386642,_0x365084=new Array(_0x8cbc0c[_0xa65859(0xe8)]);let _0x2e1b8a=0x0;const _0x176c2d=Array[_0xa65859(0xdc)]({'length':Math['min'](_0x135cd8,_0x8cbc0c['length'])},async()=>{const _0x3a548d=_0xa65859;while(_0x2e1b8a<_0x8cbc0c[_0x3a548d(0xe8)]){const _0x38cf89=_0x2e1b8a;_0x2e1b8a+=0x1,_0x365084[_0x38cf89]=await _0x2d42f1(_0x8cbc0c[_0x38cf89]);}});return await Promise[_0xa65859(0xd9)](_0x176c2d),_0x365084;}async function downloadSkillPackage(_0xe36fbb,_0x5220f5,_0x270e40,_0x5b4c16){const _0x26946f=a67_0x386642,_0x3a982f=_0xe36fbb[_0x26946f(0xfe)]?.['trim']();return _0x3a982f?_0x5b4c16(_0x5220f5,_0xe36fbb[_0x26946f(0xe5)],_0x270e40,_0x3a982f):_0x5b4c16(_0x5220f5,_0xe36fbb['skillCode'],_0x270e40);}function countLinkActions(_0x58cf7f){const _0x5a03b4=a67_0x386642;return _0x58cf7f[_0x5a03b4(0xee)]((_0xf276a0,_0x27a545)=>{const _0x179131=_0x5a03b4;return _0xf276a0[_0x27a545['action']]=(_0xf276a0[_0x27a545[_0x179131(0xd8)]]??0x0)+0x1,_0xf276a0;},{});}
@@ -1 +1 @@
1
- (function(_0x3e3171,_0x1fa406){const _0x37904f=a68_0x1203,_0x2dae76=_0x3e3171();while(!![]){try{const _0x3533a4=-parseInt(_0x37904f(0x175))/0x1*(-parseInt(_0x37904f(0x187))/0x2)+parseInt(_0x37904f(0x18f))/0x3+parseInt(_0x37904f(0x17c))/0x4*(-parseInt(_0x37904f(0x188))/0x5)+-parseInt(_0x37904f(0x172))/0x6*(-parseInt(_0x37904f(0x178))/0x7)+-parseInt(_0x37904f(0x173))/0x8*(-parseInt(_0x37904f(0x193))/0x9)+parseInt(_0x37904f(0x17a))/0xa*(parseInt(_0x37904f(0x18d))/0xb)+-parseInt(_0x37904f(0x18a))/0xc;if(_0x3533a4===_0x1fa406)break;else _0x2dae76['push'](_0x2dae76['shift']());}catch(_0x141913){_0x2dae76['push'](_0x2dae76['shift']());}}}(a68_0x2cb9,0x9df24));function a68_0x2cb9(){const _0x5742a6=['authRequired','length','\x20remote\x20Skill(s).','filter','bool','16604HLzkFe','877055JCBqmS','accessKey','5483988QecuCr','trim','../../../skills/runtime-skill-sync.js','495KngIAK','scope','2111886xBfQQH','appCode','personal','Listed\x20','18oBWnSI','108GyMvGP','2274584FMKkVi','\x20local\x20Skill(s).','3UZqCtr','remote','company','55783lSmSBz','map','81030DdPZYZ','production','16TRUSzT','envName','local','project','../../../core/api-client.js','str'];a68_0x2cb9=function(){return _0x5742a6;};return a68_0x2cb9();}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';function a68_0x1203(_0x46ca12,_0x6fcdb){_0x46ca12=_0x46ca12-0x172;const _0x2cb971=a68_0x2cb9();let _0x12036e=_0x2cb971[_0x46ca12];return _0x12036e;}import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':'list','description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':'read','flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x59cd3b){const _0x565baf=a68_0x1203,_0x2224ad=_0x59cd3b[_0x565baf(0x181)]('code'),_0x16061c=normalizeListScope(_0x59cd3b[_0x565baf(0x181)](_0x565baf(0x18e)));if(_0x59cd3b[_0x565baf(0x186)](_0x565baf(0x17e))){const _0x352aae=_0x59cd3b[_0x565baf(0x189)];if(!_0x352aae)throw CliErrors[_0x565baf(0x182)]();const {listLocalRuntimeSkills:_0x153e93,resolveRuntimeSkillInstallTarget:_0x7b3fc1}=await import(_0x565baf(0x18c)),_0x587927=_0x7b3fc1(_0x59cd3b[_0x565baf(0x190)],_0x59cd3b[_0x565baf(0x186)](_0x565baf(0x17f))?'project':'global'),_0x20f374=_0x153e93({'env':_0x59cd3b[_0x565baf(0x17d)]??_0x565baf(0x17b),'accessKey':_0x352aae,'appCode':_0x59cd3b[_0x565baf(0x190)],'scopes':listScopeToRuntimeScopes(_0x16061c),'code':_0x2224ad[_0x565baf(0x18b)]()||undefined},_0x587927),_0x1079d8=groupLocalRuntimeSkills(_0x20f374);return{'ok':!![],'data':{'appCode':_0x59cd3b[_0x565baf(0x190)],'source':_0x565baf(0x17e),..._0x587927[_0x565baf(0x18e)]==='project'?{'installScope':_0x587927[_0x565baf(0x18e)]}:{},'scope':_0x16061c,'total':_0x20f374[_0x565baf(0x183)],'personal':_0x1079d8[_0x565baf(0x191)][_0x565baf(0x183)],'company':_0x1079d8[_0x565baf(0x177)][_0x565baf(0x183)],'items':_0x20f374['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x1079d8[_0x565baf(0x191)][_0x565baf(0x179)](summarizeLocalRuntimeSkill),'company':_0x1079d8[_0x565baf(0x177)][_0x565baf(0x179)](summarizeLocalRuntimeSkill)}},'message':_0x565baf(0x192)+_0x20f374[_0x565baf(0x183)]+_0x565baf(0x174)};}const {listRuntimeSkills:_0x98b222}=await import(_0x565baf(0x180)),_0x7b839e=await _0x98b222({'appCode':_0x59cd3b[_0x565baf(0x190)],'scope':listScopeToRemoteScope(_0x16061c),'code':_0x2224ad[_0x565baf(0x18b)]()||undefined}),_0x44ebac=shouldListScope(_0x16061c,'personal')?_0x7b839e[_0x565baf(0x191)]??[]:[],_0x8295a4=shouldListScope(_0x16061c,_0x565baf(0x177))?_0x7b839e['company']??[]:[],_0x8bcf1e=[..._0x44ebac,..._0x8295a4];return{'ok':!![],'data':{'appCode':_0x59cd3b[_0x565baf(0x190)],'source':_0x565baf(0x176),'scope':_0x16061c,'total':_0x8bcf1e[_0x565baf(0x183)],'personal':_0x44ebac[_0x565baf(0x183)],'company':_0x8295a4[_0x565baf(0x183)],'items':_0x8bcf1e[_0x565baf(0x179)](summarizeRuntimeSkill),'skills':{'personal':_0x44ebac[_0x565baf(0x179)](summarizeRuntimeSkill),'company':_0x8295a4['map'](summarizeRuntimeSkill)}},'message':_0x565baf(0x192)+_0x8bcf1e[_0x565baf(0x183)]+_0x565baf(0x184)};}};function groupLocalRuntimeSkills(_0x4b1dad){const _0x456085=a68_0x1203;return{'personal':_0x4b1dad['filter'](_0xa69ae5=>_0xa69ae5[_0x456085(0x18e)]==='personal'),'company':_0x4b1dad[_0x456085(0x185)](_0x286972=>_0x286972[_0x456085(0x18e)]==='company'),'builtin':_0x4b1dad[_0x456085(0x185)](_0x3a99a1=>_0x3a99a1[_0x456085(0x18e)]==='builtin')};}
1
+ const a68_0x4602e8=a68_0x3cc7;(function(_0x104504,_0x257952){const _0x3b0fde=a68_0x3cc7,_0x4336d0=_0x104504();while(!![]){try{const _0x501727=-parseInt(_0x3b0fde(0x1e3))/0x1+-parseInt(_0x3b0fde(0x1e0))/0x2*(-parseInt(_0x3b0fde(0x1fe))/0x3)+-parseInt(_0x3b0fde(0x1ea))/0x4+-parseInt(_0x3b0fde(0x1e1))/0x5*(parseInt(_0x3b0fde(0x1e6))/0x6)+parseInt(_0x3b0fde(0x1eb))/0x7+parseInt(_0x3b0fde(0x1df))/0x8*(parseInt(_0x3b0fde(0x1fb))/0x9)+-parseInt(_0x3b0fde(0x1ff))/0xa*(parseInt(_0x3b0fde(0x1ec))/0xb);if(_0x501727===_0x257952)break;else _0x4336d0['push'](_0x4336d0['shift']());}catch(_0x58979c){_0x4336d0['push'](_0x4336d0['shift']());}}}(a68_0x2b30,0x93f12));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 a68_0x2b30(){const _0x4e7b6c=['authRequired','map','production','global','\x20remote\x20Skill(s).','\x20local\x20Skill(s).','project','company','9wGuVuH','../../../skills/runtime-skill-sync.js','read','54255wCFaMG','370mJKmOt','Listed\x20','personal','remote','scope','3262408lnaGzB','98rKGMIZ','295EEtTWb','../../../core/api-client.js','175604sGeBNq','code','length','83766ZaRObL','bool','trim','list','410476oIlsZJ','7922859kWYswY','213433uciUAK','str','filter','local','skill','appCode','builtin'];a68_0x2b30=function(){return _0x4e7b6c;};return a68_0x2b30();}import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a68_0x3cc7(_0x5bf097,_0x1c2958){_0x5bf097=_0x5bf097-0x1de;const _0x2b30d3=a68_0x2b30();let _0x3cc7f8=_0x2b30d3[_0x5bf097];return _0x3cc7f8;}export const listCommand={'service':a68_0x4602e8(0x1f0),'command':a68_0x4602e8(0x1e9),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a68_0x4602e8(0x1fd),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x559bdb){const _0x2d6097=a68_0x4602e8,_0x252b45=_0x559bdb[_0x2d6097(0x1ed)](_0x2d6097(0x1e4)),_0x178225=normalizeListScope(_0x559bdb[_0x2d6097(0x1ed)](_0x2d6097(0x1de)));if(_0x559bdb[_0x2d6097(0x1e7)](_0x2d6097(0x1ef))){const _0x14cc91=_0x559bdb['accessKey'];if(!_0x14cc91)throw CliErrors[_0x2d6097(0x1f3)]();const {listLocalRuntimeSkills:_0x1525c0,resolveRuntimeSkillInstallTarget:_0x4163a7}=await import(_0x2d6097(0x1fc)),_0x8c9008=_0x4163a7(_0x559bdb[_0x2d6097(0x1f1)],_0x559bdb[_0x2d6097(0x1e7)](_0x2d6097(0x1f9))?'project':_0x2d6097(0x1f6)),_0x55def2=_0x1525c0({'env':_0x559bdb['envName']??_0x2d6097(0x1f5),'accessKey':_0x14cc91,'appCode':_0x559bdb[_0x2d6097(0x1f1)],'scopes':listScopeToRuntimeScopes(_0x178225),'code':_0x252b45[_0x2d6097(0x1e8)]()||undefined},_0x8c9008),_0x3a5e00=groupLocalRuntimeSkills(_0x55def2);return{'ok':!![],'data':{'appCode':_0x559bdb[_0x2d6097(0x1f1)],'source':_0x2d6097(0x1ef),..._0x8c9008[_0x2d6097(0x1de)]===_0x2d6097(0x1f9)?{'installScope':_0x8c9008[_0x2d6097(0x1de)]}:{},'scope':_0x178225,'total':_0x55def2[_0x2d6097(0x1e5)],'personal':_0x3a5e00[_0x2d6097(0x201)][_0x2d6097(0x1e5)],'company':_0x3a5e00[_0x2d6097(0x1fa)]['length'],'items':_0x55def2[_0x2d6097(0x1f4)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3a5e00['personal']['map'](summarizeLocalRuntimeSkill),'company':_0x3a5e00['company'][_0x2d6097(0x1f4)](summarizeLocalRuntimeSkill)}},'message':_0x2d6097(0x200)+_0x55def2['length']+_0x2d6097(0x1f8)};}const {listRuntimeSkills:_0x210256}=await import(_0x2d6097(0x1e2)),_0x424e4e=await _0x210256({'appCode':_0x559bdb['appCode'],'scope':listScopeToRemoteScope(_0x178225),'code':_0x252b45['trim']()||undefined}),_0xe465ba=shouldListScope(_0x178225,'personal')?_0x424e4e['personal']??[]:[],_0x3991aa=shouldListScope(_0x178225,_0x2d6097(0x1fa))?_0x424e4e[_0x2d6097(0x1fa)]??[]:[],_0x5b9e05=[..._0xe465ba,..._0x3991aa];return{'ok':!![],'data':{'appCode':_0x559bdb[_0x2d6097(0x1f1)],'source':_0x2d6097(0x202),'scope':_0x178225,'total':_0x5b9e05[_0x2d6097(0x1e5)],'personal':_0xe465ba[_0x2d6097(0x1e5)],'company':_0x3991aa[_0x2d6097(0x1e5)],'items':_0x5b9e05[_0x2d6097(0x1f4)](summarizeRuntimeSkill),'skills':{'personal':_0xe465ba['map'](summarizeRuntimeSkill),'company':_0x3991aa[_0x2d6097(0x1f4)](summarizeRuntimeSkill)}},'message':_0x2d6097(0x200)+_0x5b9e05[_0x2d6097(0x1e5)]+_0x2d6097(0x1f7)};}};function groupLocalRuntimeSkills(_0xfe98fd){const _0x315917=a68_0x4602e8;return{'personal':_0xfe98fd[_0x315917(0x1ee)](_0x27a49b=>_0x27a49b['scope']===_0x315917(0x201)),'company':_0xfe98fd[_0x315917(0x1ee)](_0xaf7144=>_0xaf7144['scope']===_0x315917(0x1fa)),'builtin':_0xfe98fd[_0x315917(0x1ee)](_0x3940cf=>_0x3940cf[_0x315917(0x1de)]===_0x315917(0x1f2))};}