@lovrabet/lovrabet-cli 2.3.0-beta.3 → 2.3.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.js +1 -1
  25. package/lib/commands/config/shared.js +1 -1
  26. package/lib/commands/data/index.js +1 -1
  27. package/lib/commands/dataset/detail.js +1 -1
  28. package/lib/commands/dataset/index.js +1 -1
  29. package/lib/commands/dataset/list.js +1 -1
  30. package/lib/commands/dataset/sdk-doc.js +1 -1
  31. package/lib/commands/doctor.js +1 -1
  32. package/lib/commands/file/index.js +1 -1
  33. package/lib/commands/init.js +1 -1
  34. package/lib/commands/kb/index.js +1 -1
  35. package/lib/commands/logs/index.js +1 -1
  36. package/lib/commands/notification/config-list.js +1 -1
  37. package/lib/commands/notification/index.js +1 -1
  38. package/lib/commands/notification/shared.js +1 -1
  39. package/lib/commands/ocr/index.js +1 -1
  40. package/lib/commands/permit/dataset-get.js +1 -1
  41. package/lib/commands/permit/dataset-set.js +1 -1
  42. package/lib/commands/permit/index.js +1 -1
  43. package/lib/commands/permit/page-get.js +1 -1
  44. package/lib/commands/permit/page-set.js +1 -1
  45. package/lib/commands/permit/role-menus-set.js +1 -1
  46. package/lib/commands/permit/role-menus.js +1 -1
  47. package/lib/commands/permit/shared.js +1 -1
  48. package/lib/commands/personal-bff/index.js +1 -1
  49. package/lib/commands/registry.js +1 -1
  50. package/lib/commands/role/create.js +1 -1
  51. package/lib/commands/role/delete.js +1 -1
  52. package/lib/commands/role/detail.js +1 -1
  53. package/lib/commands/role/index.js +1 -1
  54. package/lib/commands/role/list.js +1 -1
  55. package/lib/commands/role/shared.js +1 -1
  56. package/lib/commands/role/update.js +1 -1
  57. package/lib/commands/role/user-add.js +1 -1
  58. package/lib/commands/role/user-remove.js +1 -1
  59. package/lib/commands/schedule/index.js +1 -1
  60. package/lib/commands/schema.js +1 -1
  61. package/lib/commands/service/dynamic.js +1 -1
  62. package/lib/commands/service/function-name-adapter.js +1 -1
  63. package/lib/commands/service/index.js +1 -1
  64. package/lib/commands/service/registry.js +1 -1
  65. package/lib/commands/skill/commands/create.js +1 -1
  66. package/lib/commands/skill/commands/diagram.js +1 -1
  67. package/lib/commands/skill/commands/install.js +1 -1
  68. package/lib/commands/skill/commands/list.js +1 -1
  69. package/lib/commands/skill/commands/push.js +1 -1
  70. package/lib/commands/skill/commands/validate.js +1 -1
  71. package/lib/commands/skill/diagram.js +1 -1
  72. package/lib/commands/skill/flags.js +1 -1
  73. package/lib/commands/skill/index.js +1 -1
  74. package/lib/commands/skill/manifest-helpers.js +1 -1
  75. package/lib/commands/skill/push-execute.js +1 -1
  76. package/lib/commands/skill/push-flow-helpers.js +1 -1
  77. package/lib/commands/skill/push-retarget.js +1 -1
  78. package/lib/commands/skill/scopes.js +1 -1
  79. package/lib/commands/skill/summary.js +1 -1
  80. package/lib/commands/skill/templates.js +1 -1
  81. package/lib/commands/skill/validate.js +1 -1
  82. package/lib/commands/sql/detail.js +1 -1
  83. package/lib/commands/sql/exec.js +1 -1
  84. package/lib/commands/sql/index.js +1 -1
  85. package/lib/commands/update.js +1 -1
  86. package/lib/commands/user-account/bind.js +1 -1
  87. package/lib/commands/user-account/index.js +1 -1
  88. package/lib/commands/workspace/index.js +1 -1
  89. package/lib/config/domain-config.js +1 -1
  90. package/lib/config/schema.js +1 -1
  91. package/lib/constant/app.js +1 -1
  92. package/lib/constant/auth-mode.js +1 -1
  93. package/lib/constant/cli.js +1 -1
  94. package/lib/constant/defaults.js +1 -1
  95. package/lib/constant/distribution.js +1 -1
  96. package/lib/constant/domain.js +1 -1
  97. package/lib/constant/env.js +1 -1
  98. package/lib/constant/output.js +1 -1
  99. package/lib/constant/product.js +1 -1
  100. package/lib/constant/region.js +1 -1
  101. package/lib/constant/risk.js +1 -1
  102. package/lib/constant/url.js +1 -1
  103. package/lib/context.js +1 -1
  104. package/lib/core/api-client.js +1 -1
  105. package/lib/core/db-resolver.js +1 -1
  106. package/lib/core/sdk-client.js +1 -1
  107. package/lib/errors.js +1 -1
  108. package/lib/framework/build-all-flags.js +1 -1
  109. package/lib/framework/dryrun.js +1 -1
  110. package/lib/framework/flags.js +1 -1
  111. package/lib/framework/help.js +1 -1
  112. package/lib/framework/index.js +1 -1
  113. package/lib/framework/output.js +1 -1
  114. package/lib/framework/preparse.js +1 -1
  115. package/lib/framework/rate-limit.js +1 -1
  116. package/lib/framework/raw-flags.js +1 -1
  117. package/lib/framework/response.js +1 -1
  118. package/lib/framework/runner-confirmation.js +1 -1
  119. package/lib/framework/runner-error.js +1 -1
  120. package/lib/framework/runner.js +1 -1
  121. package/lib/framework/schema-export.js +1 -1
  122. package/lib/framework/service-order.js +1 -1
  123. package/lib/framework/types.js +1 -1
  124. package/lib/generated/build-info.d.ts +4 -4
  125. package/lib/generated/build-info.js +1 -1
  126. package/lib/help.js +1 -1
  127. package/lib/postinstall.js +1 -1
  128. package/lib/runtime/confirmation.js +1 -1
  129. package/lib/runtime/event.js +1 -1
  130. package/lib/runtime/index.js +1 -1
  131. package/lib/runtime/queue.js +1 -1
  132. package/lib/runtime/resolve.js +1 -1
  133. package/lib/skills/builtin-skill.js +1 -1
  134. package/lib/skills/npx-skills-add.js +1 -1
  135. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  136. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  137. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  138. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  139. package/lib/skills/runtime-skill-sync/links.js +1 -1
  140. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  141. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  142. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  143. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  144. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  145. package/lib/skills/runtime-skill-sync/push.js +1 -1
  146. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  147. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  148. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  149. package/lib/skills/runtime-skill-sync.js +1 -1
  150. package/lib/skills/skill-presence.js +1 -1
  151. package/lib/utils/access-key-redaction.js +1 -1
  152. package/lib/utils/apply-jq-filter.js +1 -1
  153. package/lib/utils/cli-version-check.js +1 -1
  154. package/lib/utils/cli-version-policy.js +1 -1
  155. package/lib/utils/logger.js +1 -1
  156. package/lib/utils/lossless-json.js +1 -1
  157. package/lib/utils/params.js +1 -1
  158. package/lib/utils/platform.js +1 -1
  159. package/lib/utils/update-notice.js +1 -1
  160. package/lib/utils/version.js +1 -1
  161. package/lib/utils/write-cli-side-channel.js +1 -1
  162. package/package.json +1 -1
  163. package/skills/lovrabet/SKILL.md +1 -1
  164. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- function a56_0x13d7(){const _0x2b135d=['body','88aqJoWj','5474sstYBE','high-risk-write','warnings','before','7596ipZMtJ','user-add','roleList','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','3696384OQHpcG','role','1424458qgGPnH','description','appCode','837045wtusjS','userId','Preview:\x20add\x20runtime\x20role\x20member','21rgGqPv','/client/permit/user-role/update-user-list','25466830gaElpk','POST','shouldWrite','11FlGfuf','8173155YDhdYc','164654uoloJv'];a56_0x13d7=function(){return _0x2b135d;};return a56_0x13d7();}const a56_0x252e75=a56_0x386b;function a56_0x386b(_0x107119,_0x33c4fd){_0x107119=_0x107119-0x12d;const _0x13d704=a56_0x13d7();let _0x386b1f=_0x13d704[_0x107119];return _0x386b1f;}(function(_0x4112bf,_0x5478e6){const _0x1947a5=a56_0x386b,_0x4d4073=_0x4112bf();while(!![]){try{const _0x3e5be2=-parseInt(_0x1947a5(0x132))/0x1+parseInt(_0x1947a5(0x13f))/0x2*(parseInt(_0x1947a5(0x138))/0x3)+parseInt(_0x1947a5(0x130))/0x4+-parseInt(_0x1947a5(0x13e))/0x5+-parseInt(_0x1947a5(0x146))/0x6*(-parseInt(_0x1947a5(0x142))/0x7)+-parseInt(_0x1947a5(0x141))/0x8*(parseInt(_0x1947a5(0x135))/0x9)+-parseInt(_0x1947a5(0x13a))/0xa*(-parseInt(_0x1947a5(0x13d))/0xb);if(_0x3e5be2===_0x5478e6)break;else _0x4d4073['push'](_0x4d4073['shift']());}catch(_0x2d523c){_0x4d4073['push'](_0x4d4073['shift']());}}}(a56_0x13d7,0xe9238));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a56_0x252e75(0x131),'command':'user-add','description':a56_0x252e75(0x12f),'risk':a56_0x252e75(0x143),'confirmationDescription':'Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0xc41a64){const _0x180d29=a56_0x252e75,_0x41d641=await prepareRuntimeMemberMutation(_0xc41a64,_0x180d29(0x12d));return dryRun(_0x180d29(0x13b),_0x180d29(0x139))[_0x180d29(0x140)]({'appCode':_0xc41a64[_0x180d29(0x134)],'roleList':_0x41d641['roleList']})[_0x180d29(0x133)](_0x41d641[_0x180d29(0x13c)]?_0x180d29(0x137):_0x41d641[_0x180d29(0x144)][0x0])['build']();},async 'execute'(_0x45f012){const _0x1496a6=a56_0x252e75,_0x1fd61a=await prepareRuntimeMemberMutation(_0x45f012,'user-add');return _0x1fd61a[_0x1496a6(0x13c)]&&await updateRuntimeRoleUsers(_0x45f012['appCode'],_0x1fd61a[_0x1496a6(0x12e)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x1496a6(0x12d),{'roleId':_0x1fd61a[_0x1496a6(0x131)]['id'],'userId':_0x1fd61a[_0x1496a6(0x136)]},_0x1fd61a[_0x1496a6(0x145)],_0x1fd61a['after'],{'method':_0x1496a6(0x13b),'path':_0x1496a6(0x139)},_0x1fd61a[_0x1496a6(0x144)])};}};
1
+ const a56_0x3bc9f4=a56_0x28f3;function a56_0x1b16(){const _0x3cb92c=['252570CGPyNI','14088KblwgQ','4bLJvjV','appCode','high-risk-write','role','POST','user-add','9448470mcCOQT','1922356NGLdzz','927xMUOih','358074itDxBj','description','/client/permit/user-role/update-user-list','warnings','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.','shouldWrite','28OLvifo','465954HWdWPu','build','roleList','77187sAGENY','before'];a56_0x1b16=function(){return _0x3cb92c;};return a56_0x1b16();}(function(_0x3f4b67,_0x4ce121){const _0x150513=a56_0x28f3,_0x3d1647=_0x3f4b67();while(!![]){try{const _0x59f811=-parseInt(_0x150513(0x10f))/0x1*(-parseInt(_0x150513(0xfc))/0x2)+parseInt(_0x150513(0x105))/0x3+parseInt(_0x150513(0x103))/0x4+parseInt(_0x150513(0x111))/0x5+parseInt(_0x150513(0x10c))/0x6*(parseInt(_0x150513(0x10b))/0x7)+parseInt(_0x150513(0x112))/0x8*(parseInt(_0x150513(0x104))/0x9)+-parseInt(_0x150513(0x102))/0xa;if(_0x59f811===_0x4ce121)break;else _0x3d1647['push'](_0x3d1647['shift']());}catch(_0x7050d9){_0x3d1647['push'](_0x3d1647['shift']());}}}(a56_0x1b16,0x55f07));import{updateRuntimeRoleUsers}from'../../core/api-client.js';function a56_0x28f3(_0xffe7c,_0x3f68b3){_0xffe7c=_0xffe7c-0xfc;const _0x1b16c4=a56_0x1b16();let _0x28f31b=_0x1b16c4[_0xffe7c];return _0x28f31b;}import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a56_0x3bc9f4(0xff),'command':a56_0x3bc9f4(0x101),'description':'Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','risk':a56_0x3bc9f4(0xfe),'confirmationDescription':a56_0x3bc9f4(0x109),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x16942a){const _0x20cd16=a56_0x3bc9f4,_0x5b9022=await prepareRuntimeMemberMutation(_0x16942a,_0x20cd16(0x101));return dryRun(_0x20cd16(0x100),_0x20cd16(0x107))['body']({'appCode':_0x16942a['appCode'],'roleList':_0x5b9022[_0x20cd16(0x10e)]})[_0x20cd16(0x106)](_0x5b9022[_0x20cd16(0x10a)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x5b9022[_0x20cd16(0x108)][0x0])[_0x20cd16(0x10d)]();},async 'execute'(_0x4b420f){const _0x1bf66e=a56_0x3bc9f4,_0x3b1e04=await prepareRuntimeMemberMutation(_0x4b420f,_0x1bf66e(0x101));return _0x3b1e04[_0x1bf66e(0x10a)]&&await updateRuntimeRoleUsers(_0x4b420f[_0x1bf66e(0xfd)],_0x3b1e04[_0x1bf66e(0x10e)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x1bf66e(0x101),{'roleId':_0x3b1e04[_0x1bf66e(0xff)]['id'],'userId':_0x3b1e04['userId']},_0x3b1e04[_0x1bf66e(0x110)],_0x3b1e04['after'],{'method':'POST','path':_0x1bf66e(0x107)},_0x3b1e04[_0x1bf66e(0x108)])};}};
@@ -1 +1 @@
1
- function a57_0x24fc(_0x262b51,_0x5c71c6){_0x262b51=_0x262b51-0x12b;const _0x435cee=a57_0x435c();let _0x24fcfe=_0x435cee[_0x262b51];return _0x24fcfe;}const a57_0x44056c=a57_0x24fc;function a57_0x435c(){const _0x5b69eb=['appCode','description','/client/permit/user-role/update-user-list','2797385uEfIUx','9neWexm','6AwdSGN','roleList','role','Preview:\x20remove\x20runtime\x20role\x20member','199360KfYxgr','8987110QqXVLB','build','1216xBpXXZ','before','after','body','warnings','7449fPsUeP','7803vZkjAV','31984876DNjWuJ','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','POST','user-remove','3868795lPIQpS','high-risk-write','shouldWrite','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','4472AllApA'];a57_0x435c=function(){return _0x5b69eb;};return a57_0x435c();}(function(_0x2d6a83,_0x5cf8b3){const _0xa17662=a57_0x24fc,_0x3593ef=_0x2d6a83();while(!![]){try{const _0x55d0b8=parseInt(_0xa17662(0x135))/0x1*(-parseInt(_0xa17662(0x13a))/0x2)+-parseInt(_0xa17662(0x142))/0x3*(parseInt(_0xa17662(0x13d))/0x4)+-parseInt(_0xa17662(0x134))/0x5+-parseInt(_0xa17662(0x136))/0x6*(parseInt(_0xa17662(0x12c))/0x7)+-parseInt(_0xa17662(0x130))/0x8*(parseInt(_0xa17662(0x143))/0x9)+parseInt(_0xa17662(0x13b))/0xa+parseInt(_0xa17662(0x144))/0xb;if(_0x55d0b8===_0x5cf8b3)break;else _0x3593ef['push'](_0x3593ef['shift']());}catch(_0x3c007c){_0x3593ef['push'](_0x3593ef['shift']());}}}(a57_0x435c,0x8825c));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a57_0x44056c(0x138),'command':'user-remove','description':a57_0x44056c(0x12f),'risk':a57_0x44056c(0x12d),'confirmationDescription':a57_0x44056c(0x145),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x1f2e0a){const _0x19c92e=a57_0x44056c,_0x1e4fbc=await prepareRuntimeMemberMutation(_0x1f2e0a,_0x19c92e(0x12b));return dryRun(_0x19c92e(0x146),_0x19c92e(0x133))[_0x19c92e(0x140)]({'appCode':_0x1f2e0a[_0x19c92e(0x131)],'roleList':_0x1e4fbc[_0x19c92e(0x137)]})[_0x19c92e(0x132)](_0x1e4fbc[_0x19c92e(0x12e)]?_0x19c92e(0x139):_0x1e4fbc[_0x19c92e(0x141)][0x0])[_0x19c92e(0x13c)]();},async 'execute'(_0x4633c2){const _0x1e5961=a57_0x44056c,_0x3a2aa9=await prepareRuntimeMemberMutation(_0x4633c2,_0x1e5961(0x12b));return _0x3a2aa9[_0x1e5961(0x12e)]&&await updateRuntimeRoleUsers(_0x4633c2[_0x1e5961(0x131)],_0x3a2aa9[_0x1e5961(0x137)]),{'ok':!![],'data':runtimeRoleWriteResult('user-remove',{'roleId':_0x3a2aa9[_0x1e5961(0x138)]['id'],'userId':_0x3a2aa9['userId']},_0x3a2aa9[_0x1e5961(0x13e)],_0x3a2aa9[_0x1e5961(0x13f)],{'method':'POST','path':_0x1e5961(0x133)},_0x3a2aa9[_0x1e5961(0x141)])};}};
1
+ function a57_0x3bb2(){const _0x1b003e=['role','758050OLsGGc','description','warnings','15WAPJZM','4483936QDrICX','appCode','userId','4298751zXyJeX','1287004MozvTv','27WNsuGV','852532MbyjyN','1lCGWlo','build','POST','user-remove','body','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','34203873WkiFkU','Preview:\x20remove\x20runtime\x20role\x20member','/client/permit/user-role/update-user-list','before','14ATCAjf','high-risk-write','2179182jlBvVn','roleList'];a57_0x3bb2=function(){return _0x1b003e;};return a57_0x3bb2();}const a57_0x3810d1=a57_0x4013;(function(_0x561305,_0x4dbecc){const _0x478cdd=a57_0x4013,_0x3a45c1=_0x561305();while(!![]){try{const _0x5191d4=parseInt(_0x478cdd(0x1f5))/0x1*(parseInt(_0x478cdd(0x1f4))/0x2)+parseInt(_0x478cdd(0x1f1))/0x3+parseInt(_0x478cdd(0x1f2))/0x4*(parseInt(_0x478cdd(0x207))/0x5)+parseInt(_0x478cdd(0x201))/0x6*(parseInt(_0x478cdd(0x1ff))/0x7)+parseInt(_0x478cdd(0x208))/0x8+-parseInt(_0x478cdd(0x1f3))/0x9*(parseInt(_0x478cdd(0x204))/0xa)+-parseInt(_0x478cdd(0x1fb))/0xb;if(_0x5191d4===_0x4dbecc)break;else _0x3a45c1['push'](_0x3a45c1['shift']());}catch(_0x562338){_0x3a45c1['push'](_0x3a45c1['shift']());}}}(a57_0x3bb2,0xbd140));import{updateRuntimeRoleUsers}from'../../core/api-client.js';function a57_0x4013(_0x201663,_0x46d57d){_0x201663=_0x201663-0x1ef;const _0x3bb2cc=a57_0x3bb2();let _0x4013be=_0x3bb2cc[_0x201663];return _0x4013be;}import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a57_0x3810d1(0x203),'command':a57_0x3810d1(0x1f8),'description':'Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','risk':a57_0x3810d1(0x200),'confirmationDescription':a57_0x3810d1(0x1fa),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x339f47){const _0x284c24=a57_0x3810d1,_0x56d59e=await prepareRuntimeMemberMutation(_0x339f47,_0x284c24(0x1f8));return dryRun(_0x284c24(0x1f7),'/client/permit/user-role/update-user-list')[_0x284c24(0x1f9)]({'appCode':_0x339f47[_0x284c24(0x1ef)],'roleList':_0x56d59e['roleList']})[_0x284c24(0x205)](_0x56d59e['shouldWrite']?_0x284c24(0x1fc):_0x56d59e['warnings'][0x0])[_0x284c24(0x1f6)]();},async 'execute'(_0x19d4f8){const _0x188e10=a57_0x3810d1,_0x53f41b=await prepareRuntimeMemberMutation(_0x19d4f8,_0x188e10(0x1f8));return _0x53f41b['shouldWrite']&&await updateRuntimeRoleUsers(_0x19d4f8[_0x188e10(0x1ef)],_0x53f41b[_0x188e10(0x202)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x188e10(0x1f8),{'roleId':_0x53f41b[_0x188e10(0x203)]['id'],'userId':_0x53f41b[_0x188e10(0x1f0)]},_0x53f41b[_0x188e10(0x1fe)],_0x53f41b['after'],{'method':_0x188e10(0x1f7),'path':_0x188e10(0x1fd)},_0x53f41b[_0x188e10(0x206)])};}};
@@ -1 +1 @@
1
- const a58_0x843b61=a58_0xe2cb;(function(_0x1a34c2,_0x10363a){const _0x1ac700=a58_0xe2cb,_0x34c5ac=_0x1a34c2();while(!![]){try{const _0x315e32=parseInt(_0x1ac700(0xdb))/0x1+parseInt(_0x1ac700(0xde))/0x2+-parseInt(_0x1ac700(0xd3))/0x3*(parseInt(_0x1ac700(0xda))/0x4)+-parseInt(_0x1ac700(0xb9))/0x5+-parseInt(_0x1ac700(0xb6))/0x6*(-parseInt(_0x1ac700(0xa6))/0x7)+parseInt(_0x1ac700(0xcb))/0x8*(parseInt(_0x1ac700(0xb2))/0x9)+-parseInt(_0x1ac700(0xdc))/0xa;if(_0x315e32===_0x10363a)break;else _0x34c5ac['push'](_0x34c5ac['shift']());}catch(_0x279f8e){_0x34c5ac['push'](_0x34c5ac['shift']());}}}(a58_0x5232,0x20c48));function a58_0x5232(){const _0x57a5fb=['Preview:\x20create\x20an\x20Agent\x20schedule','num','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','description','Schedule\x20input\x20is\x20valid','Deleted\x20schedule\x20','length','validate','number','243sjgxNG','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','261114wTJJju','Schedule\x20title','appCode','472890OKAYKJ','str','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','UTC','/api/harness/apps/','Schedule\x20kind:\x20CRON\x20or\x20ONCE','\x20immediately','Page\x20size\x20from\x201\x20to\x20100','limit','detail','ONCE','schedule','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','deepseek-v4-flash-0731','trim','POST','\x20from\x20schedule\x20','isSafeInteger','76144RaljAp','scheduleId','--title\x20must\x20not\x20be\x20blank.','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','title','DELETE','run','kimi/k3','492117qlQyoV','/run','high-risk-write','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','read','build','create','4NnSTex','240981duPyFZ','1741460zdTKXt','string','50986UJgFCB','scheduled-at','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','validation','cursor','prompt','kind','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','/schedules','model','\x20schedule\x20','Queued\x20Task\x20','schedule-id','7KsCGoh'];a58_0x5232=function(){return _0x57a5fb;};return a58_0x5232();}import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a58_0xe2cb(_0x58a334,_0x366693){_0x58a334=_0x58a334-0x9e;const _0x523201=a58_0x5232();let _0xe2cbd6=_0x523201[_0x58a334];return _0xe2cbd6;}import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0x843b61(0x9f),'type':'string','required':!![],'enum':['CRON',a58_0x843b61(0xc3)],'description':a58_0x843b61(0xbe)},CRON_FLAG={'name':'cron','type':a58_0x843b61(0xdd),'description':a58_0x843b61(0xe0)},SCHEDULED_AT_FLAG={'name':a58_0x843b61(0xdf),'type':a58_0x843b61(0xdd),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':'title','type':a58_0x843b61(0xdd),'required':!![],'description':a58_0x843b61(0xb7)},PROMPT_FLAG={'name':a58_0x843b61(0x9e),'type':'string','required':!![],'description':a58_0x843b61(0xd6)},MODEL_FLAG={'name':a58_0x843b61(0xa2),'type':'string','enum':[a58_0x843b61(0xd2),a58_0x843b61(0xc6),a58_0x843b61(0xab)],'default':a58_0x843b61(0xc6),'description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':'schedule-id','type':a58_0x843b61(0xdd),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a58_0x843b61(0xc1),'type':a58_0x843b61(0xb1),'default':0x14,'description':a58_0x843b61(0xc0)},CURSOR_FLAG={'name':'cursor','type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0xff368f){const _0x4b990e=a58_0x843b61,_0x16ffb3=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0x9f)),_0x25283a=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0xcf))[_0x4b990e(0xc7)](),_0x3b87d4=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0x9e))['trim'](),_0x14a97b=_0xff368f['str']('model'),_0x2110de=_0xff368f[_0x4b990e(0xba)]('cron'),_0x12beee=_0xff368f[_0x4b990e(0xba)](_0x4b990e(0xdf));if(!_0x25283a)throw CliErrors[_0x4b990e(0xe2)](_0x4b990e(0xcd));if(!_0x3b87d4)throw CliErrors[_0x4b990e(0xe2)]('--prompt\x20must\x20not\x20be\x20blank.');if(_0x16ffb3==='CRON'){if(!_0x2110de||_0x12beee)throw CliErrors[_0x4b990e(0xe2)](_0x4b990e(0xc5));return{'kind':_0x16ffb3,'timezone':_0x4b990e(0xbc),'cron':_0x2110de,'title':_0x25283a,'prompt':_0x3b87d4,'model':_0x14a97b};}if(_0x16ffb3==='ONCE'){if(!_0x12beee||_0x2110de)throw CliErrors['validation'](_0x4b990e(0xb3));return{'kind':_0x16ffb3,'timezone':'UTC','scheduledAt':_0x12beee,'title':_0x25283a,'prompt':_0x3b87d4,'model':_0x14a97b};}throw CliErrors[_0x4b990e(0xe2)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x5c5bb0){const _0xd141c1=a58_0x843b61;return _0xd141c1(0xbd)+encodeURIComponent(_0x5c5bb0)+_0xd141c1(0xa1);}function scheduleItemPath(_0x406f04,_0x37216d){return scheduleCollectionPath(_0x406f04)+'/'+encodeURIComponent(_0x37216d);}const scheduleValidate={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xb0),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a58_0x843b61(0xd7),'flags':INPUT_FLAGS,async 'validate'(_0x6868ed){readScheduleInput(_0x6868ed);},async 'execute'(_0x4e671f){const _0x116c92=a58_0x843b61,_0x4ef3f0=readScheduleInput(_0x4e671f),_0x16e806=await validateRuntimeSchedule(_0x4e671f[_0x116c92(0xb8)],_0x4ef3f0);return{'ok':!![],'data':_0x16e806,'message':_0x116c92(0xad)};}},scheduleCreate={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xd9),'description':a58_0x843b61(0xce),'risk':a58_0x843b61(0xd5),'confirmationDescription':a58_0x843b61(0xa0),'flags':INPUT_FLAGS,async 'validate'(_0x3ab7dd){readScheduleInput(_0x3ab7dd);},async 'execute'(_0x35ed20){const _0x1dbe19=a58_0x843b61,_0x944cba=readScheduleInput(_0x35ed20),_0x458eb5=await validateRuntimeSchedule(_0x35ed20[_0x1dbe19(0xb8)],_0x944cba),_0x5eb4b3=await createRuntimeSchedule(_0x35ed20['appCode'],_0x458eb5);return{'ok':!![],'data':_0x5eb4b3,'message':'Created\x20'+_0x5eb4b3[_0x1dbe19(0x9f)]+_0x1dbe19(0xa3)+_0x5eb4b3[_0x1dbe19(0xcc)]};},async 'dryRun'(_0x53ef45){const _0x6a44e2=a58_0x843b61,_0x2d4e56=readScheduleInput(_0x53ef45);return dryRun(_0x6a44e2(0xc8),scheduleCollectionPath(_0x53ef45[_0x6a44e2(0xb8)]))['body'](_0x2d4e56)['description'](_0x6a44e2(0xa7))[_0x6a44e2(0xd8)]();}},scheduleList={'service':a58_0x843b61(0xc4),'command':'list','description':a58_0x843b61(0xa9),'risk':a58_0x843b61(0xd7),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x498cdd){const _0x3881d0=a58_0x843b61,_0x324fc2=_0x498cdd['num'](_0x3881d0(0xc1));if(!Number[_0x3881d0(0xca)](_0x324fc2)||_0x324fc2<0x1||_0x324fc2>0x64)throw CliErrors[_0x3881d0(0xe2)]('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x5b6e3c=_0x498cdd[_0x3881d0(0xba)](_0x3881d0(0xe3));if(_0x5b6e3c&&(_0x5b6e3c[_0x3881d0(0xaf)]>0x400||_0x5b6e3c['trim']()!==_0x5b6e3c))throw CliErrors[_0x3881d0(0xe2)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x2b5b8d){const _0x243170=a58_0x843b61,_0x300734=_0x2b5b8d[_0x243170(0xba)](_0x243170(0xe3)),_0x5a3ee0=await listRuntimeSchedules(_0x2b5b8d[_0x243170(0xb8)],{'kind':_0x2b5b8d['str']('kind'),'limit':_0x2b5b8d[_0x243170(0xa8)](_0x243170(0xc1)),..._0x300734?{'cursor':_0x300734}:{}});return{'ok':!![],'data':_0x5a3ee0};}},scheduleDetail={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xc2),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':a58_0x843b61(0xd7),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x6c43d2){const _0x289e80=a58_0x843b61,_0x552efd=await getRuntimeSchedule(_0x6c43d2['appCode'],_0x6c43d2[_0x289e80(0xba)](_0x289e80(0xa5)));return{'ok':!![],'data':_0x552efd};}},scheduleRun={'service':a58_0x843b61(0xc4),'command':a58_0x843b61(0xd1),'description':a58_0x843b61(0xb5),'risk':'high-risk-write','confirmationDescription':a58_0x843b61(0xbb),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x21e827){const _0x408d80=a58_0x843b61,_0x14fd83=_0x21e827[_0x408d80(0xba)](_0x408d80(0xa5)),_0x1d941d=await runRuntimeSchedule(_0x21e827[_0x408d80(0xb8)],_0x14fd83);return{'ok':!![],'data':_0x1d941d,'message':_0x408d80(0xa4)+_0x1d941d['taskId']+_0x408d80(0xc9)+_0x14fd83};},async 'dryRun'(_0x44f078){const _0x44d3f6=a58_0x843b61,_0x2ee344=_0x44f078[_0x44d3f6(0xba)]('schedule-id');return dryRun(_0x44d3f6(0xc8),scheduleItemPath(_0x44f078[_0x44d3f6(0xb8)],_0x2ee344)+_0x44d3f6(0xd4))[_0x44d3f6(0xac)]('Preview:\x20run\x20schedule\x20'+_0x2ee344+_0x44d3f6(0xbf))[_0x44d3f6(0xd8)]();}},scheduleDelete={'service':a58_0x843b61(0xc4),'command':'delete','description':a58_0x843b61(0xe1),'risk':a58_0x843b61(0xd5),'confirmationDescription':a58_0x843b61(0xb4),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2f9ea4){const _0x5a8951=a58_0x843b61,_0x1bbc05=_0x2f9ea4[_0x5a8951(0xba)](_0x5a8951(0xa5)),_0x10c969=await deleteRuntimeSchedule(_0x2f9ea4[_0x5a8951(0xb8)],_0x1bbc05);return{'ok':!![],'data':_0x10c969,'message':_0x5a8951(0xae)+_0x1bbc05};},async 'dryRun'(_0x4fb4c8){const _0x16fb82=a58_0x843b61,_0x501cc6=_0x4fb4c8[_0x16fb82(0xba)]('schedule-id');return dryRun(_0x16fb82(0xd0),scheduleItemPath(_0x4fb4c8[_0x16fb82(0xb8)],_0x501cc6))[_0x16fb82(0xac)](_0x16fb82(0xaa)+_0x501cc6)[_0x16fb82(0xd8)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
1
+ const a58_0x464476=a58_0x49a5;(function(_0x34fcd1,_0x25df9c){const _0x55788e=a58_0x49a5,_0x45ff4a=_0x34fcd1();while(!![]){try{const _0x4872ab=parseInt(_0x55788e(0x121))/0x1+-parseInt(_0x55788e(0x10a))/0x2+-parseInt(_0x55788e(0xfb))/0x3*(-parseInt(_0x55788e(0x124))/0x4)+parseInt(_0x55788e(0x114))/0x5*(-parseInt(_0x55788e(0x100))/0x6)+parseInt(_0x55788e(0x110))/0x7*(-parseInt(_0x55788e(0xea))/0x8)+parseInt(_0x55788e(0xe7))/0x9*(parseInt(_0x55788e(0x111))/0xa)+-parseInt(_0x55788e(0x115))/0xb*(-parseInt(_0x55788e(0xf9))/0xc);if(_0x4872ab===_0x25df9c)break;else _0x45ff4a['push'](_0x45ff4a['shift']());}catch(_0x423a35){_0x45ff4a['push'](_0x45ff4a['shift']());}}}(a58_0x79de,0xf33ce));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0x464476(0xfd),'type':a58_0x464476(0x107),'required':!![],'enum':[a58_0x464476(0x103),a58_0x464476(0x112)],'description':a58_0x464476(0x120)},CRON_FLAG={'name':a58_0x464476(0x106),'type':a58_0x464476(0x107),'description':a58_0x464476(0xe2)},SCHEDULED_AT_FLAG={'name':a58_0x464476(0xef),'type':a58_0x464476(0x107),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':a58_0x464476(0xed),'type':'string','required':!![],'description':a58_0x464476(0xf2)},PROMPT_FLAG={'name':a58_0x464476(0xe0),'type':a58_0x464476(0x107),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':'model','type':a58_0x464476(0x107),'enum':[a58_0x464476(0x113),a58_0x464476(0xdc),a58_0x464476(0x117)],'default':a58_0x464476(0xdc),'description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':'schedule-id','type':a58_0x464476(0x107),'required':!![],'description':a58_0x464476(0xf0),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a58_0x464476(0xe5)}},LIMIT_FLAG={'name':a58_0x464476(0x11a),'type':a58_0x464476(0xeb),'default':0x14,'description':a58_0x464476(0x11e)},CURSOR_FLAG={'name':a58_0x464476(0xfe),'type':a58_0x464476(0x107),'description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x3bad2b){const _0x182734=a58_0x464476,_0x3e8c6c=_0x3bad2b[_0x182734(0xe8)](_0x182734(0xfd)),_0x52782f=_0x3bad2b['str'](_0x182734(0xed))[_0x182734(0xf8)](),_0x2545a4=_0x3bad2b[_0x182734(0xe8)](_0x182734(0xe0))[_0x182734(0xf8)](),_0xc6f341=_0x3bad2b[_0x182734(0xe8)](_0x182734(0x105)),_0x3961e9=_0x3bad2b[_0x182734(0xe8)]('cron'),_0x27f322=_0x3bad2b[_0x182734(0xe8)]('scheduled-at');if(!_0x52782f)throw CliErrors['validation'](_0x182734(0xe3));if(!_0x2545a4)throw CliErrors[_0x182734(0xfa)](_0x182734(0xe6));if(_0x3e8c6c==='CRON'){if(!_0x3961e9||_0x27f322)throw CliErrors[_0x182734(0xfa)](_0x182734(0xf4));return{'kind':_0x3e8c6c,'timezone':_0x182734(0xf6),'cron':_0x3961e9,'title':_0x52782f,'prompt':_0x2545a4,'model':_0xc6f341};}if(_0x3e8c6c===_0x182734(0x112)){if(!_0x27f322||_0x3961e9)throw CliErrors[_0x182734(0xfa)](_0x182734(0x11f));return{'kind':_0x3e8c6c,'timezone':_0x182734(0xf6),'scheduledAt':_0x27f322,'title':_0x52782f,'prompt':_0x2545a4,'model':_0xc6f341};}throw CliErrors[_0x182734(0xfa)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function a58_0x79de(){const _0x216252=['CRON','Preview:\x20delete\x20schedule\x20','model','cron','string','length','/run','3389308rrabYr','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','DELETE','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','scheduleId','\x20schedule\x20','7XpHaPJ','53440lFfuVB','ONCE','kimi/k3','40wUSDSy','20537UCXWxb','taskId','deepseek-v4-pro-0813','body','Queued\x20Task\x20','limit','description','POST','Show\x20one\x20schedule\x20by\x20schedule\x20ID','Page\x20size\x20from\x201\x20to\x20100','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Schedule\x20kind:\x20CRON\x20or\x20ONCE','427224LHlmIv','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','appCode','13544BWpsum','deepseek-v4-flash-0731','read','create','Schedule\x20input\x20is\x20valid','prompt','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','--title\x20must\x20not\x20be\x20blank.','high-risk-write','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','--prompt\x20must\x20not\x20be\x20blank.','1476sJXpAH','str','detail','15470984WCjgdq','number','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','title','build','scheduled-at','Schedule\x20UUID','\x20from\x20schedule\x20','Schedule\x20title','schedule','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','Created\x20','UTC','delete','trim','15804VfuhZz','validation','1557xvUQkK','schedule-id','kind','cursor','Preview:\x20run\x20schedule\x20','671238aUoPVd','Deleted\x20schedule\x20','\x20immediately'];a58_0x79de=function(){return _0x216252;};return a58_0x79de();}function scheduleCollectionPath(_0x3e17f7){return'/api/harness/apps/'+encodeURIComponent(_0x3e17f7)+'/schedules';}function scheduleItemPath(_0x3f80c1,_0x1e2b16){return scheduleCollectionPath(_0x3f80c1)+'/'+encodeURIComponent(_0x1e2b16);}function a58_0x49a5(_0x2b3d4e,_0x277d8a){_0x2b3d4e=_0x2b3d4e-0xdc;const _0x79de18=a58_0x79de();let _0x49a53=_0x79de18[_0x2b3d4e];return _0x49a53;}const scheduleValidate={'service':'schedule','command':'validate','description':a58_0x464476(0x10d),'risk':a58_0x464476(0xdd),'flags':INPUT_FLAGS,async 'validate'(_0x41c930){readScheduleInput(_0x41c930);},async 'execute'(_0x2647e2){const _0x198c1d=a58_0x464476,_0x440ea8=readScheduleInput(_0x2647e2),_0x515420=await validateRuntimeSchedule(_0x2647e2[_0x198c1d(0x123)],_0x440ea8);return{'ok':!![],'data':_0x515420,'message':_0x198c1d(0xdf)};}},scheduleCreate={'service':a58_0x464476(0xf3),'command':a58_0x464476(0xde),'description':'Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','risk':'high-risk-write','confirmationDescription':'Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','flags':INPUT_FLAGS,async 'validate'(_0x567df7){readScheduleInput(_0x567df7);},async 'execute'(_0xd9328b){const _0x3c4fd9=a58_0x464476,_0x20fd6c=readScheduleInput(_0xd9328b),_0xa0d56=await validateRuntimeSchedule(_0xd9328b[_0x3c4fd9(0x123)],_0x20fd6c),_0x2ab319=await createRuntimeSchedule(_0xd9328b[_0x3c4fd9(0x123)],_0xa0d56);return{'ok':!![],'data':_0x2ab319,'message':_0x3c4fd9(0xf5)+_0x2ab319[_0x3c4fd9(0xfd)]+_0x3c4fd9(0x10f)+_0x2ab319[_0x3c4fd9(0x10e)]};},async 'dryRun'(_0x5e22d5){const _0x68d751=a58_0x464476,_0x3b7d4b=readScheduleInput(_0x5e22d5);return dryRun(_0x68d751(0x11c),scheduleCollectionPath(_0x5e22d5[_0x68d751(0x123)]))[_0x68d751(0x118)](_0x3b7d4b)['description']('Preview:\x20create\x20an\x20Agent\x20schedule')[_0x68d751(0xee)]();}},scheduleList={'service':a58_0x464476(0xf3),'command':'list','description':a58_0x464476(0x10b),'risk':a58_0x464476(0xdd),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x274f00){const _0x4125fb=a58_0x464476,_0x18b990=_0x274f00['num']('limit');if(!Number['isSafeInteger'](_0x18b990)||_0x18b990<0x1||_0x18b990>0x64)throw CliErrors[_0x4125fb(0xfa)](_0x4125fb(0xe1));const _0x449d21=_0x274f00['str']('cursor');if(_0x449d21&&(_0x449d21[_0x4125fb(0x108)]>0x400||_0x449d21[_0x4125fb(0xf8)]()!==_0x449d21))throw CliErrors[_0x4125fb(0xfa)](_0x4125fb(0x122));},async 'execute'(_0x59c0c1){const _0xdd209c=a58_0x464476,_0x1d73cb=_0x59c0c1[_0xdd209c(0xe8)]('cursor'),_0x3153f2=await listRuntimeSchedules(_0x59c0c1[_0xdd209c(0x123)],{'kind':_0x59c0c1[_0xdd209c(0xe8)]('kind'),'limit':_0x59c0c1['num'](_0xdd209c(0x11a)),..._0x1d73cb?{'cursor':_0x1d73cb}:{}});return{'ok':!![],'data':_0x3153f2};}},scheduleDetail={'service':'schedule','command':a58_0x464476(0xe9),'description':a58_0x464476(0x11d),'risk':'read','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1e84c7){const _0x522978=a58_0x464476,_0xcbb78d=await getRuntimeSchedule(_0x1e84c7['appCode'],_0x1e84c7[_0x522978(0xe8)](_0x522978(0xfc)));return{'ok':!![],'data':_0xcbb78d};}},scheduleRun={'service':a58_0x464476(0xf3),'command':'run','description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':'high-risk-write','confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0xee86a7){const _0x281121=a58_0x464476,_0x16772b=_0xee86a7[_0x281121(0xe8)](_0x281121(0xfc)),_0x1179c8=await runRuntimeSchedule(_0xee86a7[_0x281121(0x123)],_0x16772b);return{'ok':!![],'data':_0x1179c8,'message':_0x281121(0x119)+_0x1179c8[_0x281121(0x116)]+_0x281121(0xf1)+_0x16772b};},async 'dryRun'(_0x2fc9b6){const _0x2d7fd0=a58_0x464476,_0x3d6213=_0x2fc9b6[_0x2d7fd0(0xe8)]('schedule-id');return dryRun(_0x2d7fd0(0x11c),scheduleItemPath(_0x2fc9b6['appCode'],_0x3d6213)+_0x2d7fd0(0x109))[_0x2d7fd0(0x11b)](_0x2d7fd0(0xff)+_0x3d6213+_0x2d7fd0(0x102))[_0x2d7fd0(0xee)]();}},scheduleDelete={'service':a58_0x464476(0xf3),'command':a58_0x464476(0xf7),'description':a58_0x464476(0xec),'risk':a58_0x464476(0xe4),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2ad95c){const _0x37792e=a58_0x464476,_0x1c4472=_0x2ad95c[_0x37792e(0xe8)](_0x37792e(0xfc)),_0x42f9ee=await deleteRuntimeSchedule(_0x2ad95c[_0x37792e(0x123)],_0x1c4472);return{'ok':!![],'data':_0x42f9ee,'message':_0x37792e(0x101)+_0x1c4472};},async 'dryRun'(_0x485036){const _0x58aaec=a58_0x464476,_0x153459=_0x485036[_0x58aaec(0xe8)]('schedule-id');return dryRun(_0x58aaec(0x10c),scheduleItemPath(_0x485036[_0x58aaec(0x123)],_0x153459))['description'](_0x58aaec(0x104)+_0x153459)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
@@ -1 +1 @@
1
- const a59_0x4cbb19=a59_0x2a56;(function(_0x123402,_0x10ccc2){const _0x3b0c07=a59_0x2a56,_0x4e3df3=_0x123402();while(!![]){try{const _0x36a1ca=parseInt(_0x3b0c07(0x145))/0x1*(-parseInt(_0x3b0c07(0x148))/0x2)+-parseInt(_0x3b0c07(0x152))/0x3*(parseInt(_0x3b0c07(0x147))/0x4)+parseInt(_0x3b0c07(0x150))/0x5*(parseInt(_0x3b0c07(0x144))/0x6)+parseInt(_0x3b0c07(0x14d))/0x7+-parseInt(_0x3b0c07(0x149))/0x8*(-parseInt(_0x3b0c07(0x14a))/0x9)+parseInt(_0x3b0c07(0x153))/0xa*(parseInt(_0x3b0c07(0x146))/0xb)+parseInt(_0x3b0c07(0x14c))/0xc*(parseInt(_0x3b0c07(0x151))/0xd);if(_0x36a1ca===_0x10ccc2)break;else _0x4e3df3['push'](_0x4e3df3['shift']());}catch(_0x3d69d1){_0x4e3df3['push'](_0x4e3df3['shift']());}}}(a59_0x2461,0x51e47));import{buildSchemaPayload}from'../framework/schema-export.js';function a59_0x2a56(_0x1c664f,_0x1e757d){_0x1c664f=_0x1c664f-0x144;const _0x246102=a59_0x2461();let _0x2a56d9=_0x246102[_0x1c664f];return _0x2a56d9;}async function execute(_0x1a7c73){const _0x9b770=await buildSchemaPayload();return{'ok':!![],'data':_0x9b770};}function a59_0x2461(){const _0x184dfb=['2431YVherf','1044216ngQkFx','370900sRXpLO','6TSvWEe','8HnDbYv','11XVTUIz','4Xrrrih','122044iQTXMM','54608pCMmlh','9JIUwnG','export','10632StloEa','2897762CHkqSp','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','2740575jrbbec'];a59_0x2461=function(){return _0x184dfb;};return a59_0x2461();}export const schemaDefinition={'service':a59_0x4cbb19(0x14e),'command':a59_0x4cbb19(0x14b),'description':a59_0x4cbb19(0x14f),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a59_0x40bc20=a59_0x24cb;(function(_0x242bcc,_0x49b39c){const _0x2c16d5=a59_0x24cb,_0xdcc754=_0x242bcc();while(!![]){try{const _0x2638c2=-parseInt(_0x2c16d5(0x191))/0x1+-parseInt(_0x2c16d5(0x197))/0x2+-parseInt(_0x2c16d5(0x194))/0x3+-parseInt(_0x2c16d5(0x196))/0x4+-parseInt(_0x2c16d5(0x193))/0x5+-parseInt(_0x2c16d5(0x195))/0x6+parseInt(_0x2c16d5(0x190))/0x7;if(_0x2638c2===_0x49b39c)break;else _0xdcc754['push'](_0xdcc754['shift']());}catch(_0x33e5ce){_0xdcc754['push'](_0xdcc754['shift']());}}}(a59_0x1344,0xa6286));function a59_0x24cb(_0x505362,_0x3555a6){_0x505362=_0x505362-0x190;const _0x13447c=a59_0x1344();let _0x24cb86=_0x13447c[_0x505362];return _0x24cb86;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xc27964){const _0x422441=await buildSchemaPayload();return{'ok':!![],'data':_0x422441};}function a59_0x1344(){const _0x1d5974=['849617UXIikB','schema','4103420KEJUns','2655078LNUcEv','4628286tgaWjX','2506052iBHPmS','2335888qeIILf','40612229sjLnOb'];a59_0x1344=function(){return _0x1d5974;};return a59_0x1344();}export const schemaDefinition={'service':a59_0x40bc20(0x192),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x18d280,_0x193775){const _0x2efb62=a60_0x5660,_0x1d6536=_0x18d280();while(!![]){try{const _0x316d0e=-parseInt(_0x2efb62(0x1a1))/0x1*(parseInt(_0x2efb62(0x192))/0x2)+-parseInt(_0x2efb62(0x16a))/0x3+parseInt(_0x2efb62(0x1b0))/0x4*(-parseInt(_0x2efb62(0x1b9))/0x5)+parseInt(_0x2efb62(0x187))/0x6*(-parseInt(_0x2efb62(0x1bb))/0x7)+-parseInt(_0x2efb62(0x1b6))/0x8+parseInt(_0x2efb62(0x166))/0x9+parseInt(_0x2efb62(0x163))/0xa;if(_0x316d0e===_0x193775)break;else _0x1d6536['push'](_0x1d6536['shift']());}catch(_0x445181){_0x1d6536['push'](_0x1d6536['shift']());}}}(a60_0x1f8d,0xd86e7));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(_0x19d3e3,_0x755b43){const _0x4f8fd7=a60_0x5660,_0x156a20=listLocalServiceTrees();let _0x2a506c;for(const _0x25faa8 of _0x156a20){const _0x32e3dd=matchServiceTreeCommand(_0x25faa8,_0x19d3e3);if(!_0x32e3dd)continue;(!_0x2a506c||_0x32e3dd[_0x4f8fd7(0x19d)][_0x4f8fd7(0x1b1)]['length']>_0x2a506c['command'][_0x4f8fd7(0x1b1)][_0x4f8fd7(0x188)])&&(_0x2a506c={'tree':_0x25faa8,'command':_0x32e3dd[_0x4f8fd7(0x19d)],'remainingArgs':_0x32e3dd['remainingArgs']});}if(!_0x2a506c)return undefined;const _0x508844={..._0x755b43};return applyAppBinding(_0x2a506c[_0x4f8fd7(0x165)],_0x2a506c[_0x4f8fd7(0x19d)],_0x508844),{'definition':buildDynamicCommandDefinition(_0x2a506c[_0x4f8fd7(0x165)],_0x2a506c[_0x4f8fd7(0x19d)]),'args':_0x2a506c[_0x4f8fd7(0x199)],'flags':_0x508844,'tree':_0x2a506c[_0x4f8fd7(0x165)],'command':_0x2a506c['command']};}function a60_0x5660(_0x4bb1d5,_0x575a22){_0x4bb1d5=_0x4bb1d5-0x156;const _0x1f8de5=a60_0x1f8d();let _0x5660f7=_0x1f8de5[_0x4bb1d5];return _0x5660f7;}export function generateDynamicServiceHelp(_0x2b285f){const _0x52e449=a60_0x5660,_0x2417db=listLocalServiceTrees()[_0x52e449(0x16b)](_0x47cec6=>_0x47cec6[_0x52e449(0x17d)][_0x52e449(0x18f)]===_0x2b285f);if(!_0x2417db)return undefined;const _0x4f978d=[CLI_BIN_NAME+'\x20'+_0x2b285f+_0x52e449(0x19f),'',_0x2417db[_0x52e449(0x17d)][_0x52e449(0x15e)]||_0x2b285f,_0x2417db['service'][_0x52e449(0x198)]?'\x20\x20'+_0x2417db[_0x52e449(0x17d)]['description']:'','',_0x52e449(0x17b),..._0x2417db[_0x52e449(0x18b)][_0x52e449(0x1b2)](_0x1a453d=>{const _0x523ed8=_0x52e449,_0x233410=_0x1a453d[_0x523ed8(0x1b1)][_0x523ed8(0x16e)](0x1)['join']('\x20'),_0x35c3d4=_0x1a453d[_0x523ed8(0x19c)]===_0x523ed8(0x1ae)?'':'\x20['+_0x1a453d['risk']+']';return'\x20\x20'+_0x233410[_0x523ed8(0x175)](0x18)+'\x20'+(_0x1a453d['description']||'')+_0x35c3d4;}),'',_0x52e449(0x1bc)+CLI_BIN_NAME+_0x52e449(0x162)+_0x2b285f+_0x52e449(0x196)][_0x52e449(0x177)](Boolean);return _0x4f978d[_0x52e449(0x1a7)]('\x0a');}export function listDynamicServiceEntries(){const _0x46a4fd=a60_0x5660;return listLocalServices()[_0x46a4fd(0x1b2)](_0x11b3c7=>{const _0x43bb11=_0x46a4fd,_0x3dea64=_0x11b3c7[_0x43bb11(0x18d)];return{'service':_0x3dea64['service'][_0x43bb11(0x18f)],'label':_0x3dea64['service'][_0x43bb11(0x15e)]||_0x3dea64[_0x43bb11(0x17d)][_0x43bb11(0x18f)],'commands':_0x3dea64[_0x43bb11(0x18b)][_0x43bb11(0x1b2)](_0x343f73=>({'command':dynamicCommandName(_0x343f73),'description':_0x343f73['description']||'Run\x20service\x20command\x20'+_0x343f73['cliPath'],'tag':riskTag(_0x343f73[_0x43bb11(0x19c)])}))};});}export function getDynamicServiceEntry(_0x24024e){const _0x1b6243=a60_0x5660;return listDynamicServiceEntries()[_0x1b6243(0x16b)](_0x52ad17=>_0x52ad17[_0x1b6243(0x17d)]===_0x24024e);}export function listDynamicServiceDefinitions(_0x43ebfa){const _0x5ee433=a60_0x5660;return listLocalServiceTrees()[_0x5ee433(0x177)](_0xb62fbc=>!_0x43ebfa||_0xb62fbc[_0x5ee433(0x17d)][_0x5ee433(0x18f)]===_0x43ebfa)['flatMap'](_0x2d57c8=>_0x2d57c8[_0x5ee433(0x18b)][_0x5ee433(0x1b2)](_0x58d0e8=>buildDynamicCommandDefinition(_0x2d57c8,_0x58d0e8)));}export function getDynamicServiceDefinitions(_0x3a10bd){const _0x531ce8=a60_0x5660,_0x444da1=listDynamicServiceDefinitions(_0x3a10bd);return _0x444da1[_0x531ce8(0x188)]>0x0?_0x444da1:undefined;}export function findDynamicServiceDefinition(_0x4e56f8,_0x3e2b81){const _0x19f138=a60_0x5660;return listDynamicServiceDefinitions(_0x4e56f8)['find'](_0x1e464d=>_0x1e464d[_0x19f138(0x19d)]===_0x3e2b81);}export function buildDynamicCommandDefinition(_0x139df6,_0x558b34){const _0x2320e1=a60_0x5660;return{'service':_0x139df6[_0x2320e1(0x17d)][_0x2320e1(0x18f)],'command':dynamicCommandName(_0x558b34),'description':_0x558b34['description']||_0x2320e1(0x1ac)+_0x558b34[_0x2320e1(0x1a3)],'risk':_0x558b34[_0x2320e1(0x19c)],..._0x558b34[_0x2320e1(0x19c)]===_0x2320e1(0x1ae)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x558b34)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x558b34[_0x2320e1(0x167)]['map'](_0x8de025=>({'name':_0x8de025[_0x2320e1(0x15e)],'description':_0x8de025[_0x2320e1(0x198)]||_0x8de025[_0x2320e1(0x15e)],'required':_0x8de025[_0x2320e1(0x1a2)]})),'flags':_0x558b34[_0x2320e1(0x171)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x558b34),async 'dryRun'(_0x4269e7){const _0x19054e=_0x2320e1,_0xc2e7d4=await compilePlan(_0x558b34,_0x4269e7);return{'method':_0x19054e(0x157),'url':_0x558b34[_0x19054e(0x1a3)],'body':{'target':targetPreview(_0xc2e7d4),'params':_0xc2e7d4['params']},'description':_0x19054e(0x1bd)+_0x558b34[_0x19054e(0x1a3)]};},async 'execute'(_0x257d5c){const _0x3b8a8e=_0x2320e1,_0x9af2cc=await compilePlan(_0x558b34,_0x257d5c),_0xa00622=Date['now'](),_0x1e8a4e=await executePlan(_0x9af2cc,_0x558b34,_0x257d5c),_0x4f6085=Date['now']()-_0xa00622;return{'ok':!![],'data':{'service':_0x139df6['service'],'command':_0x558b34[_0x3b8a8e(0x1a3)],'target':targetPreview(_0x9af2cc),'result':_0x1e8a4e,'elapsed':_0x4f6085},'message':_0x3b8a8e(0x17f)+_0x558b34['cliPath']+_0x3b8a8e(0x176)+_0x4f6085+'ms'};}};}function buildDynamicConfirmationDescription(_0x45474c){const _0x2537f9=a60_0x5660,_0x800f31=_0x45474c['description']||_0x45474c[_0x2537f9(0x1a3)],_0x336652=_0x45474c[_0x2537f9(0x19c)]==='high-risk-write'?_0x2537f9(0x17c):_0x2537f9(0x15b);return _0x2537f9(0x1a0)+_0x800f31+_0x2537f9(0x1b3)+_0x336652;}function dynamicCommandName(_0x49c130){const _0x50725c=a60_0x5660;return _0x49c130['fullPath'][_0x50725c(0x16e)](0x1)['join']('\x20');}function a60_0x1f8d(){const _0x50796a=['params','\x22\x20in\x20service\x20command\x20','appBindings','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','tableName','datatable','name','\x20\x20MAP\x20TO','\x20\x20\x20\x20functionName:\x20','startsWith','\x20service\x20detail\x20--service\x20','22581890hlMMWh','fromEntries','tree','10016127gjWVih','args','bffCode','default','3515898zUlUVU','find','push','\x20requires\x20target.sqlCode.','slice','employeeId','nickName','flags','type','number','kind','padEnd','\x20completed\x20in\x20','filter','\x20\x20\x20\x20sqlCode:\x20','scriptName','dbtableConfig','Commands:','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','service','boolean','Service\x20command\x20','env','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','rawFlags','userName','appcode','loginName','tenantCode','204xLCuOE','length','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','username','commands','bff','normalizedManifest','\x20\x20SERVICE\x20TREE\x20TARGET','code','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20\x20\x20\x20datatable:\x20','9862qqNAUM','string','entries','operator','`\x20to\x20inspect\x20the\x20manifest.','appCode','description','remainingArgs','source','target','risk','command','bffId','\x20<command>\x20[flags]','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','23npLmrt','required','cliPath','validation','sqlCode','\x20\x20[','join','Unknown\x20appRef\x20\x22','appRef','datasetCode','cliName','Run\x20service\x20command\x20','\x20requires\x20target.functionName.','read','json','4fwVvXg','fullPath','map','\x22.\x20','mapTo','\x20\x20\x20\x20kind:\x20\x20\x20\x20','5809584xGiMXz','trim','app','1306640EVMkpP','envName','43582QgzqMg','Use\x20`','Preview\x20dynamic\x20service\x20command:\x20','const','SERVICE_TREE'];a60_0x1f8d=function(){return _0x50796a;};return a60_0x1f8d();}function riskTag(_0x280795){const _0x30015c=a60_0x5660;return _0x280795==='read'?'':_0x30015c(0x1a6)+_0x280795+']';}function flagToCommandFlag(_0x30a089){const _0x479cb6=a60_0x5660;return{'name':_0x30a089[_0x479cb6(0x1ab)],'type':_0x30a089['type']===_0x479cb6(0x1af)?'string':_0x30a089[_0x479cb6(0x172)],'description':_0x30a089[_0x479cb6(0x198)]||_0x30a089[_0x479cb6(0x15e)],'required':_0x30a089[_0x479cb6(0x1a2)],'default':isPrimitiveFlagDefault(_0x30a089[_0x479cb6(0x169)])?_0x30a089[_0x479cb6(0x169)]:undefined,'enum':_0x30a089['enum']};}async function compilePlan(_0x1c2f07,_0x1a39a0){const _0x522b15=a60_0x5660;return compileServiceTreeCommand(_0x1c2f07,{'flags':_0x1a39a0[_0x522b15(0x182)],'args':_0x1a39a0[_0x522b15(0x167)],'context':await buildServiceContext(_0x1c2f07,_0x1a39a0)});}async function buildServiceContext(_0x117d85,_0x37f5d5){const _0x4cc0e2=a60_0x5660,_0x3508eb={'appCode':_0x37f5d5['appCode'],'env':_0x37f5d5['envName'],'envName':_0x37f5d5[_0x4cc0e2(0x1ba)]};if(!usesRuntimeContext(_0x117d85))return _0x3508eb;const _0x1ea74e=await getLoginUserInfo(),_0x17b9c8=pickFirst(_0x1ea74e['userId'],_0x1ea74e['id']);return{..._0x3508eb,'user':_0x1ea74e,'userId':_0x17b9c8,'id':_0x1ea74e['id'],'username':pickFirst(_0x1ea74e[_0x4cc0e2(0x18a)],_0x1ea74e[_0x4cc0e2(0x183)],_0x1ea74e[_0x4cc0e2(0x185)]),'userName':_0x1ea74e[_0x4cc0e2(0x183)],'nickname':pickFirst(_0x1ea74e['nickname'],_0x1ea74e[_0x4cc0e2(0x170)]),'nickName':_0x1ea74e['nickName'],'tenantCode':_0x1ea74e[_0x4cc0e2(0x186)],'employeeId':_0x1ea74e[_0x4cc0e2(0x16f)]};}function usesRuntimeContext(_0xacf743){const _0x16f8b9=a60_0x5660;return _0xacf743['mapTo']['some'](_0x45cbfe=>typeof _0x45cbfe[_0x16f8b9(0x19a)]==='string'&&(_0x45cbfe[_0x16f8b9(0x19a)][_0x16f8b9(0x161)]('context.')||_0x45cbfe[_0x16f8b9(0x19a)][_0x16f8b9(0x161)]('ctx.')));}function pickFirst(..._0x3d067b){const _0x51667f=a60_0x5660;return _0x3d067b[_0x51667f(0x16b)](_0x4c3be4=>_0x4c3be4!==undefined&&_0x4c3be4!==null);}async function executePlan(_0x4cb318,_0x15ee7c,_0x340976){const _0xf8ba55=a60_0x5660;if(_0x4cb318[_0xf8ba55(0x174)]==='data'){const _0x344b45=await resolveDatasetCode(_0x4cb318,_0x15ee7c,_0x340976);return executeData(_0x344b45,_0x4cb318[_0xf8ba55(0x19d)],_0x4cb318[_0xf8ba55(0x158)]);}if(_0x4cb318['kind']==='sql'){if(!_0x4cb318[_0xf8ba55(0x1a5)])throw CliErrors[_0xf8ba55(0x1a4)]('Service\x20command\x20'+_0x15ee7c[_0xf8ba55(0x1a3)]+_0xf8ba55(0x16d));return executeSdkSql(_0x4cb318[_0xf8ba55(0x1a5)],normalizeScalarParams(_0x4cb318[_0xf8ba55(0x158)]));}if(_0x4cb318[_0xf8ba55(0x174)]===_0xf8ba55(0x18c)){const _0x57eb42=_0x4cb318[_0xf8ba55(0x179)]||_0x4cb318['bffCode']||(_0x4cb318['bffId']==null?'':String(_0x4cb318[_0xf8ba55(0x19e)]));if(!_0x57eb42)throw CliErrors[_0xf8ba55(0x1a4)](_0xf8ba55(0x17f)+_0x15ee7c['cliPath']+_0xf8ba55(0x1ad));return executeSdkBff(_0x57eb42,_0x4cb318[_0xf8ba55(0x158)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x4cb318['kind']);}async function resolveDatasetCode(_0x154c54,_0x26f0e6,_0x10efc0){const _0x462a81=a60_0x5660;if(_0x154c54[_0x462a81(0x1aa)])return _0x154c54[_0x462a81(0x1aa)];if(!_0x154c54[_0x462a81(0x15d)])throw CliErrors['validation']('Service\x20command\x20'+_0x26f0e6[_0x462a81(0x1a3)]+_0x462a81(0x181));const _0x20042c=await listDatasets(_0x10efc0['appCode']),_0x38abb1=_0x20042c[_0x462a81(0x16b)](_0xe20887=>_0xe20887[_0x462a81(0x17a)]?.[_0x462a81(0x15c)]===_0x154c54[_0x462a81(0x15d)]);if(!_0x38abb1?.[_0x462a81(0x18f)])throw CliErrors[_0x462a81(0x1a4)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x154c54['datatable']+_0x462a81(0x190)+_0x10efc0[_0x462a81(0x197)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x38abb1[_0x462a81(0x18f)];}function applyAppBinding(_0x562d1b,_0x395549,_0x2b74fb){const _0x21f299=a60_0x5660,_0x1c9891=_0x395549[_0x21f299(0x19b)]['appRef'];if(!_0x1c9891)return;const _0x3e0b5d=_0x562d1b[_0x21f299(0x15a)][_0x1c9891];if(!_0x3e0b5d)throw CliErrors['validation'](_0x21f299(0x1a8)+_0x1c9891+_0x21f299(0x159)+_0x395549['cliPath']+'.',_0x21f299(0x189));const _0x5332c5=_0x3e0b5d[_0x21f299(0x184)]||_0x3e0b5d[_0x21f299(0x197)];_0x5332c5&&!hasText(_0x2b74fb[_0x21f299(0x184)])&&(_0x2b74fb[_0x21f299(0x184)]=_0x5332c5),_0x3e0b5d[_0x21f299(0x1b8)]&&!hasText(_0x2b74fb[_0x21f299(0x1b8)])&&!hasText(_0x2b74fb[_0x21f299(0x184)])&&(_0x2b74fb[_0x21f299(0x1b8)]=_0x3e0b5d[_0x21f299(0x1b8)]),_0x3e0b5d[_0x21f299(0x180)]&&!hasText(_0x2b74fb['env'])&&(_0x2b74fb['env']=_0x3e0b5d[_0x21f299(0x180)]);}function renderDynamicCommandHelp(_0xe3c2d9){const _0x549174=a60_0x5660,_0x391d44=[_0x549174(0x18e),_0x549174(0x1b5)+_0xe3c2d9[_0x549174(0x19b)]['kind'],'\x20\x20\x20\x20command:\x20'+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x19d)]];if(_0xe3c2d9['target'][_0x549174(0x1aa)])_0x391d44['push']('\x20\x20\x20\x20datasetCode:\x20'+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1aa)]);if(_0xe3c2d9['target']['datatable'])_0x391d44[_0x549174(0x16c)](_0x549174(0x191)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x15d)]);if(_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1a5)])_0x391d44[_0x549174(0x16c)](_0x549174(0x178)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x1a5)]);if(_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x179)])_0x391d44[_0x549174(0x16c)](_0x549174(0x160)+_0xe3c2d9[_0x549174(0x19b)][_0x549174(0x179)]);if(_0xe3c2d9[_0x549174(0x1b4)][_0x549174(0x188)]>0x0){_0x391d44[_0x549174(0x16c)]('',_0x549174(0x15f));for(const _0x3bf970 of _0xe3c2d9[_0x549174(0x1b4)]){_0x391d44[_0x549174(0x16c)]('\x20\x20\x20\x20'+(_0x3bf970[_0x549174(0x19a)]||_0x549174(0x156))+'\x20->\x20'+_0x3bf970[_0x549174(0x19b)]+(_0x3bf970[_0x549174(0x195)]?'.'+_0x3bf970[_0x549174(0x195)]:''));}}return _0x391d44[_0x549174(0x1a7)]('\x0a');}function targetPreview(_0x684f2f){const _0x27c55a=a60_0x5660;return{'kind':_0x684f2f['kind'],'command':_0x684f2f[_0x27c55a(0x19d)],'appRef':_0x684f2f[_0x27c55a(0x1a9)],'datasetCode':_0x684f2f[_0x27c55a(0x1aa)],'datatable':_0x684f2f[_0x27c55a(0x15d)],'sqlCode':_0x684f2f[_0x27c55a(0x1a5)],'bffCode':_0x684f2f[_0x27c55a(0x168)],'bffId':_0x684f2f[_0x27c55a(0x19e)],'functionName':_0x684f2f[_0x27c55a(0x179)]};}function normalizeScalarParams(_0x285e0e){const _0x577e0d=a60_0x5660;return Object[_0x577e0d(0x164)](Object[_0x577e0d(0x194)](_0x285e0e)[_0x577e0d(0x177)](([,_0x4371b5])=>typeof _0x4371b5===_0x577e0d(0x193)||typeof _0x4371b5===_0x577e0d(0x173)));}function hasText(_0x1c9876){const _0xa17b36=a60_0x5660;return typeof _0x1c9876===_0xa17b36(0x193)&&_0x1c9876[_0xa17b36(0x1b7)]()[_0xa17b36(0x188)]>0x0;}function isPrimitiveFlagDefault(_0x47758a){const _0x5d01e3=a60_0x5660;return _0x47758a===undefined||typeof _0x47758a===_0x5d01e3(0x193)||typeof _0x47758a===_0x5d01e3(0x173)||typeof _0x47758a===_0x5d01e3(0x17e);}
1
+ (function(_0x2e6ff5,_0x274423){const _0x4c2854=a60_0x24a8,_0x352f98=_0x2e6ff5();while(!![]){try{const _0x43ecbc=-parseInt(_0x4c2854(0x21d))/0x1+-parseInt(_0x4c2854(0x1de))/0x2*(parseInt(_0x4c2854(0x1e4))/0x3)+parseInt(_0x4c2854(0x205))/0x4*(parseInt(_0x4c2854(0x1ba))/0x5)+-parseInt(_0x4c2854(0x1f1))/0x6+-parseInt(_0x4c2854(0x1ee))/0x7*(parseInt(_0x4c2854(0x209))/0x8)+-parseInt(_0x4c2854(0x1ea))/0x9*(parseInt(_0x4c2854(0x1bd))/0xa)+parseInt(_0x4c2854(0x1c1))/0xb;if(_0x43ecbc===_0x274423)break;else _0x352f98['push'](_0x352f98['shift']());}catch(_0x200f36){_0x352f98['push'](_0x352f98['shift']());}}}(a60_0x4de0,0x37c97));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(_0x5e6bb7,_0x8ee7da){const _0x51ef0a=a60_0x24a8,_0x3bec3e=listLocalServiceTrees();let _0x2b7bc1;for(const _0x14c6c9 of _0x3bec3e){const _0x5274d6=matchServiceTreeCommand(_0x14c6c9,_0x5e6bb7);if(!_0x5274d6)continue;(!_0x2b7bc1||_0x5274d6[_0x51ef0a(0x1d9)][_0x51ef0a(0x1c2)]['length']>_0x2b7bc1[_0x51ef0a(0x1d9)]['fullPath']['length'])&&(_0x2b7bc1={'tree':_0x14c6c9,'command':_0x5274d6[_0x51ef0a(0x1d9)],'remainingArgs':_0x5274d6[_0x51ef0a(0x1e7)]});}if(!_0x2b7bc1)return undefined;const _0x11afcc={..._0x8ee7da};return applyAppBinding(_0x2b7bc1['tree'],_0x2b7bc1[_0x51ef0a(0x1d9)],_0x11afcc),{'definition':buildDynamicCommandDefinition(_0x2b7bc1['tree'],_0x2b7bc1[_0x51ef0a(0x1d9)]),'args':_0x2b7bc1[_0x51ef0a(0x1e7)],'flags':_0x11afcc,'tree':_0x2b7bc1[_0x51ef0a(0x21c)],'command':_0x2b7bc1['command']};}function a60_0x4de0(){const _0x43cfc2=['risk','flatMap','1785028QqxhoO','normalizedManifest','context.','1521900yuvAAf','number','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','join','nickName','scriptName','description','required','startsWith','Run\x20service\x20command\x20','trim','\x20\x20SERVICE\x20TREE\x20TARGET','Unknown\x20appRef\x20\x22','cliPath','username','Use\x20`','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','name','\x20\x20\x20\x20datatable:\x20','nickname','121372pqnyMd','datasetCode','boolean','appCode','8kLsGDA','read','tableName','high-risk-write','entries','\x22.\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','sqlCode','userName','padEnd','length','tenantCode','source','type','map','envName','\x20\x20\x20\x20command:\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20\x20\x20','tree','380035ESkkxq','commands','mapTo','service','filter','\x20\x20\x20\x20sqlCode:\x20','args','\x20\x20MAP\x20TO','string','push','\x20service\x20detail\x20--service\x20','default','5YufbAj','bffId','rawFlags','1780sxueBL','app','now','datatable','14692392UHTbUq','fullPath','target','find','employeeId','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','some','Commands:','fromEntries','operator','ctx.','dbtableConfig','env','\x20\x20\x20\x20functionName:\x20','kind','\x20\x20[','data','cliName','bff','appRef','\x22\x20in\x20service\x20command\x20','flags','enum','\x20requires\x20target.functionName.','command','\x20requires\x20target.sqlCode.','appcode','validation','\x20\x20\x20\x20datasetCode:\x20','10xLAOmV','SERVICE_TREE','Preview\x20dynamic\x20service\x20command:\x20','params','bffCode','code','39183rhvDvJ','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','remainingArgs','Service\x20command\x20','const','9279LLCzpi','slice'];a60_0x4de0=function(){return _0x43cfc2;};return a60_0x4de0();}export function generateDynamicServiceHelp(_0x1ec305){const _0x2046a2=a60_0x24a8,_0x2c9fab=listLocalServiceTrees()[_0x2046a2(0x1c4)](_0x314028=>_0x314028[_0x2046a2(0x220)][_0x2046a2(0x1e3)]===_0x1ec305);if(!_0x2c9fab)return undefined;const _0x553bd2=[CLI_BIN_NAME+'\x20'+_0x1ec305+'\x20<command>\x20[flags]','',_0x2c9fab[_0x2046a2(0x220)][_0x2046a2(0x202)]||_0x1ec305,_0x2c9fab[_0x2046a2(0x220)]['description']?'\x20\x20'+_0x2c9fab[_0x2046a2(0x220)]['description']:'','',_0x2046a2(0x1c8),..._0x2c9fab['commands'][_0x2046a2(0x217)](_0x4217c0=>{const _0xf77f9d=_0x2046a2,_0x25ae83=_0x4217c0[_0xf77f9d(0x1c2)][_0xf77f9d(0x1eb)](0x1)[_0xf77f9d(0x1f4)]('\x20'),_0x318d67=_0x4217c0[_0xf77f9d(0x1ec)]===_0xf77f9d(0x20a)?'':'\x20['+_0x4217c0[_0xf77f9d(0x1ec)]+']';return'\x20\x20'+_0x25ae83[_0xf77f9d(0x212)](0x18)+'\x20'+(_0x4217c0[_0xf77f9d(0x1f7)]||'')+_0x318d67;}),'',_0x2046a2(0x200)+CLI_BIN_NAME+_0x2046a2(0x1b8)+_0x1ec305+_0x2046a2(0x1e5)]['filter'](Boolean);return _0x553bd2[_0x2046a2(0x1f4)]('\x0a');}export function listDynamicServiceEntries(){const _0x30b5c6=a60_0x24a8;return listLocalServices()[_0x30b5c6(0x217)](_0x3dbcfd=>{const _0x3a3075=_0x30b5c6,_0x3bac75=_0x3dbcfd[_0x3a3075(0x1ef)];return{'service':_0x3bac75[_0x3a3075(0x220)]['code'],'label':_0x3bac75[_0x3a3075(0x220)][_0x3a3075(0x202)]||_0x3bac75[_0x3a3075(0x220)][_0x3a3075(0x1e3)],'commands':_0x3bac75[_0x3a3075(0x21e)][_0x3a3075(0x217)](_0x1d1be6=>({'command':dynamicCommandName(_0x1d1be6),'description':_0x1d1be6[_0x3a3075(0x1f7)]||'Run\x20service\x20command\x20'+_0x1d1be6['cliPath'],'tag':riskTag(_0x1d1be6[_0x3a3075(0x1ec)])}))};});}export function getDynamicServiceEntry(_0x2786b7){const _0x570a94=a60_0x24a8;return listDynamicServiceEntries()[_0x570a94(0x1c4)](_0x19d291=>_0x19d291['service']===_0x2786b7);}export function listDynamicServiceDefinitions(_0x5e5116){const _0x2b727d=a60_0x24a8;return listLocalServiceTrees()[_0x2b727d(0x221)](_0x443a8f=>!_0x5e5116||_0x443a8f[_0x2b727d(0x220)][_0x2b727d(0x1e3)]===_0x5e5116)[_0x2b727d(0x1ed)](_0x48eadc=>_0x48eadc[_0x2b727d(0x21e)]['map'](_0x377d59=>buildDynamicCommandDefinition(_0x48eadc,_0x377d59)));}export function getDynamicServiceDefinitions(_0x4824bc){const _0x1dfd4f=a60_0x24a8,_0x136930=listDynamicServiceDefinitions(_0x4824bc);return _0x136930[_0x1dfd4f(0x213)]>0x0?_0x136930:undefined;}function a60_0x24a8(_0x5dc525,_0x4c651f){_0x5dc525=_0x5dc525-0x1b5;const _0x4de0b2=a60_0x4de0();let _0x24a85a=_0x4de0b2[_0x5dc525];return _0x24a85a;}export function findDynamicServiceDefinition(_0x2a5059,_0x2f7c9d){const _0xf4c7c5=a60_0x24a8;return listDynamicServiceDefinitions(_0x2a5059)['find'](_0x37bcd1=>_0x37bcd1[_0xf4c7c5(0x1d9)]===_0x2f7c9d);}export function buildDynamicCommandDefinition(_0x2b64fb,_0x1c64f4){const _0x5e376c=a60_0x24a8;return{'service':_0x2b64fb[_0x5e376c(0x220)]['code'],'command':dynamicCommandName(_0x1c64f4),'description':_0x1c64f4['description']||_0x5e376c(0x1fa)+_0x1c64f4['cliPath'],'risk':_0x1c64f4[_0x5e376c(0x1ec)],..._0x1c64f4[_0x5e376c(0x1ec)]===_0x5e376c(0x20a)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x1c64f4)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1c64f4[_0x5e376c(0x223)][_0x5e376c(0x217)](_0xa201e2=>({'name':_0xa201e2[_0x5e376c(0x202)],'description':_0xa201e2[_0x5e376c(0x1f7)]||_0xa201e2[_0x5e376c(0x202)],'required':_0xa201e2[_0x5e376c(0x1f8)]})),'flags':_0x1c64f4[_0x5e376c(0x1d6)][_0x5e376c(0x217)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1c64f4),async 'dryRun'(_0x27bda0){const _0x2efdea=_0x5e376c,_0xd9d031=await compilePlan(_0x1c64f4,_0x27bda0);return{'method':_0x2efdea(0x1df),'url':_0x1c64f4['cliPath'],'body':{'target':targetPreview(_0xd9d031),'params':_0xd9d031['params']},'description':_0x2efdea(0x1e0)+_0x1c64f4[_0x2efdea(0x1fe)]};},async 'execute'(_0x22bf17){const _0x5ecf57=_0x5e376c,_0x3e3825=await compilePlan(_0x1c64f4,_0x22bf17),_0x31b3a1=Date[_0x5ecf57(0x1bf)](),_0x1a7589=await executePlan(_0x3e3825,_0x1c64f4,_0x22bf17),_0x185acb=Date['now']()-_0x31b3a1;return{'ok':!![],'data':{'service':_0x2b64fb[_0x5ecf57(0x220)],'command':_0x1c64f4[_0x5ecf57(0x1fe)],'target':targetPreview(_0x3e3825),'result':_0x1a7589,'elapsed':_0x185acb},'message':'Service\x20command\x20'+_0x1c64f4[_0x5ecf57(0x1fe)]+'\x20completed\x20in\x20'+_0x185acb+'ms'};}};}function buildDynamicConfirmationDescription(_0x5c9c4b){const _0x9c73c7=a60_0x24a8,_0x5c7b77=_0x5c9c4b[_0x9c73c7(0x1f7)]||_0x5c9c4b[_0x9c73c7(0x1fe)],_0x216817=_0x5c9c4b[_0x9c73c7(0x1ec)]===_0x9c73c7(0x20c)?_0x9c73c7(0x201):'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.';return _0x9c73c7(0x1f3)+_0x5c7b77+_0x9c73c7(0x20e)+_0x216817;}function dynamicCommandName(_0x5d4ece){const _0x516dec=a60_0x24a8;return _0x5d4ece[_0x516dec(0x1c2)][_0x516dec(0x1eb)](0x1)[_0x516dec(0x1f4)]('\x20');}function riskTag(_0x288c83){const _0xdc0e5f=a60_0x24a8;return _0x288c83===_0xdc0e5f(0x20a)?'':_0xdc0e5f(0x1d0)+_0x288c83+']';}function flagToCommandFlag(_0x5318ef){const _0x33df50=a60_0x24a8;return{'name':_0x5318ef[_0x33df50(0x1d2)],'type':_0x5318ef[_0x33df50(0x216)]==='json'?'string':_0x5318ef[_0x33df50(0x216)],'description':_0x5318ef['description']||_0x5318ef[_0x33df50(0x202)],'required':_0x5318ef[_0x33df50(0x1f8)],'default':isPrimitiveFlagDefault(_0x5318ef[_0x33df50(0x1b9)])?_0x5318ef[_0x33df50(0x1b9)]:undefined,'enum':_0x5318ef[_0x33df50(0x1d7)]};}async function compilePlan(_0x1b0df4,_0x13c0f4){const _0x203735=a60_0x24a8;return compileServiceTreeCommand(_0x1b0df4,{'flags':_0x13c0f4[_0x203735(0x1bc)],'args':_0x13c0f4[_0x203735(0x223)],'context':await buildServiceContext(_0x1b0df4,_0x13c0f4)});}async function buildServiceContext(_0x196756,_0x354ec9){const _0x48fb4e=a60_0x24a8,_0x44fab6={'appCode':_0x354ec9['appCode'],'env':_0x354ec9[_0x48fb4e(0x218)],'envName':_0x354ec9[_0x48fb4e(0x218)]};if(!usesRuntimeContext(_0x196756))return _0x44fab6;const _0x3a3968=await getLoginUserInfo(),_0x305f92=pickFirst(_0x3a3968['userId'],_0x3a3968['id']);return{..._0x44fab6,'user':_0x3a3968,'userId':_0x305f92,'id':_0x3a3968['id'],'username':pickFirst(_0x3a3968[_0x48fb4e(0x1ff)],_0x3a3968[_0x48fb4e(0x211)],_0x3a3968['loginName']),'userName':_0x3a3968[_0x48fb4e(0x211)],'nickname':pickFirst(_0x3a3968[_0x48fb4e(0x204)],_0x3a3968[_0x48fb4e(0x1f5)]),'nickName':_0x3a3968[_0x48fb4e(0x1f5)],'tenantCode':_0x3a3968[_0x48fb4e(0x214)],'employeeId':_0x3a3968[_0x48fb4e(0x1c5)]};}function usesRuntimeContext(_0x442970){const _0x5062d2=a60_0x24a8;return _0x442970[_0x5062d2(0x21f)][_0x5062d2(0x1c7)](_0x405c54=>typeof _0x405c54['source']==='string'&&(_0x405c54[_0x5062d2(0x215)][_0x5062d2(0x1f9)](_0x5062d2(0x1f0))||_0x405c54[_0x5062d2(0x215)]['startsWith'](_0x5062d2(0x1cb))));}function pickFirst(..._0x4cabdf){const _0xda4169=a60_0x24a8;return _0x4cabdf[_0xda4169(0x1c4)](_0x5b68ce=>_0x5b68ce!==undefined&&_0x5b68ce!==null);}async function executePlan(_0x5df072,_0xa7d494,_0x4435b2){const _0x281938=a60_0x24a8;if(_0x5df072[_0x281938(0x1cf)]===_0x281938(0x1d1)){const _0x3a951e=await resolveDatasetCode(_0x5df072,_0xa7d494,_0x4435b2);return executeData(_0x3a951e,_0x5df072[_0x281938(0x1d9)],_0x5df072[_0x281938(0x1e1)]);}if(_0x5df072[_0x281938(0x1cf)]==='sql'){if(!_0x5df072[_0x281938(0x210)])throw CliErrors['validation']('Service\x20command\x20'+_0xa7d494[_0x281938(0x1fe)]+_0x281938(0x1da));return executeSdkSql(_0x5df072[_0x281938(0x210)],normalizeScalarParams(_0x5df072[_0x281938(0x1e1)]));}if(_0x5df072[_0x281938(0x1cf)]===_0x281938(0x1d3)){const _0x19eaa0=_0x5df072[_0x281938(0x1f6)]||_0x5df072[_0x281938(0x1e2)]||(_0x5df072[_0x281938(0x1bb)]==null?'':String(_0x5df072[_0x281938(0x1bb)]));if(!_0x19eaa0)throw CliErrors[_0x281938(0x1dc)]('Service\x20command\x20'+_0xa7d494['cliPath']+_0x281938(0x1d8));return executeSdkBff(_0x19eaa0,_0x5df072[_0x281938(0x1e1)]);}throw CliErrors[_0x281938(0x1dc)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x5df072[_0x281938(0x1cf)]);}async function resolveDatasetCode(_0x2d5272,_0x1e0539,_0x2f1fe2){const _0x2be205=a60_0x24a8;if(_0x2d5272[_0x2be205(0x206)])return _0x2d5272['datasetCode'];if(!_0x2d5272['datatable'])throw CliErrors[_0x2be205(0x1dc)](_0x2be205(0x1e8)+_0x1e0539['cliPath']+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x381aa7=await listDatasets(_0x2f1fe2['appCode']),_0x16f5d2=_0x381aa7['find'](_0x4822c1=>_0x4822c1[_0x2be205(0x1cc)]?.[_0x2be205(0x20b)]===_0x2d5272['datatable']);if(!_0x16f5d2?.['code'])throw CliErrors['validation']('Cannot\x20resolve\x20datatable\x20\x22'+_0x2d5272['datatable']+_0x2be205(0x20f)+_0x2f1fe2[_0x2be205(0x208)]+'.',_0x2be205(0x21a));return _0x16f5d2[_0x2be205(0x1e3)];}function applyAppBinding(_0x1c77f1,_0x2ca310,_0x31def9){const _0x3f07b=a60_0x24a8,_0x37a25c=_0x2ca310[_0x3f07b(0x1c3)][_0x3f07b(0x1d4)];if(!_0x37a25c)return;const _0xe1931=_0x1c77f1['appBindings'][_0x37a25c];if(!_0xe1931)throw CliErrors[_0x3f07b(0x1dc)](_0x3f07b(0x1fd)+_0x37a25c+_0x3f07b(0x1d5)+_0x2ca310[_0x3f07b(0x1fe)]+'.',_0x3f07b(0x1c6));const _0x3a3491=_0xe1931[_0x3f07b(0x1db)]||_0xe1931['appCode'];_0x3a3491&&!hasText(_0x31def9['appcode'])&&(_0x31def9[_0x3f07b(0x1db)]=_0x3a3491),_0xe1931[_0x3f07b(0x1be)]&&!hasText(_0x31def9[_0x3f07b(0x1be)])&&!hasText(_0x31def9[_0x3f07b(0x1db)])&&(_0x31def9['app']=_0xe1931[_0x3f07b(0x1be)]),_0xe1931[_0x3f07b(0x1cd)]&&!hasText(_0x31def9[_0x3f07b(0x1cd)])&&(_0x31def9[_0x3f07b(0x1cd)]=_0xe1931[_0x3f07b(0x1cd)]);}function renderDynamicCommandHelp(_0x39e431){const _0x59dfc6=a60_0x24a8,_0x34b5c2=[_0x59dfc6(0x1fc),_0x59dfc6(0x1e6)+_0x39e431[_0x59dfc6(0x1c3)][_0x59dfc6(0x1cf)],_0x59dfc6(0x219)+_0x39e431[_0x59dfc6(0x1c3)][_0x59dfc6(0x1d9)]];if(_0x39e431['target'][_0x59dfc6(0x206)])_0x34b5c2['push'](_0x59dfc6(0x1dd)+_0x39e431[_0x59dfc6(0x1c3)]['datasetCode']);if(_0x39e431[_0x59dfc6(0x1c3)]['datatable'])_0x34b5c2[_0x59dfc6(0x1b7)](_0x59dfc6(0x203)+_0x39e431[_0x59dfc6(0x1c3)][_0x59dfc6(0x1c0)]);if(_0x39e431[_0x59dfc6(0x1c3)][_0x59dfc6(0x210)])_0x34b5c2[_0x59dfc6(0x1b7)](_0x59dfc6(0x222)+_0x39e431[_0x59dfc6(0x1c3)][_0x59dfc6(0x210)]);if(_0x39e431['target'][_0x59dfc6(0x1f6)])_0x34b5c2['push'](_0x59dfc6(0x1ce)+_0x39e431['target'][_0x59dfc6(0x1f6)]);if(_0x39e431[_0x59dfc6(0x21f)][_0x59dfc6(0x213)]>0x0){_0x34b5c2[_0x59dfc6(0x1b7)]('',_0x59dfc6(0x1b5));for(const _0x24f0a6 of _0x39e431[_0x59dfc6(0x21f)]){_0x34b5c2[_0x59dfc6(0x1b7)](_0x59dfc6(0x21b)+(_0x24f0a6[_0x59dfc6(0x215)]||_0x59dfc6(0x1e9))+'\x20->\x20'+_0x24f0a6[_0x59dfc6(0x1c3)]+(_0x24f0a6[_0x59dfc6(0x1ca)]?'.'+_0x24f0a6['operator']:''));}}return _0x34b5c2[_0x59dfc6(0x1f4)]('\x0a');}function targetPreview(_0x1114bd){const _0x3cedab=a60_0x24a8;return{'kind':_0x1114bd['kind'],'command':_0x1114bd[_0x3cedab(0x1d9)],'appRef':_0x1114bd[_0x3cedab(0x1d4)],'datasetCode':_0x1114bd[_0x3cedab(0x206)],'datatable':_0x1114bd[_0x3cedab(0x1c0)],'sqlCode':_0x1114bd[_0x3cedab(0x210)],'bffCode':_0x1114bd['bffCode'],'bffId':_0x1114bd[_0x3cedab(0x1bb)],'functionName':_0x1114bd['scriptName']};}function normalizeScalarParams(_0x386378){const _0x29083f=a60_0x24a8;return Object[_0x29083f(0x1c9)](Object[_0x29083f(0x20d)](_0x386378)['filter'](([,_0x3f79ee])=>typeof _0x3f79ee===_0x29083f(0x1b6)||typeof _0x3f79ee===_0x29083f(0x1f2)));}function hasText(_0x51146a){const _0x7dce63=a60_0x24a8;return typeof _0x51146a===_0x7dce63(0x1b6)&&_0x51146a[_0x7dce63(0x1fb)]()[_0x7dce63(0x213)]>0x0;}function isPrimitiveFlagDefault(_0x3856e9){const _0x4c0a53=a60_0x24a8;return _0x3856e9===undefined||typeof _0x3856e9===_0x4c0a53(0x1b6)||typeof _0x3856e9==='number'||typeof _0x3856e9===_0x4c0a53(0x207);}
@@ -1 +1 @@
1
- (function(_0x333e12,_0x5a4403){const _0x8bda53=a61_0x570a,_0x466478=_0x333e12();while(!![]){try{const _0x12f989=-parseInt(_0x8bda53(0x17e))/0x1*(parseInt(_0x8bda53(0x18e))/0x2)+parseInt(_0x8bda53(0x172))/0x3+-parseInt(_0x8bda53(0x173))/0x4+parseInt(_0x8bda53(0x17d))/0x5+parseInt(_0x8bda53(0x17b))/0x6+parseInt(_0x8bda53(0x187))/0x7+-parseInt(_0x8bda53(0x179))/0x8;if(_0x12f989===_0x5a4403)break;else _0x466478['push'](_0x466478['shift']());}catch(_0x4f88f2){_0x466478['push'](_0x466478['shift']());}}}(a61_0x2f56,0x429fb));export function adaptServiceTreeManifestForLegacyFramework(_0x45adbe){const _0x48a3c0=a61_0x570a,_0x295b5d=cloneJsonValue(_0x45adbe),_0xb54035=[];if(!isObjectRecord(_0x295b5d))return{'manifest':_0x295b5d,'errors':_0xb54035};return Array[_0x48a3c0(0x16e)](_0x295b5d[_0x48a3c0(0x17a)])&&_0x295b5d[_0x48a3c0(0x17a)][_0x48a3c0(0x16f)]((_0x2a1050,_0x1ba1f3)=>{const _0x344885=_0x48a3c0;if(!isObjectRecord(_0x2a1050))return;adaptBffTarget(_0x2a1050['target'],'$.commands['+_0x1ba1f3+_0x344885(0x183),_0xb54035);}),adaptResources(_0x295b5d[_0x48a3c0(0x190)],_0x48a3c0(0x174),_0xb54035),{'manifest':_0x295b5d,'errors':_0xb54035};}export function toPublicServiceTreeTarget(_0x51dd26){const _0x28bc23=a61_0x570a,{scriptName:_0x273ad1,..._0x4a9508}=_0x51dd26;return typeof _0x273ad1===_0x28bc23(0x18b)&&_0x273ad1[_0x28bc23(0x171)]()&&(_0x4a9508[_0x28bc23(0x17f)]=_0x273ad1),_0x4a9508;}function a61_0x2f56(){const _0x435d86=['target','bff.exec','2746160HboZUh','commands','1652694bRZvrF','push','1837785HBPVYg','1SIAFKz','functionName','action','hasOwnProperty','.functionName','].target','prototype','error','actions','2623075TKsLEw','map','.target','fromEntries','string','entries','call','715218pjhdfN','scriptName','resources','functionName\x20must\x20be\x20a\x20non-empty\x20string.','isArray','forEach','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','trim','370014LXHcrk','669196jtEegQ','$.resources','kind','bff'];a61_0x2f56=function(){return _0x435d86;};return a61_0x2f56();}function a61_0x570a(_0x5369b4,_0x504d0a){_0x5369b4=_0x5369b4-0x16e;const _0x2f56c6=a61_0x2f56();let _0x570a0c=_0x2f56c6[_0x5369b4];return _0x570a0c;}export function toPublicNormalizedServiceTree(_0x5a1420){const _0x600a45=a61_0x570a;return{..._0x5a1420,'commands':_0x5a1420[_0x600a45(0x17a)][_0x600a45(0x188)](_0x11f19c=>({..._0x11f19c,'target':toPublicServiceTreeTarget(_0x11f19c[_0x600a45(0x177)])}))};}function adaptResources(_0x569533,_0x2c6973,_0x1726ee){const _0x1affae=a61_0x570a;if(!isObjectRecord(_0x569533))return;for(const [_0xbf76d5,_0x964bc5]of Object[_0x1affae(0x18c)](_0x569533)){if(!isObjectRecord(_0x964bc5))continue;const _0xf4e1b3=_0x2c6973+'.'+_0xbf76d5;if(isObjectRecord(_0x964bc5[_0x1affae(0x186)]))for(const [_0xef59d5,_0x18024d]of Object[_0x1affae(0x18c)](_0x964bc5['actions'])){if(!isObjectRecord(_0x18024d))continue;const _0x94fbc7=_0xf4e1b3+'.actions.'+_0xef59d5,_0x5dd4f5=isObjectRecord(_0x18024d['target'])&&_0x18024d[_0x1affae(0x177)]['kind']===_0x1affae(0x176);adaptBffTarget(_0x18024d['target'],_0x94fbc7+_0x1affae(0x189),_0x1726ee),(_0x5dd4f5||isBffAction(_0x18024d))&&adaptFunctionNameField(_0x18024d,_0x94fbc7,_0x1726ee);}adaptResources(_0x964bc5[_0x1affae(0x190)],_0xf4e1b3+'.resources',_0x1726ee);}}function adaptBffTarget(_0x64c0d7,_0x504ed6,_0x5bb4a1){const _0x4bffdc=a61_0x570a;if(!isObjectRecord(_0x64c0d7)||_0x64c0d7[_0x4bffdc(0x175)]!==_0x4bffdc(0x176))return;adaptFunctionNameField(_0x64c0d7,_0x504ed6,_0x5bb4a1);}function adaptFunctionNameField(_0x580447,_0x3d1618,_0x5c3505){const _0x4fe070=a61_0x570a;Object[_0x4fe070(0x184)][_0x4fe070(0x181)][_0x4fe070(0x18d)](_0x580447,_0x4fe070(0x18f))&&_0x5c3505[_0x4fe070(0x17c)]({'level':_0x4fe070(0x185),'path':_0x3d1618+'.scriptName','message':_0x4fe070(0x170)});if(Object[_0x4fe070(0x184)]['hasOwnProperty'][_0x4fe070(0x18d)](_0x580447,_0x4fe070(0x17f))){if(typeof _0x580447[_0x4fe070(0x17f)]!==_0x4fe070(0x18b)||!_0x580447['functionName'][_0x4fe070(0x171)]()){_0x5c3505[_0x4fe070(0x17c)]({'level':_0x4fe070(0x185),'path':_0x3d1618+_0x4fe070(0x182),'message':_0x4fe070(0x191)}),delete _0x580447[_0x4fe070(0x17f)];return;}_0x580447['scriptName']=_0x580447[_0x4fe070(0x17f)],delete _0x580447[_0x4fe070(0x17f)];}}function isBffAction(_0x9f967e){const _0x2dc3a8=a61_0x570a;return _0x9f967e['kind']==='bff'||_0x9f967e[_0x2dc3a8(0x180)]==='bff.exec'||_0x9f967e[_0x2dc3a8(0x177)]===_0x2dc3a8(0x178);}function cloneJsonValue(_0x26813b){const _0x1f78f9=a61_0x570a;if(Array[_0x1f78f9(0x16e)](_0x26813b))return _0x26813b[_0x1f78f9(0x188)](_0x3e00aa=>cloneJsonValue(_0x3e00aa));if(isObjectRecord(_0x26813b))return Object[_0x1f78f9(0x18a)](Object['entries'](_0x26813b)['map'](([_0x41fe1b,_0x19a1e8])=>[_0x41fe1b,cloneJsonValue(_0x19a1e8)]));return _0x26813b;}function isObjectRecord(_0x56bae4){return Boolean(_0x56bae4)&&typeof _0x56bae4==='object'&&!Array['isArray'](_0x56bae4);}
1
+ function a61_0xdb40(){const _0x19f2c8=['.scriptName','$.resources','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','4rJzLrc','string','actions','5242016fcnWhr','call','functionName','9pWHKjh','.resources','map','fromEntries','420462nAsMLF','commands','bff','error','5470730tAIJmr','isArray','push','trim','resources','action','3442188GltNpy','6eofQHB','5497cmASIQ','1335VmWXoF','.actions.','entries','prototype','11010wzplBl','55nyWFic','target','1729293rjBGSP','kind','object','scriptName','bff.exec','hasOwnProperty'];a61_0xdb40=function(){return _0x19f2c8;};return a61_0xdb40();}(function(_0x22e36b,_0x271ee1){const _0x53ecfe=a61_0x3c3e,_0x327d6d=_0x22e36b();while(!![]){try{const _0x261cce=-parseInt(_0x53ecfe(0x177))/0x1*(-parseInt(_0x53ecfe(0x176))/0x2)+parseInt(_0x53ecfe(0x17f))/0x3*(-parseInt(_0x53ecfe(0x188))/0x4)+-parseInt(_0x53ecfe(0x178))/0x5*(parseInt(_0x53ecfe(0x17c))/0x6)+parseInt(_0x53ecfe(0x192))/0x7+-parseInt(_0x53ecfe(0x18b))/0x8+-parseInt(_0x53ecfe(0x18e))/0x9*(-parseInt(_0x53ecfe(0x16f))/0xa)+-parseInt(_0x53ecfe(0x17d))/0xb*(-parseInt(_0x53ecfe(0x175))/0xc);if(_0x261cce===_0x271ee1)break;else _0x327d6d['push'](_0x327d6d['shift']());}catch(_0x142dcf){_0x327d6d['push'](_0x327d6d['shift']());}}}(a61_0xdb40,0x52177));export function adaptServiceTreeManifestForLegacyFramework(_0x5df586){const _0x48d3df=a61_0x3c3e,_0x45a1b1=cloneJsonValue(_0x5df586),_0x5aab0f=[];if(!isObjectRecord(_0x45a1b1))return{'manifest':_0x45a1b1,'errors':_0x5aab0f};return Array[_0x48d3df(0x170)](_0x45a1b1[_0x48d3df(0x16c)])&&_0x45a1b1[_0x48d3df(0x16c)]['forEach']((_0x56a6a4,_0x5cbb85)=>{const _0x2b49d3=_0x48d3df;if(!isObjectRecord(_0x56a6a4))return;adaptBffTarget(_0x56a6a4[_0x2b49d3(0x17e)],'$.commands['+_0x5cbb85+'].target',_0x5aab0f);}),adaptResources(_0x45a1b1[_0x48d3df(0x173)],_0x48d3df(0x186),_0x5aab0f),{'manifest':_0x45a1b1,'errors':_0x5aab0f};}export function toPublicServiceTreeTarget(_0x293a4a){const _0x57ce48=a61_0x3c3e,{scriptName:_0x2eaa5e,..._0x236d0d}=_0x293a4a;return typeof _0x2eaa5e===_0x57ce48(0x189)&&_0x2eaa5e[_0x57ce48(0x172)]()&&(_0x236d0d[_0x57ce48(0x18d)]=_0x2eaa5e),_0x236d0d;}export function toPublicNormalizedServiceTree(_0x3ac66d){const _0x579a8a=a61_0x3c3e;return{..._0x3ac66d,'commands':_0x3ac66d['commands']['map'](_0x4e43f5=>({..._0x4e43f5,'target':toPublicServiceTreeTarget(_0x4e43f5[_0x579a8a(0x17e)])}))};}function adaptResources(_0x32c1e6,_0x568e2e,_0xc09e98){const _0x4e6aec=a61_0x3c3e;if(!isObjectRecord(_0x32c1e6))return;for(const [_0x3835c5,_0x5b821b]of Object[_0x4e6aec(0x17a)](_0x32c1e6)){if(!isObjectRecord(_0x5b821b))continue;const _0xf87cd=_0x568e2e+'.'+_0x3835c5;if(isObjectRecord(_0x5b821b[_0x4e6aec(0x18a)]))for(const [_0x27e715,_0x480c05]of Object[_0x4e6aec(0x17a)](_0x5b821b[_0x4e6aec(0x18a)])){if(!isObjectRecord(_0x480c05))continue;const _0xfb4cc3=_0xf87cd+_0x4e6aec(0x179)+_0x27e715,_0x2078b2=isObjectRecord(_0x480c05['target'])&&_0x480c05['target'][_0x4e6aec(0x180)]===_0x4e6aec(0x16d);adaptBffTarget(_0x480c05['target'],_0xfb4cc3+'.target',_0xc09e98),(_0x2078b2||isBffAction(_0x480c05))&&adaptFunctionNameField(_0x480c05,_0xfb4cc3,_0xc09e98);}adaptResources(_0x5b821b[_0x4e6aec(0x173)],_0xf87cd+_0x4e6aec(0x18f),_0xc09e98);}}function adaptBffTarget(_0x2838c8,_0x48540a,_0x44cde3){const _0x5c3efb=a61_0x3c3e;if(!isObjectRecord(_0x2838c8)||_0x2838c8[_0x5c3efb(0x180)]!=='bff')return;adaptFunctionNameField(_0x2838c8,_0x48540a,_0x44cde3);}function a61_0x3c3e(_0x31a891,_0x1d7c20){_0x31a891=_0x31a891-0x16c;const _0xdb4065=a61_0xdb40();let _0x3c3e71=_0xdb4065[_0x31a891];return _0x3c3e71;}function adaptFunctionNameField(_0x1d40c4,_0x28149b,_0x2722b1){const _0x4c0a24=a61_0x3c3e;Object['prototype'][_0x4c0a24(0x184)][_0x4c0a24(0x18c)](_0x1d40c4,_0x4c0a24(0x182))&&_0x2722b1[_0x4c0a24(0x171)]({'level':_0x4c0a24(0x16e),'path':_0x28149b+_0x4c0a24(0x185),'message':_0x4c0a24(0x187)});if(Object[_0x4c0a24(0x17b)][_0x4c0a24(0x184)][_0x4c0a24(0x18c)](_0x1d40c4,_0x4c0a24(0x18d))){if(typeof _0x1d40c4[_0x4c0a24(0x18d)]!==_0x4c0a24(0x189)||!_0x1d40c4[_0x4c0a24(0x18d)][_0x4c0a24(0x172)]()){_0x2722b1[_0x4c0a24(0x171)]({'level':_0x4c0a24(0x16e),'path':_0x28149b+'.functionName','message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0x1d40c4[_0x4c0a24(0x18d)];return;}_0x1d40c4['scriptName']=_0x1d40c4[_0x4c0a24(0x18d)],delete _0x1d40c4[_0x4c0a24(0x18d)];}}function isBffAction(_0x297124){const _0x55b7ca=a61_0x3c3e;return _0x297124['kind']===_0x55b7ca(0x16d)||_0x297124[_0x55b7ca(0x174)]==='bff.exec'||_0x297124['target']===_0x55b7ca(0x183);}function cloneJsonValue(_0x43dc94){const _0x4b252f=a61_0x3c3e;if(Array[_0x4b252f(0x170)](_0x43dc94))return _0x43dc94[_0x4b252f(0x190)](_0x3d8ed1=>cloneJsonValue(_0x3d8ed1));if(isObjectRecord(_0x43dc94))return Object[_0x4b252f(0x191)](Object[_0x4b252f(0x17a)](_0x43dc94)[_0x4b252f(0x190)](([_0x3570ff,_0x2e2993])=>[_0x3570ff,cloneJsonValue(_0x2e2993)]));return _0x43dc94;}function isObjectRecord(_0x1f7052){const _0x24a571=a61_0x3c3e;return Boolean(_0x1f7052)&&typeof _0x1f7052===_0x24a571(0x181)&&!Array[_0x24a571(0x170)](_0x1f7052);}
@@ -1 +1 @@
1
- const a62_0x1a56f2=a62_0x53a1;(function(_0x54de58,_0x1a6183){const _0x552f74=a62_0x53a1,_0x1b713e=_0x54de58();while(!![]){try{const _0x3bf590=-parseInt(_0x552f74(0x150))/0x1*(-parseInt(_0x552f74(0x14e))/0x2)+parseInt(_0x552f74(0x146))/0x3+parseInt(_0x552f74(0x147))/0x4+-parseInt(_0x552f74(0x124))/0x5+-parseInt(_0x552f74(0x121))/0x6+parseInt(_0x552f74(0x126))/0x7*(parseInt(_0x552f74(0x160))/0x8)+-parseInt(_0x552f74(0x141))/0x9*(parseInt(_0x552f74(0x11e))/0xa);if(_0x3bf590===_0x1a6183)break;else _0x1b713e['push'](_0x1b713e['shift']());}catch(_0x2ea8ee){_0x1b713e['push'](_0x1b713e['shift']());}}}(a62_0x33e4,0xccb51));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a62_0x53a1(_0x221be6,_0x44dbd5){_0x221be6=_0x221be6-0x117;const _0x33e481=a62_0x33e4();let _0x53a146=_0x33e481[_0x221be6];return _0x53a146;}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a62_0x1a56f2(0x13b),'type':a62_0x1a56f2(0x137),'required':!![],'description':a62_0x1a56f2(0x14c)},SERVICE_FLAG={'name':a62_0x1a56f2(0x163),'type':'string','required':!![],'description':a62_0x1a56f2(0x157),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x4bad96){const _0x3385b5=a62_0x1a56f2;return{'serviceCode':_0x4bad96[_0x3385b5(0x133)],'name':_0x4bad96[_0x3385b5(0x14b)]['service']['name'],'version':_0x4bad96[_0x3385b5(0x119)],'importedAt':_0x4bad96[_0x3385b5(0x15a)],'source':_0x4bad96[_0x3385b5(0x143)],'commandCount':_0x4bad96['normalizedManifest'][_0x3385b5(0x13e)][_0x3385b5(0x155)],'commands':_0x4bad96[_0x3385b5(0x14b)][_0x3385b5(0x13e)][_0x3385b5(0x15c)](_0x4ff34a=>({'path':_0x4ff34a[_0x3385b5(0x11d)],'description':_0x4ff34a[_0x3385b5(0x12a)],'risk':_0x4ff34a[_0x3385b5(0x153)],'target':toPublicServiceTreeTarget(_0x4ff34a['target']),'flags':_0x4ff34a[_0x3385b5(0x122)][_0x3385b5(0x15c)](_0xa15b65=>({'name':_0xa15b65[_0x3385b5(0x15e)],'cliName':_0xa15b65[_0x3385b5(0x13d)],'type':_0xa15b65[_0x3385b5(0x129)],'required':_0xa15b65[_0x3385b5(0x123)]===!![]}))}))};}function summarizeLoadedManifest(_0x18d941){const _0x57aea2=a62_0x1a56f2;return{'service':_0x18d941[_0x57aea2(0x14b)]?.['service'],'version':_0x18d941[_0x57aea2(0x14b)]?.[_0x57aea2(0x119)],'commandCount':_0x18d941['normalizedManifest']?.[_0x57aea2(0x13e)][_0x57aea2(0x155)]??0x0,'commands':_0x18d941[_0x57aea2(0x14b)]?.[_0x57aea2(0x13e)][_0x57aea2(0x15c)](_0x29dd6b=>({'path':_0x29dd6b[_0x57aea2(0x11d)],'risk':_0x29dd6b[_0x57aea2(0x153)],'target':toPublicServiceTreeTarget(_0x29dd6b[_0x57aea2(0x127)])}))??[],'registryIndex':_0x18d941[_0x57aea2(0x142)],'registryServiceCode':_0x18d941[_0x57aea2(0x125)],'errors':_0x18d941[_0x57aea2(0x152)][_0x57aea2(0x12d)],'warnings':_0x18d941[_0x57aea2(0x152)][_0x57aea2(0x15d)]};}function a62_0x33e4(){const _0x3db08a=['import','\x20service(s).','3762234PWbmSb','1986488oXIVJJ','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20registry\x20validation\x20passed.','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','normalizedManifest','Service\x20Tree\x20manifest\x20file\x20path','entry','110molCpP','entries','24473WgEkxq','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.','report','risk','\x20service\x20','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Local\x20service\x20code,\x20for\x20example\x20crm','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','manifest','importedAt','WRITE','map','warnings','name','\x20service(s),\x20updated\x20','179440rttyXc','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','service','replaced','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','filePath','version','updated','Removed\x20service\x20','export','cliPath','10HiZgrs','list','kind','7860570VcoQDE','flags','required','2152310TgHSdG','registryServiceCode','392ogsHGr','target','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','type','description','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','serviceCount','errors','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','imported','hash','validate','str','serviceCode','Service\x20manifest\x20validation\x20passed.','write','Local\x20service\x20not\x20found:\x20','string','Imported','manifests','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.','file','read','cliName','commands','Exported\x20service\x20','detail','15963813lmMHSh','registryIndex','source'];a62_0x33e4=function(){return _0x3db08a;};return a62_0x33e4();}export const serviceDefinitions=[{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x131),'description':a62_0x1a56f2(0x12b),'risk':a62_0x1a56f2(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x5ea1ad){const _0x12e4d6=a62_0x1a56f2,_0x21adf6=loadServiceManifestFromFile(_0x5ea1ad[_0x12e4d6(0x132)](_0x12e4d6(0x13b)));if(!_0x21adf6[_0x12e4d6(0x152)]['ok'])return{'ok':![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6['hash'],'kind':_0x21adf6[_0x12e4d6(0x120)],'serviceCount':_0x21adf6['manifests'][_0x12e4d6(0x155)],'services':_0x21adf6[_0x12e4d6(0x139)][_0x12e4d6(0x15c)](summarizeLoadedManifest),'errors':_0x21adf6[_0x12e4d6(0x152)]['errors'],'warnings':_0x21adf6[_0x12e4d6(0x152)][_0x12e4d6(0x15d)]},'message':formatValidationFailure(_0x21adf6['report'])};if(_0x21adf6[_0x12e4d6(0x120)]==='registry'||_0x21adf6[_0x12e4d6(0x139)][_0x12e4d6(0x155)]!==0x1)return{'ok':!![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6[_0x12e4d6(0x130)],'kind':_0x21adf6[_0x12e4d6(0x120)],'serviceCount':_0x21adf6['manifests'][_0x12e4d6(0x155)],'commandCount':_0x21adf6[_0x12e4d6(0x139)]['reduce']((_0x70a73e,_0x193d51)=>_0x70a73e+(_0x193d51[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x13e)][_0x12e4d6(0x155)]??0x0),0x0),'services':_0x21adf6[_0x12e4d6(0x139)]['map'](summarizeLoadedManifest),'warnings':_0x21adf6[_0x12e4d6(0x152)]['warnings']},'message':_0x12e4d6(0x149)};return{'ok':!![],'data':{'file':_0x21adf6[_0x12e4d6(0x118)],'hash':_0x21adf6[_0x12e4d6(0x130)],'kind':_0x21adf6[_0x12e4d6(0x120)],'service':_0x21adf6[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x163)],'version':_0x21adf6['normalizedManifest']?.[_0x12e4d6(0x119)],'commandCount':_0x21adf6[_0x12e4d6(0x14b)]?.[_0x12e4d6(0x13e)][_0x12e4d6(0x155)]??0x0,'commands':_0x21adf6[_0x12e4d6(0x14b)]?.['commands']['map'](_0x4734f0=>({'path':_0x4734f0[_0x12e4d6(0x11d)],'risk':_0x4734f0[_0x12e4d6(0x153)],'target':toPublicServiceTreeTarget(_0x4734f0[_0x12e4d6(0x127)])})),'warnings':_0x21adf6[_0x12e4d6(0x152)][_0x12e4d6(0x15d)]},'message':_0x12e4d6(0x134)};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x144),'description':a62_0x1a56f2(0x156),'risk':a62_0x1a56f2(0x135),'confirmationDescription':a62_0x1a56f2(0x13a),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x211e6e){const _0x581809=a62_0x1a56f2,_0x315200=loadServiceManifestFromFile(_0x211e6e['str']('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x315200['filePath'],'hash':_0x315200[_0x581809(0x130)],'kind':_0x315200['kind'],'ok':_0x315200[_0x581809(0x152)]['ok'],'service':_0x315200[_0x581809(0x14b)]?.[_0x581809(0x163)],'version':_0x315200[_0x581809(0x14b)]?.[_0x581809(0x119)],'serviceCount':_0x315200[_0x581809(0x139)][_0x581809(0x155)],'services':_0x315200[_0x581809(0x139)][_0x581809(0x15c)](_0x4415d8=>({'service':_0x4415d8[_0x581809(0x14b)]?.['service'],'version':_0x4415d8[_0x581809(0x14b)]?.[_0x581809(0x119)],'commandCount':_0x4415d8[_0x581809(0x14b)]?.[_0x581809(0x13e)][_0x581809(0x155)]??0x0,'errors':_0x4415d8['report'][_0x581809(0x12d)]})),'errors':_0x315200[_0x581809(0x152)][_0x581809(0x12d)],'commandCount':_0x315200['normalizedManifest']?.[_0x581809(0x13e)][_0x581809(0x155)]??0x0},'description':_0x581809(0x128)};},async 'execute'(_0xfc4faf){const _0x32d109=a62_0x1a56f2,_0xc1543b=importServiceManifest(_0xfc4faf[_0x32d109(0x132)]('file'));if(_0xc1543b[_0x32d109(0x14f)][_0x32d109(0x155)]!==0x1)return{'ok':!![],'data':{'registryPath':_0xc1543b['registryPath'],'imported':_0xc1543b[_0x32d109(0x12f)],'updated':_0xc1543b[_0x32d109(0x11a)],'serviceCount':_0xc1543b[_0x32d109(0x12c)],'services':_0xc1543b[_0x32d109(0x14f)]['map'](summarizeService)},'message':_0x32d109(0x161)+_0xc1543b['imported']+_0x32d109(0x15f)+_0xc1543b[_0x32d109(0x11a)]+_0x32d109(0x145)};return{'ok':!![],'data':{'registryPath':_0xc1543b['registryPath'],'replaced':_0xc1543b[_0x32d109(0x164)],'imported':_0xc1543b[_0x32d109(0x12f)],'updated':_0xc1543b[_0x32d109(0x11a)],'serviceCount':_0xc1543b[_0x32d109(0x12c)],'service':summarizeService(_0xc1543b[_0x32d109(0x14d)])},'message':(_0xc1543b[_0x32d109(0x164)]?'Updated':_0x32d109(0x138))+_0x32d109(0x154)+_0xc1543b[_0x32d109(0x14d)][_0x32d109(0x133)]+'.'};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x11c),'description':a62_0x1a56f2(0x158),'risk':a62_0x1a56f2(0x135),'confirmationDescription':a62_0x1a56f2(0x151),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x25de44){const _0x50ad42=a62_0x1a56f2,_0x194974=getLocalServiceEntry(_0x25de44['str']('service'));return{'method':_0x50ad42(0x15b),'url':_0x25de44[_0x50ad42(0x132)](_0x50ad42(0x13b)),'body':{'service':_0x25de44[_0x50ad42(0x132)](_0x50ad42(0x163)),'found':Boolean(_0x194974),'version':_0x194974?.[_0x50ad42(0x119)],'source':_0x194974?.[_0x50ad42(0x143)]},'description':_0x50ad42(0x162)};},async 'execute'(_0x587567){const _0x1605bc=a62_0x1a56f2,_0xf04f90=exportServiceManifest(_0x587567[_0x1605bc(0x132)]('service'),_0x587567['str'](_0x1605bc(0x13b)));return{'ok':!![],'data':{'registryPath':_0xf04f90['registryPath'],'file':_0xf04f90['filePath'],'service':summarizeService(_0xf04f90[_0x1605bc(0x14d)])},'message':_0x1605bc(0x13f)+_0xf04f90[_0x1605bc(0x14d)][_0x1605bc(0x133)]+'.'};}},{'service':a62_0x1a56f2(0x163),'command':a62_0x1a56f2(0x11f),'description':a62_0x1a56f2(0x14a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x3553d7=a62_0x1a56f2,_0x39b2ec=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x39b2ec[_0x3553d7(0x155)],'services':_0x39b2ec['map'](summarizeService)}};}},{'service':a62_0x1a56f2(0x163),'command':'remove','description':a62_0x1a56f2(0x148),'risk':'write','confirmationDescription':a62_0x1a56f2(0x117),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3d79c6){const _0x6d0480=a62_0x1a56f2,_0x514bd3=getLocalServiceEntry(_0x3d79c6['str'](_0x6d0480(0x163)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3d79c6[_0x6d0480(0x132)](_0x6d0480(0x163)),'found':Boolean(_0x514bd3),'version':_0x514bd3?.['version'],'source':_0x514bd3?.[_0x6d0480(0x143)]},'description':_0x6d0480(0x12e)};},async 'execute'(_0xdc31b2){const _0x2207e3=a62_0x1a56f2,_0x4761ae=removeServiceManifest(_0xdc31b2[_0x2207e3(0x132)](_0x2207e3(0x163)));return{'ok':!![],'data':{'registryPath':_0x4761ae['registryPath'],'serviceCount':_0x4761ae[_0x2207e3(0x12c)],'service':summarizeService(_0x4761ae[_0x2207e3(0x14d)])},'message':_0x2207e3(0x11b)+_0x4761ae['entry'][_0x2207e3(0x133)]+'.'};}},{'service':'service','command':a62_0x1a56f2(0x140),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a62_0x1a56f2(0x13c),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x54ef0a){const _0x347d9a=a62_0x1a56f2,_0x582c7c=getLocalServiceEntry(_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163)));if(!_0x582c7c)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163))},'message':_0x347d9a(0x136)+_0x54ef0a[_0x347d9a(0x132)](_0x347d9a(0x163))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x582c7c),'manifest':_0x582c7c[_0x347d9a(0x159)],'normalizedManifest':toPublicNormalizedServiceTree(_0x582c7c[_0x347d9a(0x14b)])}};}}];
1
+ const a62_0x4078be=a62_0x255d;(function(_0x701721,_0x15d331){const _0x1e92f5=a62_0x255d,_0x381ac6=_0x701721();while(!![]){try{const _0x39befb=-parseInt(_0x1e92f5(0xeb))/0x1*(parseInt(_0x1e92f5(0xf4))/0x2)+-parseInt(_0x1e92f5(0xfe))/0x3*(-parseInt(_0x1e92f5(0xec))/0x4)+parseInt(_0x1e92f5(0xe2))/0x5*(-parseInt(_0x1e92f5(0x10a))/0x6)+parseInt(_0x1e92f5(0x119))/0x7+-parseInt(_0x1e92f5(0xf2))/0x8+parseInt(_0x1e92f5(0x118))/0x9+-parseInt(_0x1e92f5(0x10c))/0xa*(parseInt(_0x1e92f5(0xd8))/0xb);if(_0x39befb===_0x15d331)break;else _0x381ac6['push'](_0x381ac6['shift']());}catch(_0x165831){_0x381ac6['push'](_0x381ac6['shift']());}}}(a62_0x8718,0xcae9d));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';function a62_0x255d(_0x1e53b2,_0x372689){_0x1e53b2=_0x1e53b2-0xd3;const _0x871879=a62_0x8718();let _0x255dc2=_0x871879[_0x1e53b2];return _0x255dc2;}function a62_0x8718(){const _0x2699dc=['240484sgGWOU','serviceCode','import','Local\x20service\x20code,\x20for\x20example\x20crm','description','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','5542760iMVTbe','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','64858LfmREU','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.','target','warnings','entries','Exported\x20service\x20','service','list','commands','kind','69HiiKyG','Removed\x20service\x20','detail','entry','Imported\x20','serviceCount','normalizedManifest','cliPath','string','flags','cliName','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','6RHtxfe','file','1130qTPrRS','\x20service(s).','errors','imported','type','report','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','registryPath','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','importedAt','write','map','6761430KzNLxt','11087832BvNFRP','version','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','reduce','validate','hash','10813XpFxFc','lower\x20kebab-case\x20service\x20code','WRITE','manifests','length','Service\x20Tree\x20manifest\x20file\x20path','export','remove','source','updated','7982685TSfeCH','replaced','name','read','filePath','str','Imported','risk','registryServiceCode','15Axsukv'];a62_0x8718=function(){return _0x2699dc;};return a62_0x8718();}const FILE_FLAG={'name':a62_0x4078be(0x10b),'type':a62_0x4078be(0x106),'required':!![],'description':a62_0x4078be(0xdd)},SERVICE_FLAG={'name':a62_0x4078be(0xfa),'type':a62_0x4078be(0x106),'required':!![],'description':a62_0x4078be(0xef),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0x4078be(0xd9)}};function summarizeService(_0x2e89fa){const _0x53788f=a62_0x4078be;return{'serviceCode':_0x2e89fa[_0x53788f(0xed)],'name':_0x2e89fa[_0x53788f(0x104)][_0x53788f(0xfa)][_0x53788f(0xe4)],'version':_0x2e89fa[_0x53788f(0x11a)],'importedAt':_0x2e89fa[_0x53788f(0x115)],'source':_0x2e89fa[_0x53788f(0xe0)],'commandCount':_0x2e89fa['normalizedManifest']['commands'][_0x53788f(0xdc)],'commands':_0x2e89fa[_0x53788f(0x104)][_0x53788f(0xfc)]['map'](_0x3246da=>({'path':_0x3246da[_0x53788f(0x105)],'description':_0x3246da[_0x53788f(0xf0)],'risk':_0x3246da[_0x53788f(0xe9)],'target':toPublicServiceTreeTarget(_0x3246da[_0x53788f(0xf6)]),'flags':_0x3246da[_0x53788f(0x107)][_0x53788f(0x117)](_0x3e61ac=>({'name':_0x3e61ac[_0x53788f(0xe4)],'cliName':_0x3e61ac[_0x53788f(0x108)],'type':_0x3e61ac[_0x53788f(0x110)],'required':_0x3e61ac['required']===!![]}))}))};}function summarizeLoadedManifest(_0x55e2a9){const _0x1455de=a62_0x4078be;return{'service':_0x55e2a9[_0x1455de(0x104)]?.[_0x1455de(0xfa)],'version':_0x55e2a9['normalizedManifest']?.[_0x1455de(0x11a)],'commandCount':_0x55e2a9['normalizedManifest']?.['commands'][_0x1455de(0xdc)]??0x0,'commands':_0x55e2a9['normalizedManifest']?.[_0x1455de(0xfc)][_0x1455de(0x117)](_0x5ecbf7=>({'path':_0x5ecbf7[_0x1455de(0x105)],'risk':_0x5ecbf7[_0x1455de(0xe9)],'target':toPublicServiceTreeTarget(_0x5ecbf7['target'])}))??[],'registryIndex':_0x55e2a9['registryIndex'],'registryServiceCode':_0x55e2a9[_0x1455de(0xea)],'errors':_0x55e2a9[_0x1455de(0x111)][_0x1455de(0x10e)],'warnings':_0x55e2a9[_0x1455de(0x111)][_0x1455de(0xf7)]};}export const serviceDefinitions=[{'service':a62_0x4078be(0xfa),'command':a62_0x4078be(0xd6),'description':a62_0x4078be(0xd4),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x503e19){const _0x2203f5=a62_0x4078be,_0x1bcab3=loadServiceManifestFromFile(_0x503e19[_0x2203f5(0xe7)]('file'));if(!_0x1bcab3[_0x2203f5(0x111)]['ok'])return{'ok':![],'data':{'file':_0x1bcab3['filePath'],'hash':_0x1bcab3[_0x2203f5(0xd7)],'kind':_0x1bcab3[_0x2203f5(0xfd)],'serviceCount':_0x1bcab3[_0x2203f5(0xdb)][_0x2203f5(0xdc)],'services':_0x1bcab3[_0x2203f5(0xdb)]['map'](summarizeLoadedManifest),'errors':_0x1bcab3[_0x2203f5(0x111)]['errors'],'warnings':_0x1bcab3['report'][_0x2203f5(0xf7)]},'message':formatValidationFailure(_0x1bcab3[_0x2203f5(0x111)])};if(_0x1bcab3[_0x2203f5(0xfd)]==='registry'||_0x1bcab3[_0x2203f5(0xdb)][_0x2203f5(0xdc)]!==0x1)return{'ok':!![],'data':{'file':_0x1bcab3[_0x2203f5(0xe6)],'hash':_0x1bcab3[_0x2203f5(0xd7)],'kind':_0x1bcab3[_0x2203f5(0xfd)],'serviceCount':_0x1bcab3[_0x2203f5(0xdb)][_0x2203f5(0xdc)],'commandCount':_0x1bcab3['manifests'][_0x2203f5(0xd5)]((_0x3175bd,_0xdb51ae)=>_0x3175bd+(_0xdb51ae[_0x2203f5(0x104)]?.['commands'][_0x2203f5(0xdc)]??0x0),0x0),'services':_0x1bcab3['manifests'][_0x2203f5(0x117)](summarizeLoadedManifest),'warnings':_0x1bcab3['report'][_0x2203f5(0xf7)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x1bcab3[_0x2203f5(0xe6)],'hash':_0x1bcab3[_0x2203f5(0xd7)],'kind':_0x1bcab3[_0x2203f5(0xfd)],'service':_0x1bcab3[_0x2203f5(0x104)]?.[_0x2203f5(0xfa)],'version':_0x1bcab3[_0x2203f5(0x104)]?.['version'],'commandCount':_0x1bcab3[_0x2203f5(0x104)]?.['commands']['length']??0x0,'commands':_0x1bcab3[_0x2203f5(0x104)]?.[_0x2203f5(0xfc)]['map'](_0x5cd654=>({'path':_0x5cd654[_0x2203f5(0x105)],'risk':_0x5cd654[_0x2203f5(0xe9)],'target':toPublicServiceTreeTarget(_0x5cd654['target'])})),'warnings':_0x1bcab3[_0x2203f5(0x111)][_0x2203f5(0xf7)]},'message':'Service\x20manifest\x20validation\x20passed.'};}},{'service':a62_0x4078be(0xfa),'command':a62_0x4078be(0xee),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':'write','confirmationDescription':'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.','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2c75df){const _0x5b14fe=a62_0x4078be,_0x5aaaca=loadServiceManifestFromFile(_0x2c75df[_0x5b14fe(0xe7)](_0x5b14fe(0x10b)));return{'method':_0x5b14fe(0xda),'url':getServiceRegistryPath(),'body':{'file':_0x5aaaca[_0x5b14fe(0xe6)],'hash':_0x5aaaca[_0x5b14fe(0xd7)],'kind':_0x5aaaca[_0x5b14fe(0xfd)],'ok':_0x5aaaca[_0x5b14fe(0x111)]['ok'],'service':_0x5aaaca['normalizedManifest']?.[_0x5b14fe(0xfa)],'version':_0x5aaaca['normalizedManifest']?.[_0x5b14fe(0x11a)],'serviceCount':_0x5aaaca[_0x5b14fe(0xdb)]['length'],'services':_0x5aaaca[_0x5b14fe(0xdb)]['map'](_0x3f9ade=>({'service':_0x3f9ade[_0x5b14fe(0x104)]?.['service'],'version':_0x3f9ade[_0x5b14fe(0x104)]?.[_0x5b14fe(0x11a)],'commandCount':_0x3f9ade[_0x5b14fe(0x104)]?.[_0x5b14fe(0xfc)]['length']??0x0,'errors':_0x3f9ade[_0x5b14fe(0x111)]['errors']})),'errors':_0x5aaaca[_0x5b14fe(0x111)][_0x5b14fe(0x10e)],'commandCount':_0x5aaaca[_0x5b14fe(0x104)]?.['commands']['length']??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x4bc7eb){const _0x4d705e=a62_0x4078be,_0x4d81c5=importServiceManifest(_0x4bc7eb[_0x4d705e(0xe7)](_0x4d705e(0x10b)));if(_0x4d81c5[_0x4d705e(0xf8)][_0x4d705e(0xdc)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4d81c5[_0x4d705e(0x113)],'imported':_0x4d81c5[_0x4d705e(0x10f)],'updated':_0x4d81c5[_0x4d705e(0xe1)],'serviceCount':_0x4d81c5[_0x4d705e(0x103)],'services':_0x4d81c5[_0x4d705e(0xf8)]['map'](summarizeService)},'message':_0x4d705e(0x102)+_0x4d81c5[_0x4d705e(0x10f)]+'\x20service(s),\x20updated\x20'+_0x4d81c5[_0x4d705e(0xe1)]+_0x4d705e(0x10d)};return{'ok':!![],'data':{'registryPath':_0x4d81c5[_0x4d705e(0x113)],'replaced':_0x4d81c5['replaced'],'imported':_0x4d81c5[_0x4d705e(0x10f)],'updated':_0x4d81c5[_0x4d705e(0xe1)],'serviceCount':_0x4d81c5[_0x4d705e(0x103)],'service':summarizeService(_0x4d81c5[_0x4d705e(0x101)])},'message':(_0x4d81c5[_0x4d705e(0xe3)]?'Updated':_0x4d705e(0xe8))+'\x20service\x20'+_0x4d81c5[_0x4d705e(0x101)][_0x4d705e(0xed)]+'.'};}},{'service':a62_0x4078be(0xfa),'command':a62_0x4078be(0xde),'description':a62_0x4078be(0xf1),'risk':a62_0x4078be(0x116),'confirmationDescription':a62_0x4078be(0xf5),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x1be4fa){const _0x5b586a=a62_0x4078be,_0x2bb162=getLocalServiceEntry(_0x1be4fa[_0x5b586a(0xe7)](_0x5b586a(0xfa)));return{'method':_0x5b586a(0xda),'url':_0x1be4fa[_0x5b586a(0xe7)](_0x5b586a(0x10b)),'body':{'service':_0x1be4fa[_0x5b586a(0xe7)]('service'),'found':Boolean(_0x2bb162),'version':_0x2bb162?.[_0x5b586a(0x11a)],'source':_0x2bb162?.['source']},'description':_0x5b586a(0x114)};},async 'execute'(_0x242a28){const _0x16aaea=a62_0x4078be,_0x565d53=exportServiceManifest(_0x242a28[_0x16aaea(0xe7)]('service'),_0x242a28[_0x16aaea(0xe7)](_0x16aaea(0x10b)));return{'ok':!![],'data':{'registryPath':_0x565d53[_0x16aaea(0x113)],'file':_0x565d53[_0x16aaea(0xe6)],'service':summarizeService(_0x565d53['entry'])},'message':_0x16aaea(0xf9)+_0x565d53[_0x16aaea(0x101)][_0x16aaea(0xed)]+'.'};}},{'service':a62_0x4078be(0xfa),'command':a62_0x4078be(0xfb),'description':a62_0x4078be(0xd3),'risk':a62_0x4078be(0xe5),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x1819c6=a62_0x4078be,_0x3249c0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3249c0['length'],'services':_0x3249c0[_0x1819c6(0x117)](summarizeService)}};}},{'service':a62_0x4078be(0xfa),'command':a62_0x4078be(0xdf),'description':a62_0x4078be(0x112),'risk':a62_0x4078be(0x116),'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'(_0x15af3b){const _0x64e78e=a62_0x4078be,_0x1a82ab=getLocalServiceEntry(_0x15af3b['str'](_0x64e78e(0xfa)));return{'method':_0x64e78e(0xda),'url':getServiceRegistryPath(),'body':{'service':_0x15af3b[_0x64e78e(0xe7)](_0x64e78e(0xfa)),'found':Boolean(_0x1a82ab),'version':_0x1a82ab?.['version'],'source':_0x1a82ab?.[_0x64e78e(0xe0)]},'description':_0x64e78e(0x109)};},async 'execute'(_0x2c8cbf){const _0x4a543f=a62_0x4078be,_0x2ac1c6=removeServiceManifest(_0x2c8cbf[_0x4a543f(0xe7)](_0x4a543f(0xfa)));return{'ok':!![],'data':{'registryPath':_0x2ac1c6[_0x4a543f(0x113)],'serviceCount':_0x2ac1c6['serviceCount'],'service':summarizeService(_0x2ac1c6[_0x4a543f(0x101)])},'message':_0x4a543f(0xff)+_0x2ac1c6[_0x4a543f(0x101)][_0x4a543f(0xed)]+'.'};}},{'service':'service','command':a62_0x4078be(0x100),'description':a62_0x4078be(0xf3),'risk':a62_0x4078be(0xe5),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x51c852){const _0x12d5ca=a62_0x4078be,_0x2a23a6=getLocalServiceEntry(_0x51c852[_0x12d5ca(0xe7)](_0x12d5ca(0xfa)));if(!_0x2a23a6)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x51c852[_0x12d5ca(0xe7)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x51c852[_0x12d5ca(0xe7)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x2a23a6),'manifest':_0x2a23a6['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x2a23a6[_0x12d5ca(0x104)])}};}}];
@@ -1 +1 @@
1
- const a63_0x3a661e=a63_0x5803;(function(_0x4806c6,_0x18b180){const _0xc5f9d7=a63_0x5803,_0x26d128=_0x4806c6();while(!![]){try{const _0x49855e=parseInt(_0xc5f9d7(0x1d3))/0x1*(parseInt(_0xc5f9d7(0x1d0))/0x2)+parseInt(_0xc5f9d7(0x1c0))/0x3+-parseInt(_0xc5f9d7(0x1b0))/0x4*(-parseInt(_0xc5f9d7(0x1dc))/0x5)+-parseInt(_0xc5f9d7(0x1b2))/0x6*(-parseInt(_0xc5f9d7(0x1a3))/0x7)+-parseInt(_0xc5f9d7(0x1a7))/0x8+parseInt(_0xc5f9d7(0x1b8))/0x9+-parseInt(_0xc5f9d7(0x1e8))/0xa*(parseInt(_0xc5f9d7(0x1ba))/0xb);if(_0x49855e===_0x18b180)break;else _0x26d128['push'](_0x26d128['shift']());}catch(_0x24e7b1){_0x26d128['push'](_0x26d128['shift']());}}}(a63_0x5d48,0xa2d91));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a63_0x5d48(){const _0x12f0c8=['message','2951487QTpzdy','hex','9889ltKJEZ','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','kind','source','.tmp','sort','3169047ZYXsSX','startsWith','homeDir','length','warnings','Service\x20manifest\x20validation\x20failed:\x0a','empty','utf8','service.json','parse','name','slice','Invalid\x20service\x20manifest\x20JSON:\x20','normalizedManifest','registry','Local\x20service\x20not\x20found:\x20','422FHahnB','missing','schemaVersion','3803KlykFi','service','target','now','stringify','sourceHash','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','services','file','5MNChbi','manifests','validation','CliError','Remove\x20or\x20migrate\x20','homeDirName','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','$.services[','serviceCode','updatedAt','trim','findIndex','10900cHHXwL','invalid','flatMap','path','cliPath','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Cannot\x20write\x20service\x20registry:\x20','bff\x20target\x20requires\x20functionName.','join','toISOString','ENOENT','sha256','map','registryIndex','command','manifest','risk','Unsupported\x20service\x20registry\x20schemaVersion:\x20','update','7iEnZVN','Invalid\x20service\x20registry\x20JSON:\x20','localeCompare','description','7885864HGFIYO','code','errors','importedAt','push','version','filePath','commandCount','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','830944zFnYCU','commands','1429242gPnMWU','report','Unsupported\x20schemaVersion:\x20','].manifest','digest'];a63_0x5d48=function(){return _0x12f0c8;};return a63_0x5d48();}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a63_0x3a661e(0x1c8);export function getServiceRegistryPath(_0x340324={}){const _0x221c0e=a63_0x3a661e;return resolve(_0x340324[_0x221c0e(0x1c2)]??homedir(),PRODUCT_CONFIG[_0x221c0e(0x1e1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x225be8={}){const _0x4c7815=a63_0x3a661e,_0x583b6d=getServiceRegistryPath(_0x225be8);if(!existsSync(_0x583b6d))return emptyServiceRegistry();try{const _0x2e3d0a=readFileSync(_0x583b6d,_0x4c7815(0x1c7));if(!_0x2e3d0a['trim']())return emptyServiceRegistry();const _0x4e7b5a=JSON['parse'](_0x2e3d0a);if(_0x4e7b5a[_0x4c7815(0x1d2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4c7815(0x1de)](_0x4c7815(0x1a1)+String(_0x4e7b5a[_0x4c7815(0x1d2)]),_0x4c7815(0x1e0)+_0x583b6d+'.');if(!Array[_0x4c7815(0x194)](_0x4e7b5a[_0x4c7815(0x1da)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e7b5a[_0x4c7815(0x1e5)],'services':_0x4e7b5a[_0x4c7815(0x1da)]};}catch(_0x24c61a){if(_0x24c61a instanceof Error&&_0x24c61a[_0x4c7815(0x1ca)]===_0x4c7815(0x1df))throw _0x24c61a;throw CliErrors[_0x4c7815(0x1de)](_0x4c7815(0x1a4)+_0x583b6d,_0x4c7815(0x195));}}export function writeServiceRegistry(_0x53db6c,_0x1bbc98={}){const _0x684a78=a63_0x3a661e,_0x484e59=getServiceRegistryPath(_0x1bbc98),_0xa0110d=dirname(_0x484e59);!existsSync(_0xa0110d)&&mkdirSync(_0xa0110d,{'recursive':!![]});const _0x3be417=_0x484e59+_0x684a78(0x1be);try{writeFileSync(_0x3be417,JSON[_0x684a78(0x1d7)](_0x53db6c,null,0x2)+'\x0a',{'encoding':_0x684a78(0x1c7),'mode':0x180}),renameSync(_0x3be417,_0x484e59);}catch(_0x284482){try{unlinkSync(_0x3be417);}catch{}if(_0x284482?.['code']===_0x684a78(0x19a))throw CliErrors[_0x684a78(0x1de)](_0x684a78(0x196)+_0x484e59);throw _0x284482;}return _0x484e59;}export function loadServiceManifestFromFile(_0xe0ca2d){const _0x36860f=a63_0x3a661e,_0x3b9de7=resolve(_0xe0ca2d);if(!existsSync(_0x3b9de7))throw CliErrors[_0x36860f(0x1de)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0xe0ca2d);let _0x291caf;const _0x3ad6a2=readFileSync(_0x3b9de7,_0x36860f(0x1c7));try{_0x291caf=JSON[_0x36860f(0x1c9)](_0x3ad6a2);}catch{throw CliErrors['validation'](_0x36860f(0x1cc)+_0xe0ca2d,_0x36860f(0x1af));}const _0x21db2d=sha256(_0x3ad6a2),_0x2a02ce=extractLoadedServiceManifests(_0x291caf,_0x21db2d),_0x366285=aggregateValidationReports(_0x2a02ce),_0x57cbe8=_0x2a02ce[0x0];return{'filePath':_0x3b9de7,'hash':_0x21db2d,'kind':isServiceRegistryLike(_0x291caf)?_0x36860f(0x1ce):'manifest','manifest':_0x57cbe8?.['manifest']??_0x291caf,'report':_0x366285,'normalizedManifest':_0x2a02ce[_0x36860f(0x1c3)]===0x1?_0x57cbe8?.['normalizedManifest']:undefined,'manifests':_0x2a02ce};}export function importServiceManifest(_0x36213e,_0x4ae059={}){const _0x1a43af=a63_0x3a661e,_0x44dc60=loadServiceManifestFromFile(_0x36213e);if(!_0x44dc60[_0x1a43af(0x1b3)]['ok'])throw CliErrors[_0x1a43af(0x1de)](formatValidationFailure(_0x44dc60[_0x1a43af(0x1b3)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x44dc60[_0x1a43af(0x1dd)][_0x1a43af(0x1c3)]===0x0)throw CliErrors[_0x1a43af(0x1de)](_0x1a43af(0x1d9),_0x1a43af(0x1bb));const _0xb1927d=readServiceRegistry(_0x4ae059),_0x208224=(_0x4ae059[_0x1a43af(0x1d6)]??(()=>new Date()))()[_0x1a43af(0x199)](),_0x5bb51c=[];let _0x18283f=0x0,_0xb9b6aa=0x0;for(const _0x249879 of _0x44dc60['manifests']){if(!_0x249879['normalizedManifest'])continue;const _0x200a14=_0x249879[_0x1a43af(0x1cd)]['service'][_0x1a43af(0x1a8)],_0x24ed25={'serviceCode':_0x200a14,'version':_0x249879[_0x1a43af(0x1cd)][_0x1a43af(0x1ac)],'importedAt':_0x208224,'source':{'type':_0x1a43af(0x1db),'path':_0x44dc60[_0x1a43af(0x1ad)],'hash':_0x249879[_0x1a43af(0x1d8)]},'manifest':_0x249879[_0x1a43af(0x19f)],'normalizedManifest':_0x249879[_0x1a43af(0x1cd)]},_0x22ff21=_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1e7)](_0x3e7851=>_0x3e7851[_0x1a43af(0x1e4)]===_0x200a14);_0x22ff21>=0x0?(_0xb1927d[_0x1a43af(0x1da)][_0x22ff21]=_0x24ed25,_0xb9b6aa++):(_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1ab)](_0x24ed25),_0x18283f++),_0x5bb51c['push'](_0x24ed25);}_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1bf)]((_0xeed1f7,_0xc75427)=>_0xeed1f7[_0x1a43af(0x1e4)][_0x1a43af(0x1a5)](_0xc75427[_0x1a43af(0x1e4)])),_0xb1927d['updatedAt']=_0x208224;const _0x1e1a8e=writeServiceRegistry(_0xb1927d,_0x4ae059);return{'registryPath':_0x1e1a8e,'entry':_0x5bb51c[0x0],'replaced':_0x5bb51c[_0x1a43af(0x1c3)]===0x1?_0xb9b6aa===0x1:_0xb9b6aa>0x0,'entries':_0x5bb51c,'imported':_0x18283f,'updated':_0xb9b6aa,'serviceCount':_0xb1927d[_0x1a43af(0x1da)][_0x1a43af(0x1c3)]};}export function exportServiceManifest(_0x1566de,_0x4ea399,_0x187f2f={}){const _0x38c7fe=a63_0x3a661e,_0x18f1ef=getServiceRegistryPath(_0x187f2f),_0xe2dbef=getLocalServiceEntry(_0x1566de,_0x187f2f);if(!_0xe2dbef)throw CliErrors['validation'](_0x38c7fe(0x1cf)+_0x1566de,_0x38c7fe(0x1e2));const _0x50daa6=resolve(_0x4ea399),_0x223889=dirname(_0x50daa6);return!existsSync(_0x223889)&&mkdirSync(_0x223889,{'recursive':!![]}),writeFileSync(_0x50daa6,JSON[_0x38c7fe(0x1d7)](_0xe2dbef[_0x38c7fe(0x19f)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x18f1ef,'filePath':_0x50daa6,'entry':_0xe2dbef};}export function removeServiceManifest(_0x11294c,_0x595e28={}){const _0x3a9d9a=a63_0x3a661e,_0x2ee341=readServiceRegistry(_0x595e28),_0x338d9f=_0x11294c[_0x3a9d9a(0x1e6)](),_0x1b7165=_0x2ee341['services'][_0x3a9d9a(0x1e7)](_0x3b755e=>_0x3b755e[_0x3a9d9a(0x1e4)]===_0x338d9f);if(_0x1b7165<0x0)throw CliErrors[_0x3a9d9a(0x1de)](_0x3a9d9a(0x1cf)+_0x338d9f,_0x3a9d9a(0x1e2));const [_0x2ef0ce]=_0x2ee341['services']['splice'](_0x1b7165,0x1),_0x15446b=(_0x595e28[_0x3a9d9a(0x1d6)]??(()=>new Date()))()[_0x3a9d9a(0x199)]();_0x2ee341['updatedAt']=_0x15446b;const _0x7b761f=writeServiceRegistry(_0x2ee341,_0x595e28);return{'registryPath':_0x7b761f,'entry':_0x2ef0ce,'serviceCount':_0x2ee341[_0x3a9d9a(0x1da)][_0x3a9d9a(0x1c3)]};}export function listLocalServices(_0x33bbc2={}){const _0xbe6e1a=a63_0x3a661e;return readServiceRegistry(_0x33bbc2)[_0xbe6e1a(0x1da)];}export function getLocalServiceEntry(_0x12180a,_0x1026ad={}){const _0x33b1b8=a63_0x3a661e;return readServiceRegistry(_0x1026ad)['services']['find'](_0xd5307a=>_0xd5307a[_0x33b1b8(0x1e4)]===_0x12180a[_0x33b1b8(0x1e6)]());}export function listLocalServiceTrees(_0x1e6ac6={}){const _0x2e0ea2=a63_0x3a661e;return readServiceRegistry(_0x1e6ac6)[_0x2e0ea2(0x1da)]['map'](_0x48c1b3=>_0x48c1b3[_0x2e0ea2(0x1cd)]);}export function inspectServiceRegistry(_0x178a86={}){const _0x3048b5=a63_0x3a661e,_0xb2fc41=getServiceRegistryPath(_0x178a86);if(!existsSync(_0xb2fc41))return emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x1d1),![]);try{const _0x4628bf=readFileSync(_0xb2fc41,_0x3048b5(0x1c7));if(!_0x4628bf['trim']())return emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x1c6),!![]);const _0x1e3373=JSON[_0x3048b5(0x1c9)](_0x4628bf);if(_0x1e3373[_0x3048b5(0x1d2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xb2fc41,'invalid',!![]),'schemaVersion':_0x1e3373['schemaVersion'],'message':_0x3048b5(0x1b4)+String(_0x1e3373[_0x3048b5(0x1d2)])};if(!Array['isArray'](_0x1e3373[_0x3048b5(0x1da)]))return{...emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x190),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e3373[_0x3048b5(0x1e5)],'message':'services\x20must\x20be\x20an\x20array'};const _0x2c833f=_0x1e3373['services'][_0x3048b5(0x19c)](summarizeLocalServiceEntry);return{'registryPath':_0xb2fc41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1e3373[_0x3048b5(0x1e5)],'serviceCount':_0x2c833f[_0x3048b5(0x1c3)],'commandCount':_0x2c833f['reduce']((_0x5ab634,_0x2e6cf8)=>_0x5ab634+_0x2e6cf8[_0x3048b5(0x1ae)],0x0),'services':_0x2c833f};}catch(_0x5cb173){return{...emptyServiceRegistryInspection(_0xb2fc41,_0x3048b5(0x190),!![]),'message':_0x5cb173 instanceof Error?_0x5cb173[_0x3048b5(0x1b7)]:String(_0x5cb173)};}}export function formatValidationFailure(_0x3663f8){const _0x5048d9=a63_0x3a661e,_0x52e457=_0x3663f8[_0x5048d9(0x1a9)][_0x5048d9(0x19c)](_0x490bbf=>_0x490bbf[_0x5048d9(0x192)]+':\x20'+_0x490bbf['message']);return _0x5048d9(0x1c5)+_0x52e457[_0x5048d9(0x198)]('\x0a');}function extractLoadedServiceManifests(_0x84fba0,_0x137590){const _0x5117e4=a63_0x3a661e;if(!isServiceRegistryLike(_0x84fba0)){const _0x12a395=_0x84fba0,{manifest:_0x7d03d7,errors:_0x35108d}=adaptServiceTreeManifestForLegacyFramework(_0x12a395),_0x367ac4=validateServiceTreeManifest(_0x7d03d7),_0xe2d24a=mergeValidationErrors(_0x367ac4,_0x35108d);return[{'manifest':_0x12a395,'report':_0xe2d24a,'normalizedManifest':_0xe2d24a['ok']?normalizeServiceTreeManifest(_0x7d03d7):undefined,'sourceHash':_0x137590}];}return _0x84fba0[_0x5117e4(0x1da)][_0x5117e4(0x19c)]((_0xc97930,_0xb4519f)=>{const _0x193555=_0x5117e4,_0x12629f=isObjectRecord(_0xc97930)?_0xc97930[_0x193555(0x19f)]:undefined,{manifest:_0x38dff2,errors:_0x437937}=adaptServiceTreeManifestForLegacyFramework(_0x12629f),_0x3c89bf=validateServiceTreeManifest(_0x38dff2),_0x21f2ae=mergeValidationErrors(_0x3c89bf,_0x437937),_0x5dfc60=isObjectRecord(_0xc97930)&&typeof _0xc97930[_0x193555(0x1e4)]==='string'?_0xc97930['serviceCode']:undefined;return{'manifest':_0x12629f,'report':_0x21f2ae,'normalizedManifest':_0x21f2ae['ok']?normalizeServiceTreeManifest(_0x38dff2):undefined,'sourceHash':sha256(JSON['stringify'](_0x12629f,null,0x2)+'\x0a'),'registryIndex':_0xb4519f,'registryServiceCode':_0x5dfc60};});}function mergeValidationErrors(_0x209035,_0x4cab47){const _0x1c9372=a63_0x3a661e,_0x244cda=_0x209035['errors'][_0x1c9372(0x19c)](_0x4c7ab5=>_0x4c7ab5[_0x1c9372(0x1b7)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x4c7ab5,'message':_0x1c9372(0x197)}:_0x4c7ab5),_0x33f41f=[..._0x4cab47,..._0x244cda];return{'ok':_0x33f41f[_0x1c9372(0x1c3)]===0x0,'errors':_0x33f41f,'warnings':_0x209035['warnings']};}function aggregateValidationReports(_0x2f87d4){const _0x3b56a6=a63_0x3a661e,_0x22d112=_0x2f87d4[_0x3b56a6(0x191)](_0x44f552=>_0x44f552[_0x3b56a6(0x19d)]===undefined?_0x44f552[_0x3b56a6(0x1b3)][_0x3b56a6(0x1a9)]:_0x44f552['report'][_0x3b56a6(0x1a9)][_0x3b56a6(0x19c)](_0x97e8e3=>({..._0x97e8e3,'path':prefixRegistryIssuePath(_0x44f552['registryIndex'],_0x97e8e3[_0x3b56a6(0x192)])}))),_0x3f4bd1=_0x2f87d4['flatMap'](_0x5d28d0=>_0x5d28d0[_0x3b56a6(0x19d)]===undefined?_0x5d28d0[_0x3b56a6(0x1b3)][_0x3b56a6(0x1c4)]:_0x5d28d0['report'][_0x3b56a6(0x1c4)]['map'](_0x4fb628=>({..._0x4fb628,'path':prefixRegistryIssuePath(_0x5d28d0[_0x3b56a6(0x19d)],_0x4fb628[_0x3b56a6(0x192)])})));return{'ok':_0x22d112[_0x3b56a6(0x1c3)]===0x0,'errors':_0x22d112,'warnings':_0x3f4bd1};}function prefixRegistryIssuePath(_0x2df47e,_0x2800eb){const _0x117af1=a63_0x3a661e;if(_0x2800eb==='$')return'$.services['+_0x2df47e+_0x117af1(0x1b5);if(_0x2800eb[_0x117af1(0x1c1)]('$.'))return'$.services['+_0x2df47e+'].manifest'+_0x2800eb['slice'](0x1);if(_0x2800eb['startsWith']('$['))return _0x117af1(0x1e3)+_0x2df47e+_0x117af1(0x1b5)+_0x2800eb[_0x117af1(0x1cb)](0x1);return _0x117af1(0x1e3)+_0x2df47e+'].manifest.'+_0x2800eb;}function isServiceRegistryLike(_0x94bbf1){const _0x4d77e1=a63_0x3a661e;return isObjectRecord(_0x94bbf1)&&_0x94bbf1[_0x4d77e1(0x1d2)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x4d77e1(0x194)](_0x94bbf1[_0x4d77e1(0x1da)]);}function isObjectRecord(_0x59fe0d){const _0x5c134a=a63_0x3a661e;return Boolean(_0x59fe0d)&&typeof _0x59fe0d==='object'&&!Array[_0x5c134a(0x194)](_0x59fe0d);}function a63_0x5803(_0x212977,_0x3ac00e){_0x212977=_0x212977-0x190;const _0x5d481f=a63_0x5d48();let _0x58032d=_0x5d481f[_0x212977];return _0x58032d;}function emptyServiceRegistryInspection(_0x4ae7bb,_0x225d81,_0x48f64e){return{'registryPath':_0x4ae7bb,'exists':_0x48f64e,'status':_0x225d81,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x171907){const _0x363451=a63_0x3a661e,_0xec2bb9=_0x171907[_0x363451(0x1cd)],_0x2b2a80=_0xec2bb9[_0x363451(0x1b1)][_0x363451(0x19c)](_0x1c9a4c=>({'path':_0x1c9a4c[_0x363451(0x193)],'description':_0x1c9a4c[_0x363451(0x1a6)],'risk':_0x1c9a4c[_0x363451(0x1a0)],'targetKind':_0x1c9a4c['target'][_0x363451(0x1bc)],'targetCommand':_0x1c9a4c[_0x363451(0x1d5)][_0x363451(0x19e)]}));return{'serviceCode':_0x171907[_0x363451(0x1e4)],'name':_0xec2bb9[_0x363451(0x1d4)][_0x363451(0x1ca)],'description':_0xec2bb9[_0x363451(0x1d4)][_0x363451(0x1a6)],'version':_0x171907[_0x363451(0x1ac)],'importedAt':_0x171907[_0x363451(0x1aa)],'source':_0x171907[_0x363451(0x1bd)],'commandCount':_0x2b2a80['length'],'commands':_0x2b2a80};}function sha256(_0x2a03f3){const _0x573e2c=a63_0x3a661e;return createHash(_0x573e2c(0x19b))[_0x573e2c(0x1a2)](_0x2a03f3)[_0x573e2c(0x1b6)](_0x573e2c(0x1b9));}
1
+ const a63_0xe12cb7=a63_0x4879;(function(_0x4ac71c,_0x2e57fd){const _0x1d0db2=a63_0x4879,_0x154c48=_0x4ac71c();while(!![]){try{const _0x429bc7=-parseInt(_0x1d0db2(0x11e))/0x1+-parseInt(_0x1d0db2(0x119))/0x2+-parseInt(_0x1d0db2(0x148))/0x3+parseInt(_0x1d0db2(0x11f))/0x4*(parseInt(_0x1d0db2(0x103))/0x5)+-parseInt(_0x1d0db2(0x138))/0x6*(-parseInt(_0x1d0db2(0x144))/0x7)+parseInt(_0x1d0db2(0x10b))/0x8*(-parseInt(_0x1d0db2(0x13b))/0x9)+-parseInt(_0x1d0db2(0x118))/0xa*(-parseInt(_0x1d0db2(0x156))/0xb);if(_0x429bc7===_0x2e57fd)break;else _0x154c48['push'](_0x154c48['shift']());}catch(_0x33d9f2){_0x154c48['push'](_0x154c48['shift']());}}}(a63_0x150c,0x20f90));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a63_0xe12cb7(0x13a);export function getServiceRegistryPath(_0x251b2f={}){const _0x16b876=a63_0xe12cb7;return resolve(_0x251b2f[_0x16b876(0x12d)]??homedir(),PRODUCT_CONFIG[_0x16b876(0x136)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x212662={}){const _0x503326=a63_0xe12cb7,_0x274cdc=getServiceRegistryPath(_0x212662);if(!existsSync(_0x274cdc))return emptyServiceRegistry();try{const _0x5eefb2=readFileSync(_0x274cdc,_0x503326(0x123));if(!_0x5eefb2[_0x503326(0x104)]())return emptyServiceRegistry();const _0xbdaa41=JSON[_0x503326(0x110)](_0x5eefb2);if(_0xbdaa41[_0x503326(0x126)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x503326(0x130)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0xbdaa41[_0x503326(0x126)]),_0x503326(0x112)+_0x274cdc+'.');if(!Array[_0x503326(0x108)](_0xbdaa41[_0x503326(0x146)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xbdaa41[_0x503326(0x13e)],'services':_0xbdaa41[_0x503326(0x146)]};}catch(_0x47671e){if(_0x47671e instanceof Error&&_0x47671e[_0x503326(0x129)]===_0x503326(0x117))throw _0x47671e;throw CliErrors['validation']('Invalid\x20service\x20registry\x20JSON:\x20'+_0x274cdc,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x574a51,_0x561b10={}){const _0x3c0164=a63_0xe12cb7,_0x55133c=getServiceRegistryPath(_0x561b10),_0x5e9d66=dirname(_0x55133c);!existsSync(_0x5e9d66)&&mkdirSync(_0x5e9d66,{'recursive':!![]});const _0xf6b067=_0x55133c+_0x3c0164(0x125);try{writeFileSync(_0xf6b067,JSON[_0x3c0164(0x141)](_0x574a51,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0xf6b067,_0x55133c);}catch(_0x483b43){try{unlinkSync(_0xf6b067);}catch{}if(_0x483b43?.[_0x3c0164(0x150)]===_0x3c0164(0x154))throw CliErrors[_0x3c0164(0x130)]('Cannot\x20write\x20service\x20registry:\x20'+_0x55133c);throw _0x483b43;}return _0x55133c;}export function loadServiceManifestFromFile(_0x1c03aa){const _0x589673=a63_0xe12cb7,_0x41688d=resolve(_0x1c03aa);if(!existsSync(_0x41688d))throw CliErrors[_0x589673(0x130)](_0x589673(0x143)+_0x1c03aa);let _0x51705a;const _0x225e7e=readFileSync(_0x41688d,_0x589673(0x123));try{_0x51705a=JSON[_0x589673(0x110)](_0x225e7e);}catch{throw CliErrors[_0x589673(0x130)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x1c03aa,_0x589673(0x10c));}const _0xd01dfc=sha256(_0x225e7e),_0x172a7e=extractLoadedServiceManifests(_0x51705a,_0xd01dfc),_0x1a7bc4=aggregateValidationReports(_0x172a7e),_0x575fc5=_0x172a7e[0x0];return{'filePath':_0x41688d,'hash':_0xd01dfc,'kind':isServiceRegistryLike(_0x51705a)?_0x589673(0x128):'manifest','manifest':_0x575fc5?.[_0x589673(0x10f)]??_0x51705a,'report':_0x1a7bc4,'normalizedManifest':_0x172a7e[_0x589673(0x10e)]===0x1?_0x575fc5?.[_0x589673(0x121)]:undefined,'manifests':_0x172a7e};}export function importServiceManifest(_0x2abd48,_0x5bb3e6={}){const _0x263bfe=a63_0xe12cb7,_0x187379=loadServiceManifestFromFile(_0x2abd48);if(!_0x187379['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x187379[_0x263bfe(0x147)]),_0x263bfe(0x14c));if(_0x187379[_0x263bfe(0x12b)][_0x263bfe(0x10e)]===0x0)throw CliErrors[_0x263bfe(0x130)](_0x263bfe(0x111),_0x263bfe(0x11c));const _0x2c4f2c=readServiceRegistry(_0x5bb3e6),_0x411ed5=(_0x5bb3e6[_0x263bfe(0x149)]??(()=>new Date()))()[_0x263bfe(0x13c)](),_0x475902=[];let _0x3c26b5=0x0,_0x4f882a=0x0;for(const _0x714a05 of _0x187379[_0x263bfe(0x12b)]){if(!_0x714a05[_0x263bfe(0x121)])continue;const _0x18d25d=_0x714a05['normalizedManifest'][_0x263bfe(0x152)]['code'],_0x2d4408={'serviceCode':_0x18d25d,'version':_0x714a05[_0x263bfe(0x121)][_0x263bfe(0x12c)],'importedAt':_0x411ed5,'source':{'type':_0x263bfe(0x11d),'path':_0x187379[_0x263bfe(0x14f)],'hash':_0x714a05[_0x263bfe(0x134)]},'manifest':_0x714a05[_0x263bfe(0x10f)],'normalizedManifest':_0x714a05[_0x263bfe(0x121)]},_0x1fe004=_0x2c4f2c[_0x263bfe(0x146)][_0x263bfe(0x12a)](_0x57aebb=>_0x57aebb[_0x263bfe(0x14b)]===_0x18d25d);_0x1fe004>=0x0?(_0x2c4f2c[_0x263bfe(0x146)][_0x1fe004]=_0x2d4408,_0x4f882a++):(_0x2c4f2c[_0x263bfe(0x146)][_0x263bfe(0x106)](_0x2d4408),_0x3c26b5++),_0x475902[_0x263bfe(0x106)](_0x2d4408);}_0x2c4f2c['services'][_0x263bfe(0x14d)]((_0x442930,_0x351d7c)=>_0x442930['serviceCode'][_0x263bfe(0x13d)](_0x351d7c['serviceCode'])),_0x2c4f2c[_0x263bfe(0x13e)]=_0x411ed5;const _0x2c39aa=writeServiceRegistry(_0x2c4f2c,_0x5bb3e6);return{'registryPath':_0x2c39aa,'entry':_0x475902[0x0],'replaced':_0x475902[_0x263bfe(0x10e)]===0x1?_0x4f882a===0x1:_0x4f882a>0x0,'entries':_0x475902,'imported':_0x3c26b5,'updated':_0x4f882a,'serviceCount':_0x2c4f2c[_0x263bfe(0x146)][_0x263bfe(0x10e)]};}function a63_0x150c(){const _0x1cb5c4=['sort','splice','filePath','code','path','service','description','ENOENT','message','55oQBHMG','295005fomMRc','trim','target','push','kind','isArray','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','commands','16qJMWQH','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','join','length','manifest','parse','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Remove\x20or\x20migrate\x20','invalid','commandCount','find','flatMap','CliError','1537600CrYeSZ','280400AUPIEI','hex','source','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','file','119973ogEbIA','4DbagFh','$.services[','normalizedManifest','].manifest','utf8','empty','.tmp','schemaVersion','registryIndex','registry','name','findIndex','manifests','version','homeDir','startsWith','].manifest.','validation','Local\x20service\x20not\x20found:\x20','errors','importedAt','sourceHash','cliPath','homeDirName','services\x20must\x20be\x20an\x20array','6yaUhjl','string','service.json','1074204RlBFwj','toISOString','localeCompare','updatedAt','warnings','Service\x20manifest\x20validation\x20failed:\x0a','stringify','risk','Service\x20manifest\x20file\x20not\x20found:\x20','518847BEsPZU','map','services','report','803943dnUeya','now','missing','serviceCode','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.'];a63_0x150c=function(){return _0x1cb5c4;};return a63_0x150c();}export function exportServiceManifest(_0x1d8aa4,_0x505e5d,_0x37975b={}){const _0x1ba897=a63_0xe12cb7,_0x59a14c=getServiceRegistryPath(_0x37975b),_0x48d4a4=getLocalServiceEntry(_0x1d8aa4,_0x37975b);if(!_0x48d4a4)throw CliErrors[_0x1ba897(0x130)](_0x1ba897(0x131)+_0x1d8aa4,_0x1ba897(0x109));const _0x369098=resolve(_0x505e5d),_0x4baa88=dirname(_0x369098);return!existsSync(_0x4baa88)&&mkdirSync(_0x4baa88,{'recursive':!![]}),writeFileSync(_0x369098,JSON['stringify'](_0x48d4a4['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x59a14c,'filePath':_0x369098,'entry':_0x48d4a4};}function a63_0x4879(_0x2629e7,_0x360a52){_0x2629e7=_0x2629e7-0x103;const _0x150c20=a63_0x150c();let _0x48795d=_0x150c20[_0x2629e7];return _0x48795d;}export function removeServiceManifest(_0x11a009,_0xa739fc={}){const _0x383012=a63_0xe12cb7,_0x24474a=readServiceRegistry(_0xa739fc),_0x3e4621=_0x11a009[_0x383012(0x104)](),_0x47b6ad=_0x24474a[_0x383012(0x146)][_0x383012(0x12a)](_0x1e5376=>_0x1e5376[_0x383012(0x14b)]===_0x3e4621);if(_0x47b6ad<0x0)throw CliErrors[_0x383012(0x130)]('Local\x20service\x20not\x20found:\x20'+_0x3e4621,_0x383012(0x109));const [_0xc051b2]=_0x24474a[_0x383012(0x146)][_0x383012(0x14e)](_0x47b6ad,0x1),_0x44c461=(_0xa739fc['now']??(()=>new Date()))()[_0x383012(0x13c)]();_0x24474a['updatedAt']=_0x44c461;const _0x308a82=writeServiceRegistry(_0x24474a,_0xa739fc);return{'registryPath':_0x308a82,'entry':_0xc051b2,'serviceCount':_0x24474a[_0x383012(0x146)][_0x383012(0x10e)]};}export function listLocalServices(_0x42978d={}){const _0x1a07c8=a63_0xe12cb7;return readServiceRegistry(_0x42978d)[_0x1a07c8(0x146)];}export function getLocalServiceEntry(_0x468efb,_0x2885c9={}){const _0x2985ab=a63_0xe12cb7;return readServiceRegistry(_0x2885c9)[_0x2985ab(0x146)][_0x2985ab(0x115)](_0x4ad9f5=>_0x4ad9f5[_0x2985ab(0x14b)]===_0x468efb['trim']());}export function listLocalServiceTrees(_0x40a912={}){const _0x2f6f83=a63_0xe12cb7;return readServiceRegistry(_0x40a912)['services'][_0x2f6f83(0x145)](_0x244bb1=>_0x244bb1[_0x2f6f83(0x121)]);}export function inspectServiceRegistry(_0x3825a1={}){const _0x3037aa=a63_0xe12cb7,_0x1d6a37=getServiceRegistryPath(_0x3825a1);if(!existsSync(_0x1d6a37))return emptyServiceRegistryInspection(_0x1d6a37,_0x3037aa(0x14a),![]);try{const _0x33d7ac=readFileSync(_0x1d6a37,_0x3037aa(0x123));if(!_0x33d7ac[_0x3037aa(0x104)]())return emptyServiceRegistryInspection(_0x1d6a37,_0x3037aa(0x124),!![]);const _0xd6f593=JSON[_0x3037aa(0x110)](_0x33d7ac);if(_0xd6f593[_0x3037aa(0x126)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1d6a37,_0x3037aa(0x113),!![]),'schemaVersion':_0xd6f593[_0x3037aa(0x126)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0xd6f593['schemaVersion'])};if(!Array[_0x3037aa(0x108)](_0xd6f593[_0x3037aa(0x146)]))return{...emptyServiceRegistryInspection(_0x1d6a37,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xd6f593[_0x3037aa(0x13e)],'message':_0x3037aa(0x137)};const _0x154d69=_0xd6f593[_0x3037aa(0x146)][_0x3037aa(0x145)](summarizeLocalServiceEntry);return{'registryPath':_0x1d6a37,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xd6f593[_0x3037aa(0x13e)],'serviceCount':_0x154d69[_0x3037aa(0x10e)],'commandCount':_0x154d69['reduce']((_0x7a3988,_0x16618b)=>_0x7a3988+_0x16618b[_0x3037aa(0x114)],0x0),'services':_0x154d69};}catch(_0x4d320a){return{...emptyServiceRegistryInspection(_0x1d6a37,_0x3037aa(0x113),!![]),'message':_0x4d320a instanceof Error?_0x4d320a[_0x3037aa(0x155)]:String(_0x4d320a)};}}export function formatValidationFailure(_0x41dfa7){const _0x403a44=a63_0xe12cb7,_0x27a304=_0x41dfa7[_0x403a44(0x132)]['map'](_0x362d7e=>_0x362d7e[_0x403a44(0x151)]+':\x20'+_0x362d7e[_0x403a44(0x155)]);return _0x403a44(0x140)+_0x27a304[_0x403a44(0x10d)]('\x0a');}function extractLoadedServiceManifests(_0x5bf83b,_0x2b4f65){const _0x36724e=a63_0xe12cb7;if(!isServiceRegistryLike(_0x5bf83b)){const _0x4a168c=_0x5bf83b,{manifest:_0x1342ee,errors:_0x3bbb3f}=adaptServiceTreeManifestForLegacyFramework(_0x4a168c),_0x1158a1=validateServiceTreeManifest(_0x1342ee),_0x4edd3c=mergeValidationErrors(_0x1158a1,_0x3bbb3f);return[{'manifest':_0x4a168c,'report':_0x4edd3c,'normalizedManifest':_0x4edd3c['ok']?normalizeServiceTreeManifest(_0x1342ee):undefined,'sourceHash':_0x2b4f65}];}return _0x5bf83b[_0x36724e(0x146)][_0x36724e(0x145)]((_0x4ff976,_0x19e188)=>{const _0x46093d=_0x36724e,_0x3821c5=isObjectRecord(_0x4ff976)?_0x4ff976[_0x46093d(0x10f)]:undefined,{manifest:_0x5a6241,errors:_0x5e7dec}=adaptServiceTreeManifestForLegacyFramework(_0x3821c5),_0x1c3495=validateServiceTreeManifest(_0x5a6241),_0x164e76=mergeValidationErrors(_0x1c3495,_0x5e7dec),_0x18d44a=isObjectRecord(_0x4ff976)&&typeof _0x4ff976[_0x46093d(0x14b)]===_0x46093d(0x139)?_0x4ff976[_0x46093d(0x14b)]:undefined;return{'manifest':_0x3821c5,'report':_0x164e76,'normalizedManifest':_0x164e76['ok']?normalizeServiceTreeManifest(_0x5a6241):undefined,'sourceHash':sha256(JSON[_0x46093d(0x141)](_0x3821c5,null,0x2)+'\x0a'),'registryIndex':_0x19e188,'registryServiceCode':_0x18d44a};});}function mergeValidationErrors(_0x32c843,_0x56e6cd){const _0x13521d=a63_0xe12cb7,_0x2bc328=_0x32c843[_0x13521d(0x132)][_0x13521d(0x145)](_0x8dce27=>_0x8dce27[_0x13521d(0x155)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x8dce27,'message':'bff\x20target\x20requires\x20functionName.'}:_0x8dce27),_0x51f885=[..._0x56e6cd,..._0x2bc328];return{'ok':_0x51f885[_0x13521d(0x10e)]===0x0,'errors':_0x51f885,'warnings':_0x32c843['warnings']};}function aggregateValidationReports(_0x2eb406){const _0x1c2d33=a63_0xe12cb7,_0x11435a=_0x2eb406['flatMap'](_0x381cad=>_0x381cad['registryIndex']===undefined?_0x381cad['report'][_0x1c2d33(0x132)]:_0x381cad['report']['errors']['map'](_0x529f60=>({..._0x529f60,'path':prefixRegistryIssuePath(_0x381cad[_0x1c2d33(0x127)],_0x529f60[_0x1c2d33(0x151)])}))),_0x2a043d=_0x2eb406[_0x1c2d33(0x116)](_0x5ae762=>_0x5ae762[_0x1c2d33(0x127)]===undefined?_0x5ae762[_0x1c2d33(0x147)][_0x1c2d33(0x13f)]:_0x5ae762[_0x1c2d33(0x147)][_0x1c2d33(0x13f)][_0x1c2d33(0x145)](_0x238223=>({..._0x238223,'path':prefixRegistryIssuePath(_0x5ae762['registryIndex'],_0x238223[_0x1c2d33(0x151)])})));return{'ok':_0x11435a['length']===0x0,'errors':_0x11435a,'warnings':_0x2a043d};}function prefixRegistryIssuePath(_0x542148,_0x1bf238){const _0x1841bb=a63_0xe12cb7;if(_0x1bf238==='$')return _0x1841bb(0x120)+_0x542148+_0x1841bb(0x122);if(_0x1bf238[_0x1841bb(0x12e)]('$.'))return'$.services['+_0x542148+_0x1841bb(0x122)+_0x1bf238['slice'](0x1);if(_0x1bf238[_0x1841bb(0x12e)]('$['))return _0x1841bb(0x120)+_0x542148+_0x1841bb(0x122)+_0x1bf238['slice'](0x1);return'$.services['+_0x542148+_0x1841bb(0x12f)+_0x1bf238;}function isServiceRegistryLike(_0x4381be){const _0x25134a=a63_0xe12cb7;return isObjectRecord(_0x4381be)&&_0x4381be[_0x25134a(0x126)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x25134a(0x108)](_0x4381be[_0x25134a(0x146)]);}function isObjectRecord(_0x358548){return Boolean(_0x358548)&&typeof _0x358548==='object'&&!Array['isArray'](_0x358548);}function emptyServiceRegistryInspection(_0x4c5a46,_0x582288,_0x1f3095){return{'registryPath':_0x4c5a46,'exists':_0x1f3095,'status':_0x582288,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x172fec){const _0x30c64f=a63_0xe12cb7,_0x3981e2=_0x172fec['normalizedManifest'],_0x3f4a06=_0x3981e2[_0x30c64f(0x10a)][_0x30c64f(0x145)](_0x324a24=>({'path':_0x324a24[_0x30c64f(0x135)],'description':_0x324a24['description'],'risk':_0x324a24[_0x30c64f(0x142)],'targetKind':_0x324a24[_0x30c64f(0x105)][_0x30c64f(0x107)],'targetCommand':_0x324a24[_0x30c64f(0x105)]['command']}));return{'serviceCode':_0x172fec[_0x30c64f(0x14b)],'name':_0x3981e2[_0x30c64f(0x152)][_0x30c64f(0x129)],'description':_0x3981e2['service'][_0x30c64f(0x153)],'version':_0x172fec[_0x30c64f(0x12c)],'importedAt':_0x172fec[_0x30c64f(0x133)],'source':_0x172fec[_0x30c64f(0x11b)],'commandCount':_0x3f4a06[_0x30c64f(0x10e)],'commands':_0x3f4a06};}function sha256(_0x175900){const _0x5c2716=a63_0xe12cb7;return createHash('sha256')['update'](_0x175900)['digest'](_0x5c2716(0x11a));}
@@ -1 +1 @@
1
- function a64_0x1854(){const _0x4085b5=['Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillName','4286466CadqLP','skill','name','WRITE','7ELaRoq','1292049ZdgMHk','Skill\x20directory\x20already\x20exists:\x20','read','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','5188490lZiQsH','5156EJcGir','path','target','3655YRuRWb','force','44802XrkUTj','validation','trim','type','map','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','Created\x20local\x20Skill\x20draft\x20','bool','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','files','isSymbolicLink','rendered','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','skillDir','str','11615368STFSqp','1243881fHxfQO','84fspDDe'];a64_0x1854=function(){return _0x4085b5;};return a64_0x1854();}const a64_0x82a23c=a64_0x2076;function a64_0x2076(_0x3e069a,_0x57a830){_0x3e069a=_0x3e069a-0x172;const _0x1854fc=a64_0x1854();let _0x2076cd=_0x1854fc[_0x3e069a];return _0x2076cd;}(function(_0x3853ef,_0x155c8b){const _0x53f27d=a64_0x2076,_0x183e24=_0x3853ef();while(!![]){try{const _0x3c1fe6=parseInt(_0x53f27d(0x188))/0x1*(-parseInt(_0x53f27d(0x176))/0x2)+parseInt(_0x53f27d(0x175))/0x3+parseInt(_0x53f27d(0x183))/0x4*(parseInt(_0x53f27d(0x186))/0x5)+parseInt(_0x53f27d(0x179))/0x6+parseInt(_0x53f27d(0x17d))/0x7*(parseInt(_0x53f27d(0x174))/0x8)+-parseInt(_0x53f27d(0x17e))/0x9+-parseInt(_0x53f27d(0x182))/0xa;if(_0x3c1fe6===_0x155c8b)break;else _0x183e24['push'](_0x183e24['shift']());}catch(_0xeb0c){_0x183e24['push'](_0x183e24['shift']());}}}(a64_0x1854,0xef0b4));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':a64_0x82a23c(0x17a),'command':'create','description':a64_0x82a23c(0x190),'risk':a64_0x82a23c(0x180),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x53cc1c){const _0x537d04=a64_0x82a23c,_0x44bd64=buildSkillCreatePlan(_0x53cc1c[_0x537d04(0x173)](_0x537d04(0x17b)),_0x53cc1c['str']('type'),_0x53cc1c[_0x537d04(0x173)](_0x537d04(0x185)));return{'method':_0x537d04(0x17c),'url':_0x44bd64[_0x537d04(0x172)],'body':{'skillName':_0x44bd64[_0x537d04(0x193)][_0x537d04(0x178)],'type':_0x44bd64[_0x537d04(0x193)][_0x537d04(0x18b)],'selfContained':!![],'files':_0x44bd64[_0x537d04(0x193)]['files'][_0x537d04(0x18c)](_0x43ce92=>_0x43ce92[_0x537d04(0x184)])},'description':_0x537d04(0x18d)};},async 'execute'(_0x558796){const _0x1fc878=a64_0x82a23c,_0x234306=buildSkillCreatePlan(_0x558796[_0x1fc878(0x173)](_0x1fc878(0x17b)),_0x558796['str'](_0x1fc878(0x18b)),_0x558796[_0x1fc878(0x173)]('target'));return writeSkillDraft(_0x234306,_0x558796[_0x1fc878(0x18f)](_0x1fc878(0x187))),{'ok':!![],'data':{'skillName':_0x234306['rendered'][_0x1fc878(0x178)],'type':_0x234306[_0x1fc878(0x193)][_0x1fc878(0x18b)],'dir':_0x234306[_0x1fc878(0x172)],'files':_0x234306[_0x1fc878(0x193)][_0x1fc878(0x191)]['map'](_0x549617=>_0x549617['path'])},'message':_0x1fc878(0x18e)+_0x234306[_0x1fc878(0x193)][_0x1fc878(0x178)]};}};function buildSkillCreatePlan(_0xeb8f75,_0x1b927a,_0x2fd969){const _0x3a503a=a64_0x82a23c,_0xd494d2=_0x1b927a[_0x3a503a(0x18a)](),_0x2809a2=renderSkillTemplate({'skillName':_0xeb8f75,'type':_0xd494d2});!_0xd494d2&&writeCliSideChannelLine(_0x3a503a(0x194));const _0x4ece66=resolve(normalizeSkillTarget(_0x2fd969));return{'rendered':_0x2809a2,'targetRoot':_0x4ece66,'skillDir':resolve(_0x4ece66,_0x2809a2['skillName'])};}function normalizeSkillTarget(_0x5408bc){const _0x6e2cf2=a64_0x82a23c;return(_0x5408bc||DEFAULT_SKILL_TARGET)[_0x6e2cf2(0x18a)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0xb8b293,_0x488ec7){const _0x116d20=a64_0x82a23c;if(existsSync(_0xb8b293[_0x116d20(0x172)])){const _0x54b77f=lstatSync(_0xb8b293[_0x116d20(0x172)]);if(!_0x54b77f['isDirectory']()||_0x54b77f[_0x116d20(0x192)]())throw CliErrors[_0x116d20(0x189)](_0x116d20(0x181)+_0xb8b293['skillDir']);if(!_0x488ec7)throw CliErrors[_0x116d20(0x189)](_0x116d20(0x17f)+_0xb8b293[_0x116d20(0x172)],_0x116d20(0x177));}for(const _0x5bd380 of _0xb8b293[_0x116d20(0x193)][_0x116d20(0x191)]){const _0x29d94b=resolve(_0xb8b293[_0x116d20(0x172)],_0x5bd380[_0x116d20(0x184)]),_0x2fe1a5=dirname(_0x29d94b);mkdirSync(_0x2fe1a5,{'recursive':!![]});if(existsSync(_0x29d94b)&&lstatSync(_0x29d94b)[_0x116d20(0x192)]())throw CliErrors[_0x116d20(0x189)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x29d94b);writeFileSync(_0x29d94b,_0x5bd380['content'],'utf8');}}
1
+ const a64_0x3daaac=a64_0x1d93;(function(_0x24443c,_0x47c669){const _0x11a0a1=a64_0x1d93,_0x263fe2=_0x24443c();while(!![]){try{const _0x14af5e=parseInt(_0x11a0a1(0xdf))/0x1+parseInt(_0x11a0a1(0xd8))/0x2+-parseInt(_0x11a0a1(0xc7))/0x3+parseInt(_0x11a0a1(0xbc))/0x4*(-parseInt(_0x11a0a1(0xc5))/0x5)+-parseInt(_0x11a0a1(0xd5))/0x6*(-parseInt(_0x11a0a1(0xbb))/0x7)+-parseInt(_0x11a0a1(0xd1))/0x8*(-parseInt(_0x11a0a1(0xd2))/0x9)+-parseInt(_0x11a0a1(0xce))/0xa;if(_0x14af5e===_0x47c669)break;else _0x263fe2['push'](_0x263fe2['shift']());}catch(_0x2501d2){_0x263fe2['push'](_0x263fe2['shift']());}}}(a64_0x5ff3,0x46bff));function a64_0x1d93(_0xae1903,_0x57eb3f){_0xae1903=_0xae1903-0xba;const _0x5ff3fc=a64_0x5ff3();let _0x1d939c=_0x5ff3fc[_0xae1903];return _0x1d939c;}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':a64_0x3daaac(0xd3),'command':a64_0x3daaac(0xdd),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a64_0x3daaac(0xcc),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x394dc0){const _0x6574ba=a64_0x3daaac,_0x1554ff=buildSkillCreatePlan(_0x394dc0[_0x6574ba(0xd9)]('name'),_0x394dc0[_0x6574ba(0xd9)](_0x6574ba(0xcd)),_0x394dc0[_0x6574ba(0xd9)]('target'));return{'method':_0x6574ba(0xba),'url':_0x1554ff[_0x6574ba(0xca)],'body':{'skillName':_0x1554ff[_0x6574ba(0xdb)][_0x6574ba(0xc6)],'type':_0x1554ff[_0x6574ba(0xdb)][_0x6574ba(0xcd)],'selfContained':!![],'files':_0x1554ff[_0x6574ba(0xdb)][_0x6574ba(0xc4)][_0x6574ba(0xde)](_0x2a5b21=>_0x2a5b21[_0x6574ba(0xd7)])},'description':_0x6574ba(0xcb)};},async 'execute'(_0x414267){const _0x4e1477=a64_0x3daaac,_0x42169a=buildSkillCreatePlan(_0x414267[_0x4e1477(0xd9)](_0x4e1477(0xbe)),_0x414267[_0x4e1477(0xd9)](_0x4e1477(0xcd)),_0x414267[_0x4e1477(0xd9)](_0x4e1477(0xc3)));return writeSkillDraft(_0x42169a,_0x414267[_0x4e1477(0xdc)](_0x4e1477(0xd4))),{'ok':!![],'data':{'skillName':_0x42169a['rendered'][_0x4e1477(0xc6)],'type':_0x42169a[_0x4e1477(0xdb)][_0x4e1477(0xcd)],'dir':_0x42169a['skillDir'],'files':_0x42169a[_0x4e1477(0xdb)][_0x4e1477(0xc4)][_0x4e1477(0xde)](_0x160751=>_0x160751[_0x4e1477(0xd7)])},'message':_0x4e1477(0xc8)+_0x42169a[_0x4e1477(0xdb)][_0x4e1477(0xc6)]};}};function buildSkillCreatePlan(_0x3f215a,_0x1ea4f9,_0x453663){const _0x4d68a6=a64_0x3daaac,_0x1132a8=_0x1ea4f9['trim'](),_0x20bdc1=renderSkillTemplate({'skillName':_0x3f215a,'type':_0x1132a8});!_0x1132a8&&writeCliSideChannelLine(_0x4d68a6(0xd0));const _0x145513=resolve(normalizeSkillTarget(_0x453663));return{'rendered':_0x20bdc1,'targetRoot':_0x145513,'skillDir':resolve(_0x145513,_0x20bdc1[_0x4d68a6(0xc6)])};}function normalizeSkillTarget(_0x3dc47c){const _0x158a05=a64_0x3daaac;return(_0x3dc47c||DEFAULT_SKILL_TARGET)[_0x158a05(0xbf)]()||DEFAULT_SKILL_TARGET;}function a64_0x5ff3(){const _0x26c08b=['Refusing\x20to\x20overwrite\x20symlink:\x20','rendered','bool','create','map','35463JUdZBw','WRITE','133DYWtCi','777756JmzrtG','isDirectory','name','trim','content','Skill\x20directory\x20already\x20exists:\x20','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','target','files','5ITFtDP','skillName','295074QgiLef','Created\x20local\x20Skill\x20draft\x20','isSymbolicLink','skillDir','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','read','type','6141790lFFMAG','validation','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','104lSWqDx','316233tIttaU','skill','force','97842Rlncfq','utf8','path','789380wNFWPs','str'];a64_0x5ff3=function(){return _0x26c08b;};return a64_0x5ff3();}function writeSkillDraft(_0x177127,_0x372e2a){const _0x15491a=a64_0x3daaac;if(existsSync(_0x177127[_0x15491a(0xca)])){const _0x304585=lstatSync(_0x177127['skillDir']);if(!_0x304585[_0x15491a(0xbd)]()||_0x304585['isSymbolicLink']())throw CliErrors[_0x15491a(0xcf)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x177127[_0x15491a(0xca)]);if(!_0x372e2a)throw CliErrors[_0x15491a(0xcf)](_0x15491a(0xc1)+_0x177127[_0x15491a(0xca)],_0x15491a(0xc2));}for(const _0x4b1c68 of _0x177127[_0x15491a(0xdb)][_0x15491a(0xc4)]){const _0x4a3e72=resolve(_0x177127[_0x15491a(0xca)],_0x4b1c68[_0x15491a(0xd7)]),_0x1b7d63=dirname(_0x4a3e72);mkdirSync(_0x1b7d63,{'recursive':!![]});if(existsSync(_0x4a3e72)&&lstatSync(_0x4a3e72)[_0x15491a(0xc9)]())throw CliErrors[_0x15491a(0xcf)](_0x15491a(0xda)+_0x4a3e72);writeFileSync(_0x4a3e72,_0x4b1c68[_0x15491a(0xc0)],_0x15491a(0xd6));}}
@@ -1 +1 @@
1
- const a65_0x53005f=a65_0x3dd3;function a65_0x1388(){const _0x1febd1=['str','found','test','1335672LWvHVb','10frcTVm','402072yiYoLY','company','Updated','diagram-push','write','validation','scope','version','Found\x20Skill\x20diagram\x20for\x20','diagram-validate','\x20Skill\x20diagram\x20for\x20','appCode',';\x20first\x20write\x20expects\x20revision\x20','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','created','skill','read','86967yngrrZ','21WXpuZk','expected-diagram-revision','diagram-file','72RjdnSO','4405743DgLnKc','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','personal','diagram-show','2036688vKBPbO','35oEdVgi','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','unchanged','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','Created','action','Skill\x20diagram\x20for\x20','trim','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','skillCode','expectedDiagramRevision','1893190ceZbxW','31298VfOkHG','Skill\x20diagram\x20validation\x20passed\x20for\x20'];a65_0x1388=function(){return _0x1febd1;};return a65_0x1388();}(function(_0x54ee82,_0x5b8c9b){const _0x448bcf=a65_0x3dd3,_0x5d2fd8=_0x54ee82();while(!![]){try{const _0x38e50f=parseInt(_0x448bcf(0x1a4))/0x1*(parseInt(_0x448bcf(0x1b0))/0x2)+parseInt(_0x448bcf(0x19a))/0x3*(-parseInt(_0x448bcf(0x19e))/0x4)+parseInt(_0x448bcf(0x1af))/0x5+parseInt(_0x448bcf(0x1b5))/0x6+-parseInt(_0x448bcf(0x19b))/0x7*(parseInt(_0x448bcf(0x1a3))/0x8)+parseInt(_0x448bcf(0x19f))/0x9*(parseInt(_0x448bcf(0x1b6))/0xa)+parseInt(_0x448bcf(0x1b7))/0xb;if(_0x38e50f===_0x5b8c9b)break;else _0x5d2fd8['push'](_0x5d2fd8['shift']());}catch(_0x18429b){_0x5d2fd8['push'](_0x5d2fd8['shift']());}}}(a65_0x1388,0x5f16c));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a65_0x3dd3(_0x5b577d,_0x37307e){_0x5b577d=_0x5b577d-0x18c;const _0x1388b0=a65_0x1388();let _0x3dd3d0=_0x1388b0[_0x5b577d];return _0x3dd3d0;}import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x36cfa5){const _0x2c846b=a65_0x3dd3,_0x39c893=_0x36cfa5[_0x2c846b(0x1b2)]('skill-code')[_0x2c846b(0x1ab)](),_0x49f7af=_0x36cfa5['str'](_0x2c846b(0x190))[_0x2c846b(0x1ab)](),_0x814ab3=_0x36cfa5[_0x2c846b(0x1b2)](_0x2c846b(0x18f));if(!_0x39c893||!_0x49f7af||_0x814ab3!==_0x2c846b(0x1a1)&&_0x814ab3!==_0x2c846b(0x1b8))throw CliErrors[_0x2c846b(0x18e)]('--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.');return{'skillCode':_0x39c893,'version':_0x49f7af,'scope':_0x814ab3};}async function readDiagramWriteInput(_0x896aa4){const _0x329149=a65_0x3dd3,_0x36eb2c=_0x896aa4['num'](_0x329149(0x19c)),_0x29f217=_0x896aa4['str']('source-fingerprint')['trim']();if(!Number['isInteger'](_0x36eb2c)||_0x36eb2c<0x0)throw CliErrors[_0x329149(0x18e)](_0x329149(0x196));if(!/^sha256:[0-9a-f]{64}$/[_0x329149(0x1b4)](_0x29f217))throw CliErrors[_0x329149(0x18e)](_0x329149(0x1a7));return{'expectedDiagramRevision':_0x36eb2c,'sourceFingerprint':_0x29f217,'diagram':await readRequiredSkillDiagram(_0x896aa4[_0x329149(0x1b2)](_0x329149(0x19d)))};}export const diagramValidateCommand={'service':a65_0x53005f(0x198),'command':a65_0x53005f(0x192),'description':a65_0x53005f(0x1ac),'risk':a65_0x53005f(0x199),'flags':WRITE_FLAGS,async 'execute'(_0x42a50a){const _0xa2b1ee=a65_0x53005f,_0x5a1a8e=readDiagramTarget(_0x42a50a),_0x878d52=await validateRuntimeSkillVersionDiagram(_0x42a50a[_0xa2b1ee(0x194)],_0x5a1a8e['skillCode'],_0x5a1a8e[_0xa2b1ee(0x190)],_0x5a1a8e['scope'],await readDiagramWriteInput(_0x42a50a));return{'ok':!![],'data':_0x878d52,'message':_0xa2b1ee(0x1b1)+_0x5a1a8e[_0xa2b1ee(0x1ad)]+'@'+_0x5a1a8e['version']+'.'};}};export const diagramPushCommand={'service':a65_0x53005f(0x198),'command':a65_0x53005f(0x18c),'description':a65_0x53005f(0x1a5),'risk':a65_0x53005f(0x18d),'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'(_0x375284){const _0x402620=a65_0x53005f,_0x55eb3c=readDiagramTarget(_0x375284),_0x380dde=await putRuntimeSkillVersionDiagram(_0x375284['appCode'],_0x55eb3c[_0x402620(0x1ad)],_0x55eb3c['version'],_0x55eb3c['scope'],await readDiagramWriteInput(_0x375284));return{'ok':!![],'data':_0x380dde,'message':_0x380dde[_0x402620(0x1a9)]===_0x402620(0x1a6)?_0x402620(0x1aa)+_0x55eb3c[_0x402620(0x1ad)]+'@'+_0x55eb3c[_0x402620(0x190)]+'\x20is\x20unchanged.':(_0x380dde[_0x402620(0x1a9)]===_0x402620(0x197)?_0x402620(0x1a8):_0x402620(0x1b9))+_0x402620(0x193)+_0x55eb3c[_0x402620(0x1ad)]+'@'+_0x55eb3c['version']+'.'};}};export const diagramShowCommand={'service':a65_0x53005f(0x198),'command':a65_0x53005f(0x1a2),'description':a65_0x53005f(0x1a0),'risk':a65_0x53005f(0x199),'flags':TARGET_FLAGS,async 'execute'(_0x288027){const _0x20a2ca=a65_0x53005f,_0x14503f=readDiagramTarget(_0x288027),_0x5ef99a=await getRuntimeSkillVersionDiagram(_0x288027['appCode'],_0x14503f['skillCode'],_0x14503f[_0x20a2ca(0x190)],_0x14503f[_0x20a2ca(0x18f)]);return{'ok':!![],'data':_0x5ef99a,'message':_0x5ef99a[_0x20a2ca(0x1b3)]?_0x20a2ca(0x191)+_0x14503f[_0x20a2ca(0x1ad)]+'@'+_0x14503f[_0x20a2ca(0x190)]+';\x20next\x20write\x20expects\x20revision\x20'+_0x5ef99a[_0x20a2ca(0x1ae)]+'.':'No\x20Skill\x20diagram\x20is\x20stored\x20for\x20'+_0x14503f[_0x20a2ca(0x1ad)]+'@'+_0x14503f[_0x20a2ca(0x190)]+_0x20a2ca(0x195)+_0x5ef99a[_0x20a2ca(0x1ae)]+'.'};}};
1
+ function a65_0xf0b2(){const _0xd44e71=['validation','Skill\x20diagram\x20validation\x20passed\x20for\x20','diagram-file','action','Found\x20Skill\x20diagram\x20for\x20','unchanged','4458BrlpVR','expectedDiagramRevision','version','2179810ihpGMo',';\x20first\x20write\x20expects\x20revision\x20','diagram-show','1148288hFVcbj','isInteger','expected-diagram-revision','found','2513EdJujO','--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','diagram-push','appCode','8783566gfcwnQ','11861mGnOne','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','read','source-fingerprint','5ijBVYi','Updated','str',';\x20next\x20write\x20expects\x20revision\x20','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','personal','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','scope','1855660WazGme','942558tgnSQH','18hCGrLZ','24CpuCyn','skill','test','trim','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','created','skill-code','\x20is\x20unchanged.','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','skillCode'];a65_0xf0b2=function(){return _0xd44e71;};return a65_0xf0b2();}const a65_0x3e2fef=a65_0x5d92;(function(_0x1cd227,_0x4ce1c1){const _0x1697bd=a65_0x5d92,_0x31729d=_0x1cd227();while(!![]){try{const _0x22f580=parseInt(_0x1697bd(0xe7))/0x1*(parseInt(_0x1697bd(0xc7))/0x2)+-parseInt(_0x1697bd(0xc5))/0x3+-parseInt(_0x1697bd(0xf3))/0x4*(-parseInt(_0x1697bd(0xeb))/0x5)+parseInt(_0x1697bd(0xd7))/0x6*(-parseInt(_0x1697bd(0xe1))/0x7)+-parseInt(_0x1697bd(0xdd))/0x8+parseInt(_0x1697bd(0xc6))/0x9*(-parseInt(_0x1697bd(0xda))/0xa)+parseInt(_0x1697bd(0xe6))/0xb;if(_0x22f580===_0x4ce1c1)break;else _0x31729d['push'](_0x31729d['shift']());}catch(_0x1e0c7f){_0x31729d['push'](_0x31729d['shift']());}}}(a65_0xf0b2,0x3ba6c));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x7d7a48){const _0x5a213b=a65_0x5d92,_0x59b3a5=_0x7d7a48[_0x5a213b(0xed)](_0x5a213b(0xcd))['trim'](),_0x355d4b=_0x7d7a48[_0x5a213b(0xed)](_0x5a213b(0xd9))[_0x5a213b(0xca)](),_0x3f06de=_0x7d7a48['str'](_0x5a213b(0xf2));if(!_0x59b3a5||!_0x355d4b||_0x3f06de!==_0x5a213b(0xf0)&&_0x3f06de!=='company')throw CliErrors[_0x5a213b(0xd1)](_0x5a213b(0xcf));return{'skillCode':_0x59b3a5,'version':_0x355d4b,'scope':_0x3f06de};}async function readDiagramWriteInput(_0x5e3f7b){const _0x41809d=a65_0x5d92,_0x22ee0e=_0x5e3f7b['num'](_0x41809d(0xdf)),_0x9acdc1=_0x5e3f7b[_0x41809d(0xed)](_0x41809d(0xea))[_0x41809d(0xca)]();if(!Number[_0x41809d(0xde)](_0x22ee0e)||_0x22ee0e<0x0)throw CliErrors[_0x41809d(0xd1)](_0x41809d(0xef));if(!/^sha256:[0-9a-f]{64}$/[_0x41809d(0xc9)](_0x9acdc1))throw CliErrors['validation'](_0x41809d(0xe2));return{'expectedDiagramRevision':_0x22ee0e,'sourceFingerprint':_0x9acdc1,'diagram':await readRequiredSkillDiagram(_0x5e3f7b['str'](_0x41809d(0xd3)))};}function a65_0x5d92(_0x54a168,_0x34abb5){_0x54a168=_0x54a168-0xc5;const _0xf0b253=a65_0xf0b2();let _0x5d92f6=_0xf0b253[_0x54a168];return _0x5d92f6;}export const diagramValidateCommand={'service':'skill','command':'diagram-validate','description':a65_0x3e2fef(0xf1),'risk':a65_0x3e2fef(0xe9),'flags':WRITE_FLAGS,async 'execute'(_0x7b0fd3){const _0x4e6172=a65_0x3e2fef,_0x4a6288=readDiagramTarget(_0x7b0fd3),_0x3e3ff5=await validateRuntimeSkillVersionDiagram(_0x7b0fd3[_0x4e6172(0xe5)],_0x4a6288[_0x4e6172(0xd0)],_0x4a6288[_0x4e6172(0xd9)],_0x4a6288[_0x4e6172(0xf2)],await readDiagramWriteInput(_0x7b0fd3));return{'ok':!![],'data':_0x3e3ff5,'message':_0x4e6172(0xd2)+_0x4a6288[_0x4e6172(0xd0)]+'@'+_0x4a6288[_0x4e6172(0xd9)]+'.'};}};export const diagramPushCommand={'service':'skill','command':a65_0x3e2fef(0xe4),'description':a65_0x3e2fef(0xcb),'risk':'write','confirmationDescription':a65_0x3e2fef(0xe3),'flags':WRITE_FLAGS,async 'execute'(_0x2e5f00){const _0x399202=a65_0x3e2fef,_0x3db488=readDiagramTarget(_0x2e5f00),_0x5c85e2=await putRuntimeSkillVersionDiagram(_0x2e5f00['appCode'],_0x3db488[_0x399202(0xd0)],_0x3db488['version'],_0x3db488['scope'],await readDiagramWriteInput(_0x2e5f00));return{'ok':!![],'data':_0x5c85e2,'message':_0x5c85e2[_0x399202(0xd4)]===_0x399202(0xd6)?'Skill\x20diagram\x20for\x20'+_0x3db488[_0x399202(0xd0)]+'@'+_0x3db488['version']+_0x399202(0xce):(_0x5c85e2[_0x399202(0xd4)]===_0x399202(0xcc)?'Created':_0x399202(0xec))+'\x20Skill\x20diagram\x20for\x20'+_0x3db488['skillCode']+'@'+_0x3db488[_0x399202(0xd9)]+'.'};}};export const diagramShowCommand={'service':a65_0x3e2fef(0xc8),'command':a65_0x3e2fef(0xdc),'description':a65_0x3e2fef(0xe8),'risk':'read','flags':TARGET_FLAGS,async 'execute'(_0x490d09){const _0x40486f=a65_0x3e2fef,_0x64978d=readDiagramTarget(_0x490d09),_0x1ec19a=await getRuntimeSkillVersionDiagram(_0x490d09[_0x40486f(0xe5)],_0x64978d[_0x40486f(0xd0)],_0x64978d[_0x40486f(0xd9)],_0x64978d['scope']);return{'ok':!![],'data':_0x1ec19a,'message':_0x1ec19a[_0x40486f(0xe0)]?_0x40486f(0xd5)+_0x64978d[_0x40486f(0xd0)]+'@'+_0x64978d['version']+_0x40486f(0xee)+_0x1ec19a['expectedDiagramRevision']+'.':'No\x20Skill\x20diagram\x20is\x20stored\x20for\x20'+_0x64978d[_0x40486f(0xd0)]+'@'+_0x64978d[_0x40486f(0xd9)]+_0x40486f(0xdb)+_0x1ec19a[_0x40486f(0xd8)]+'.'};}};