@lovrabet/lovrabet-cli 2.3.8-beta.1 → 2.3.8-beta.2

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 (188) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/approval/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/init.d.ts +1 -1
  26. package/lib/commands/config/init.js +1 -1
  27. package/lib/commands/config/shared.js +1 -1
  28. package/lib/commands/data/import-excel.js +1 -1
  29. package/lib/commands/data/index.js +1 -1
  30. package/lib/commands/dataset/detail.js +1 -1
  31. package/lib/commands/dataset/index.js +1 -1
  32. package/lib/commands/dataset/list.js +1 -1
  33. package/lib/commands/dataset/sdk-doc.js +1 -1
  34. package/lib/commands/doctor.js +1 -1
  35. package/lib/commands/file/index.js +1 -1
  36. package/lib/commands/init.js +1 -1
  37. package/lib/commands/kb/index.js +1 -1
  38. package/lib/commands/logs/index.js +1 -1
  39. package/lib/commands/notification/config-list.js +1 -1
  40. package/lib/commands/notification/index.js +1 -1
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.d.ts +32 -6
  59. package/lib/commands/role/shared.js +1 -1
  60. package/lib/commands/role/update.js +1 -1
  61. package/lib/commands/role/user-add.js +1 -1
  62. package/lib/commands/role/user-remove.js +1 -1
  63. package/lib/commands/schedule/index.js +1 -1
  64. package/lib/commands/schema.js +1 -1
  65. package/lib/commands/service/dynamic.js +1 -1
  66. package/lib/commands/service/function-name-adapter.js +1 -1
  67. package/lib/commands/service/index.js +1 -1
  68. package/lib/commands/service/registry.js +1 -1
  69. package/lib/commands/skill/commands/create.js +1 -1
  70. package/lib/commands/skill/commands/diagram.js +1 -1
  71. package/lib/commands/skill/commands/install.js +1 -1
  72. package/lib/commands/skill/commands/list.js +1 -1
  73. package/lib/commands/skill/commands/push.js +1 -1
  74. package/lib/commands/skill/commands/validate.js +1 -1
  75. package/lib/commands/skill/diagram.js +1 -1
  76. package/lib/commands/skill/flags.js +1 -1
  77. package/lib/commands/skill/index.js +1 -1
  78. package/lib/commands/skill/manifest-helpers.js +1 -1
  79. package/lib/commands/skill/push-execute.js +1 -1
  80. package/lib/commands/skill/push-flow-helpers.js +1 -1
  81. package/lib/commands/skill/push-retarget.js +1 -1
  82. package/lib/commands/skill/scopes.js +1 -1
  83. package/lib/commands/skill/summary.js +1 -1
  84. package/lib/commands/skill/templates.js +1 -1
  85. package/lib/commands/skill/validate.js +1 -1
  86. package/lib/commands/sql/detail.js +1 -1
  87. package/lib/commands/sql/exec.d.ts +2 -4
  88. package/lib/commands/sql/exec.js +1 -1
  89. package/lib/commands/sql/index.js +1 -1
  90. package/lib/commands/update.js +1 -1
  91. package/lib/commands/user-account/bind.js +1 -1
  92. package/lib/commands/user-account/index.js +1 -1
  93. package/lib/commands/workspace/index.js +1 -1
  94. package/lib/config/domain-config.js +1 -1
  95. package/lib/config/schema.js +1 -1
  96. package/lib/constant/app.js +1 -1
  97. package/lib/constant/auth-mode.js +1 -1
  98. package/lib/constant/cli.js +1 -1
  99. package/lib/constant/defaults.js +1 -1
  100. package/lib/constant/distribution.js +1 -1
  101. package/lib/constant/domain.js +1 -1
  102. package/lib/constant/env.js +1 -1
  103. package/lib/constant/output.js +1 -1
  104. package/lib/constant/product.js +1 -1
  105. package/lib/constant/region.js +1 -1
  106. package/lib/constant/risk.js +1 -1
  107. package/lib/constant/url.js +1 -1
  108. package/lib/context.js +1 -1
  109. package/lib/core/api-client.d.ts +20 -340
  110. package/lib/core/api-client.js +1 -1
  111. package/lib/core/db-resolver.js +1 -1
  112. package/lib/core/kb-management-client.js +1 -1
  113. package/lib/core/kb-search-client.js +1 -1
  114. package/lib/core/sdk-client.d.ts +7 -10
  115. package/lib/core/sdk-client.js +1 -1
  116. package/lib/errors.js +1 -1
  117. package/lib/framework/access-error.js +1 -1
  118. package/lib/framework/build-all-flags.js +1 -1
  119. package/lib/framework/dryrun.js +1 -1
  120. package/lib/framework/flags.js +1 -1
  121. package/lib/framework/help.js +1 -1
  122. package/lib/framework/index.js +1 -1
  123. package/lib/framework/output.js +1 -1
  124. package/lib/framework/preparse.js +1 -1
  125. package/lib/framework/rate-limit.js +1 -1
  126. package/lib/framework/raw-flags.js +1 -1
  127. package/lib/framework/response.js +1 -1
  128. package/lib/framework/runner-confirmation.js +1 -1
  129. package/lib/framework/runner-error.js +1 -1
  130. package/lib/framework/runner.js +1 -1
  131. package/lib/framework/schema-export.js +1 -1
  132. package/lib/framework/service-order.js +1 -1
  133. package/lib/framework/types.js +1 -1
  134. package/lib/generated/build-info.d.ts +4 -4
  135. package/lib/generated/build-info.js +1 -1
  136. package/lib/generated/official-routing.js +1 -1
  137. package/lib/generated/routing-contract.js +1 -1
  138. package/lib/help.js +1 -1
  139. package/lib/postinstall.js +1 -1
  140. package/lib/runtime/confirmation.js +1 -1
  141. package/lib/runtime/event.js +1 -1
  142. package/lib/runtime/index.js +1 -1
  143. package/lib/runtime/queue.js +1 -1
  144. package/lib/runtime/resolve.js +1 -1
  145. package/lib/services/dataset-import/auto-id-runner.js +1 -1
  146. package/lib/services/dataset-import/excel-reader.js +1 -1
  147. package/lib/services/dataset-import/image-bytes.js +1 -1
  148. package/lib/services/dataset-import/image-ooxml.js +1 -1
  149. package/lib/services/dataset-import/image-runner.js +1 -1
  150. package/lib/services/dataset-import/metadata.js +1 -1
  151. package/lib/services/dataset-import/preview.js +1 -1
  152. package/lib/services/dataset-import/runner.js +1 -1
  153. package/lib/skills/builtin-skill.js +1 -1
  154. package/lib/skills/npx-skills-add.js +1 -1
  155. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  156. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  157. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  158. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  159. package/lib/skills/runtime-skill-sync/links.js +1 -1
  160. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  161. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  162. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  163. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  164. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  165. package/lib/skills/runtime-skill-sync/push.js +1 -1
  166. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  167. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  168. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  169. package/lib/skills/runtime-skill-sync.js +1 -1
  170. package/lib/skills/skill-presence.js +1 -1
  171. package/lib/utils/access-key-redaction.js +1 -1
  172. package/lib/utils/apply-jq-filter.js +1 -1
  173. package/lib/utils/cli-version-check.js +1 -1
  174. package/lib/utils/cli-version-policy.js +1 -1
  175. package/lib/utils/logger.js +1 -1
  176. package/lib/utils/lossless-json.js +1 -1
  177. package/lib/utils/params.js +1 -1
  178. package/lib/utils/positive-safe-integer.js +1 -1
  179. package/lib/utils/redaction.js +1 -1
  180. package/lib/utils/runtime-user-id.d.ts +2 -0
  181. package/lib/utils/runtime-user-id.js +1 -0
  182. package/lib/utils/update-notice.js +1 -1
  183. package/lib/utils/version.js +1 -1
  184. package/lib/utils/write-cli-side-channel.js +1 -1
  185. package/package.json +2 -2
  186. package/skills/lovrabet/SKILL.md +1 -1
  187. package/skills/lovrabet/guides/role-and-permission-workflow.md +3 -2
  188. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- function a55_0x1768(_0x5b542c,_0x467946){_0x5b542c=_0x5b542c-0xde;const _0x149b79=a55_0x149b();let _0x1768e5=_0x149b79[_0x5b542c];return _0x1768e5;}const a55_0x116f81=a55_0x1768;(function(_0x2ae7db,_0xdddde){const _0x3db867=a55_0x1768,_0x301d0a=_0x2ae7db();while(!![]){try{const _0x13efca=parseInt(_0x3db867(0xf3))/0x1+-parseInt(_0x3db867(0xf8))/0x2*(parseInt(_0x3db867(0xf5))/0x3)+-parseInt(_0x3db867(0xec))/0x4+-parseInt(_0x3db867(0xe3))/0x5*(parseInt(_0x3db867(0xfa))/0x6)+-parseInt(_0x3db867(0xfe))/0x7*(-parseInt(_0x3db867(0xeb))/0x8)+-parseInt(_0x3db867(0xfb))/0x9*(parseInt(_0x3db867(0xe9))/0xa)+parseInt(_0x3db867(0xff))/0xb;if(_0x13efca===_0xdddde)break;else _0x301d0a['push'](_0x301d0a['shift']());}catch(_0x1e530e){_0x301d0a['push'](_0x301d0a['shift']());}}}(a55_0x149b,0x29975));import{listRuntimeAppRoles}from'../../core/api-client.js';function a55_0x149b(){const _0x335003=['376608zdZhHk','page','appCode','filter','runtime','number','includes','151409xDfCTY','map','243609gvrfzp','Page\x20number','isSafeInteger','2hVmmXv','validation','858hOzrft','9JoqYxu','name','read','35399fTAlUz','3090175ceVsMc','type','slice','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','toUpperCase','length','string','1895Dqsjsf','num','str','Runtime\x20role\x20type','--page\x20must\x20be\x20a\x20positive\x20integer.','pagesize','3257310gQTxdj','paging','464wOtbyq'];a55_0x149b=function(){return _0x335003;};return a55_0x149b();}import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':'role','command':'list','description':'List\x20runtime\x20roles\x20for\x20the\x20current\x20app','risk':a55_0x116f81(0xfd),'flags':[{'name':'type','type':a55_0x116f81(0xe2),'enum':RUNTIME_ROLE_TYPES,'description':a55_0x116f81(0xe6)},{'name':a55_0x116f81(0xfc),'type':a55_0x116f81(0xe2),'description':'Fuzzy\x20role-name\x20filter'},{'name':a55_0x116f81(0xed),'type':a55_0x116f81(0xf1),'default':0x1,'description':a55_0x116f81(0xf6)},{'name':a55_0x116f81(0xe8),'type':'number','default':0x64,'description':'Page\x20size\x20from\x201\x20to\x20100'}],async 'validate'(_0x940b28){const _0x4bcc7e=a55_0x116f81,_0x5dd64e=_0x940b28[_0x4bcc7e(0xe5)](_0x4bcc7e(0x100))[_0x4bcc7e(0xe0)]();if(_0x5dd64e&&!RUNTIME_ROLE_TYPES[_0x4bcc7e(0xf2)](_0x5dd64e))throw CliErrors[_0x4bcc7e(0xf9)]('Invalid\x20runtime\x20role\x20type:\x20'+_0x5dd64e+'.');const _0x59f7ba=_0x940b28[_0x4bcc7e(0xe4)](_0x4bcc7e(0xed),0x1),_0x4aa263=_0x940b28['num']('pagesize',0x64);if(!Number[_0x4bcc7e(0xf7)](_0x59f7ba)||_0x59f7ba<0x1)throw CliErrors[_0x4bcc7e(0xf9)](_0x4bcc7e(0xe7));if(!Number[_0x4bcc7e(0xf7)](_0x4aa263)||_0x4aa263<0x1||_0x4aa263>0x64)throw CliErrors['validation'](_0x4bcc7e(0xdf));},async 'execute'(_0x56319e){const _0x1929c3=a55_0x116f81,_0x6fd210=_0x56319e[_0x1929c3(0xe5)](_0x1929c3(0x100))['toUpperCase'](),_0x197125=_0x56319e[_0x1929c3(0xe5)](_0x1929c3(0xfc))['trim'](),_0x27d682=_0x56319e[_0x1929c3(0xe4)](_0x1929c3(0xed),0x1),_0x454ee4=_0x56319e['num'](_0x1929c3(0xe8),0x64);if(_0x6fd210){const _0xa9bbf6=(await listAllRuntimeRoles(_0x56319e[_0x1929c3(0xee)],{..._0x197125?{'roleName':_0x197125}:{}}))[_0x1929c3(0xef)](_0x71edd2=>_0x71edd2['roleType']===_0x6fd210),_0x2b1cbf=(_0x27d682-0x1)*_0x454ee4;return{'ok':!![],'data':{'scope':'runtime','roles':_0xa9bbf6[_0x1929c3(0xde)](_0x2b1cbf,_0x2b1cbf+_0x454ee4)[_0x1929c3(0xf4)](projectRuntimeRole),'paging':{'currentPage':_0x27d682,'pageSize':_0x454ee4,'totalCount':_0xa9bbf6[_0x1929c3(0xe1)]}}};}const _0x1f4d44=await listRuntimeAppRoles(_0x56319e[_0x1929c3(0xee)],{..._0x197125?{'roleName':_0x197125}:{},'currentPage':_0x27d682,'pageSize':_0x454ee4});return{'ok':!![],'data':{'scope':_0x1929c3(0xf0),'roles':_0x1f4d44['items'][_0x1929c3(0xf4)](projectRuntimeRole),'paging':_0x1f4d44[_0x1929c3(0xea)]}};}};
1
+ const a55_0x45e10f=a55_0x41d6;function a55_0x41d6(_0x5aa63e,_0x5e8b6e){_0x5aa63e=_0x5aa63e-0x1b3;const _0xd815a9=a55_0xd815();let _0x41d69c=_0xd815a9[_0x5aa63e];return _0x41d69c;}(function(_0x34d09c,_0x3a12ac){const _0x161b98=a55_0x41d6,_0x3c212f=_0x34d09c();while(!![]){try{const _0x54b933=-parseInt(_0x161b98(0x1c6))/0x1+-parseInt(_0x161b98(0x1bf))/0x2*(parseInt(_0x161b98(0x1d6))/0x3)+parseInt(_0x161b98(0x1ba))/0x4+-parseInt(_0x161b98(0x1d2))/0x5*(-parseInt(_0x161b98(0x1be))/0x6)+-parseInt(_0x161b98(0x1d4))/0x7+-parseInt(_0x161b98(0x1b6))/0x8+parseInt(_0x161b98(0x1c5))/0x9*(parseInt(_0x161b98(0x1d7))/0xa);if(_0x54b933===_0x3a12ac)break;else _0x3c212f['push'](_0x3c212f['shift']());}catch(_0x93299f){_0x3c212f['push'](_0x3c212f['shift']());}}}(a55_0xd815,0x46ea4));import{listRuntimeAppRoles}from'../../core/api-client.js';function a55_0xd815(){const _0x332f46=['651472OTDNxx','map','type','isSafeInteger','97548sgXnsW','1486NzRELI','list','page','toUpperCase','appCode','length','42975qirObl','112503zbUKhm','string','slice','Page\x20number','--page\x20must\x20be\x20a\x20positive\x20integer.','roleType','num','name','paging','runtime','items','validation','5NQKUub','Runtime\x20role\x20type','1937894gTmCeQ','Invalid\x20runtime\x20role\x20type:\x20','645ulIAlj','2390AoGdIK','pagesize','number','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','3846344asHXyC','includes','role','str'];a55_0xd815=function(){return _0x332f46;};return a55_0xd815();}import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a55_0x45e10f(0x1b8),'command':a55_0x45e10f(0x1c0),'description':'List\x20runtime\x20roles\x20for\x20the\x20current\x20app','risk':'read','flags':[{'name':a55_0x45e10f(0x1bc),'type':a55_0x45e10f(0x1c7),'enum':RUNTIME_ROLE_TYPES,'description':a55_0x45e10f(0x1d3)},{'name':a55_0x45e10f(0x1cd),'type':'string','description':'Fuzzy\x20role-name\x20filter'},{'name':a55_0x45e10f(0x1c1),'type':a55_0x45e10f(0x1b4),'default':0x1,'description':a55_0x45e10f(0x1c9)},{'name':'pagesize','type':a55_0x45e10f(0x1b4),'default':0x64,'description':'Page\x20size\x20from\x201\x20to\x20100'}],async 'validate'(_0x293f6d){const _0x1ae470=a55_0x45e10f,_0x43cf36=_0x293f6d['str'](_0x1ae470(0x1bc))[_0x1ae470(0x1c2)]();if(_0x43cf36&&!RUNTIME_ROLE_TYPES[_0x1ae470(0x1b7)](_0x43cf36))throw CliErrors['validation'](_0x1ae470(0x1d5)+_0x43cf36+'.');const _0xe64a1c=_0x293f6d[_0x1ae470(0x1cc)]('page',0x1),_0xf86bdf=_0x293f6d['num'](_0x1ae470(0x1b3),0x64);if(!Number['isSafeInteger'](_0xe64a1c)||_0xe64a1c<0x1)throw CliErrors[_0x1ae470(0x1d1)](_0x1ae470(0x1ca));if(!Number[_0x1ae470(0x1bd)](_0xf86bdf)||_0xf86bdf<0x1||_0xf86bdf>0x64)throw CliErrors[_0x1ae470(0x1d1)](_0x1ae470(0x1b5));},async 'execute'(_0x3efe71){const _0x2d5d8a=a55_0x45e10f,_0x38613d=_0x3efe71['str'](_0x2d5d8a(0x1bc))[_0x2d5d8a(0x1c2)](),_0x238347=_0x3efe71[_0x2d5d8a(0x1b9)](_0x2d5d8a(0x1cd))['trim'](),_0x24897a=_0x3efe71[_0x2d5d8a(0x1cc)]('page',0x1),_0x49805a=_0x3efe71[_0x2d5d8a(0x1cc)]('pagesize',0x64);if(_0x38613d){const _0x3e46e5=(await listAllRuntimeRoles(_0x3efe71['appCode'],{..._0x238347?{'roleName':_0x238347}:{}}))['filter'](_0x36dd92=>_0x36dd92[_0x2d5d8a(0x1cb)]===_0x38613d),_0x4a615c=(_0x24897a-0x1)*_0x49805a;return{'ok':!![],'data':{'scope':_0x2d5d8a(0x1cf),'roles':_0x3e46e5[_0x2d5d8a(0x1c8)](_0x4a615c,_0x4a615c+_0x49805a)[_0x2d5d8a(0x1bb)](projectRuntimeRole),'paging':{'currentPage':_0x24897a,'pageSize':_0x49805a,'totalCount':_0x3e46e5[_0x2d5d8a(0x1c4)]}}};}const _0x3f4011=await listRuntimeAppRoles(_0x3efe71[_0x2d5d8a(0x1c3)],{..._0x238347?{'roleName':_0x238347}:{},'currentPage':_0x24897a,'pageSize':_0x49805a});return{'ok':!![],'data':{'scope':_0x2d5d8a(0x1cf),'roles':_0x3f4011[_0x2d5d8a(0x1d0)][_0x2d5d8a(0x1bb)](projectRuntimeRole),'paging':_0x3f4011[_0x2d5d8a(0x1ce)]}};}};
@@ -6,24 +6,50 @@ export declare const ROLE_REF_FLAG: FlagDef;
6
6
  export declare const ROLE_CODE_FLAG: FlagDef;
7
7
  export declare const USER_ID_FLAG: FlagDef;
8
8
  export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
9
- export declare function isBuiltinRuntimeRole(roleType: string): boolean;
9
+ export declare function isBuiltinRuntimeRole(roleType: string | undefined): boolean;
10
10
  export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
11
11
  export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
12
12
  export declare function readOptionalRuntimeRoleCode(ctx: RuntimeContext): string | undefined;
13
- export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
13
+ export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<{
14
+ id: number;
15
+ appCode?: string;
16
+ roleName?: string;
17
+ roleCode?: string;
18
+ roleType?: string;
19
+ permits?: Record<string, string[]>;
20
+ remark?: string;
21
+ extend?: string;
22
+ userCount?: number;
23
+ permitCount?: number;
24
+ gmtCreate?: string;
25
+ gmtModified?: string;
26
+ }>;
14
27
  export declare function listAllRuntimeRoles(appCode: string, options?: {
15
28
  roleName?: string;
16
29
  }): Promise<RuntimeAppRole[]>;
17
- export declare function resolveRuntimeRoleRef(appCode: string, ref: string): Promise<RuntimeAppRole>;
30
+ export declare function resolveRuntimeRoleRef(appCode: string, ref: string): Promise<{
31
+ id: number;
32
+ appCode?: string;
33
+ roleName?: string;
34
+ roleCode?: string;
35
+ roleType?: string;
36
+ permits?: Record<string, string[]>;
37
+ remark?: string;
38
+ extend?: string;
39
+ userCount?: number;
40
+ permitCount?: number;
41
+ gmtCreate?: string;
42
+ gmtModified?: string;
43
+ }>;
18
44
  export interface RuntimeMemberMutation {
19
45
  role: RuntimeAppRole;
20
- userId: number;
46
+ userId: string;
21
47
  roleList: RuntimeRoleUsers[];
22
48
  before: {
23
- userIds: number[];
49
+ userIds: string[];
24
50
  };
25
51
  after: {
26
- userIds: number[];
52
+ userIds: string[];
27
53
  };
28
54
  shouldWrite: boolean;
29
55
  warnings: string[];
@@ -1 +1 @@
1
- const a56_0x1ffb34=a56_0x95ba;(function(_0x4564ee,_0x14946f){const _0x3aaba4=a56_0x95ba,_0xe87c21=_0x4564ee();while(!![]){try{const _0x539ce1=parseInt(_0x3aaba4(0x209))/0x1*(-parseInt(_0x3aaba4(0x1fc))/0x2)+parseInt(_0x3aaba4(0x1ec))/0x3*(-parseInt(_0x3aaba4(0x227))/0x4)+parseInt(_0x3aaba4(0x1e4))/0x5*(parseInt(_0x3aaba4(0x1f9))/0x6)+parseInt(_0x3aaba4(0x225))/0x7+-parseInt(_0x3aaba4(0x1e0))/0x8*(-parseInt(_0x3aaba4(0x1ff))/0x9)+parseInt(_0x3aaba4(0x1e5))/0xa*(parseInt(_0x3aaba4(0x21a))/0xb)+parseInt(_0x3aaba4(0x221))/0xc*(-parseInt(_0x3aaba4(0x1ee))/0xd);if(_0x539ce1===_0x14946f)break;else _0xe87c21['push'](_0xe87c21['shift']());}catch(_0x58a584){_0xe87c21['push'](_0xe87c21['shift']());}}}(a56_0x3b5f,0x61309));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a56_0x3b5f(){const _0x1c3357=['remark','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','find','isSafeInteger','Cannot\x20','ADMIN','2580228ltApyp','\x20is\x20already\x20in\x20runtime\x20role\x20','--role-code\x20cannot\x20exceed\x2064\x20characters.','roleName','1376431zcdqNZ','code','4vpZkSY','Runtime\x20role\x20','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','expect-user-count','map','Runtime\x20role\x20name\x20\x22','role','user','totalCount','8Ntohwl','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list',',\x20found\x20','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','211070LFtaKR','10pFQKnn','flag','applyUserList','roleCode','roleType','appCode','filter','520671CGqOOj','number','26DclAJE','userList','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','userId','str','test','length','Pass\x20--role\x20<id|name>.','role-code','Runtime\x20numeric\x20userId','24biZplO','--role-code\x20must\x20not\x20be\x20blank.','items','4KLNwIA','Runtime\x20user\x20','USER','5105511CjEBzW','\x20is\x20not\x20in\x20runtime\x20role\x20','Runtime\x20role\x20id\x20','validation','user-add','OWNER','Globally\x20unique\x20roleCode\x20(maximum\x2064\x20characters)','string','\x22\x20is\x20ambiguous.','User\x20','80231SmabdR','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','Missing\x20runtime\x20role\x20reference.','\x20was\x20not\x20found\x20in\x20app\x20','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','trim','permitCount','userCount','Pass\x20one\x20role\x20ID:\x20','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.','includes','runtime','CUSTOM','userName','push','2523158ungbuc'];a56_0x3b5f=function(){return _0x1c3357;};return a56_0x3b5f();}import{normalizePositiveSafeInteger}from'../../utils/positive-safe-integer.js';export const RUNTIME_ROLE_TYPES=[a56_0x1ffb34(0x220),a56_0x1ffb34(0x1fe),a56_0x1ffb34(0x204),a56_0x1ffb34(0x217)];const BUILTIN_ROLE_TYPES=[a56_0x1ffb34(0x220),a56_0x1ffb34(0x1fe),'OWNER'];export const ROLE_ID_FLAG={'name':'id','type':a56_0x1ffb34(0x1ed),'required':!![],'description':a56_0x1ffb34(0x1e1)};export const ROLE_REF_FLAG={'name':a56_0x1ffb34(0x1dd),'type':a56_0x1ffb34(0x206),'required':!![],'description':'Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name'};export const ROLE_CODE_FLAG={'name':'role-code','type':'string','description':a56_0x1ffb34(0x205)};export const USER_ID_FLAG={'name':a56_0x1ffb34(0x1de),'type':a56_0x1ffb34(0x206),'required':!![],'description':a56_0x1ffb34(0x1f8)};export const EXPECT_USER_COUNT_FLAG={'name':a56_0x1ffb34(0x1da),'type':'number','description':'Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed'};export function isBuiltinRuntimeRole(_0x12311c){const _0x41105d=a56_0x1ffb34;return BUILTIN_ROLE_TYPES[_0x41105d(0x215)](_0x12311c);}export function assertCustomRuntimeRole(_0x2ef0cc,_0xc09502){const _0x405246=a56_0x1ffb34;if(_0x2ef0cc[_0x405246(0x1e9)]!==_0x405246(0x217))throw CliErrors['validation'](_0x405246(0x21f)+_0xc09502+'\x20built-in\x20runtime\x20role\x20'+_0x2ef0cc[_0x405246(0x224)]+'\x20('+_0x2ef0cc[_0x405246(0x1e9)]+').','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRuntimeRole(_0x1df394){const _0x3b9b0f=a56_0x1ffb34;return{'id':_0x1df394['id'],'roleCode':_0x1df394[_0x3b9b0f(0x1e8)],'roleName':_0x1df394[_0x3b9b0f(0x224)],'roleType':_0x1df394[_0x3b9b0f(0x1e9)],'remark':_0x1df394[_0x3b9b0f(0x21b)],'userCount':_0x1df394[_0x3b9b0f(0x212)]??0x0,'permitCount':_0x1df394[_0x3b9b0f(0x211)]??0x0,'builtin':isBuiltinRuntimeRole(_0x1df394[_0x3b9b0f(0x1e9)])};}export function readOptionalRuntimeRoleCode(_0x222198){const _0x5a1c5a=a56_0x1ffb34,_0x28dce5=_0x222198[_0x5a1c5a(0x1e6)](_0x5a1c5a(0x1f7));if(_0x28dce5===undefined||_0x28dce5===null)return undefined;const _0x37dc8d=String(_0x28dce5)[_0x5a1c5a(0x210)]();if(!_0x37dc8d)throw CliErrors[_0x5a1c5a(0x202)](_0x5a1c5a(0x1fa));if(_0x37dc8d[_0x5a1c5a(0x1f5)]>0x40)throw CliErrors['validation'](_0x5a1c5a(0x223));return _0x37dc8d;}export async function getRuntimeRoleById(_0xf8bdbd,_0x2a2eb5){const _0x4a374a=a56_0x1ffb34;if(!Number[_0x4a374a(0x21e)](_0x2a2eb5)||_0x2a2eb5<=0x0)throw CliErrors[_0x4a374a(0x202)]('Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.');const _0x556e38=(await listAllRuntimeRoles(_0xf8bdbd))[_0x4a374a(0x1eb)](_0x3d157e=>_0x3d157e['id']===_0x2a2eb5&&(!_0x3d157e[_0x4a374a(0x1ea)]||_0x3d157e[_0x4a374a(0x1ea)]===_0xf8bdbd));if(_0x556e38[_0x4a374a(0x1f5)]!==0x1)throw CliErrors['validation'](_0x4a374a(0x201)+_0x2a2eb5+'\x20was\x20not\x20found\x20in\x20app\x20'+_0xf8bdbd+'.',_0x4a374a(0x1e3));return _0x556e38[0x0];}export async function listAllRuntimeRoles(_0x1df900,_0x17f226={}){const _0x5eae67=a56_0x1ffb34,_0x4300a2=0x64,_0x756430=[];for(let _0x1e1cc0=0x1;;_0x1e1cc0+=0x1){const _0x174f60=await listRuntimeAppRoles(_0x1df900,{..._0x17f226['roleName']?{'roleName':_0x17f226[_0x5eae67(0x224)]}:{},'currentPage':_0x1e1cc0,'pageSize':_0x4300a2});_0x756430[_0x5eae67(0x219)](..._0x174f60[_0x5eae67(0x1fb)]);if(_0x174f60[_0x5eae67(0x1fb)][_0x5eae67(0x1f5)]<_0x4300a2||_0x174f60['paging']&&_0x756430[_0x5eae67(0x1f5)]>=_0x174f60['paging'][_0x5eae67(0x1df)])return _0x756430;}}function a56_0x95ba(_0x49a513,_0x13d072){_0x49a513=_0x49a513-0x1d8;const _0x3b5f86=a56_0x3b5f();let _0x95baa2=_0x3b5f86[_0x49a513];return _0x95baa2;}export async function resolveRuntimeRoleRef(_0xb12665,_0xbfb630){const _0x547ae3=a56_0x1ffb34,_0x12c3f0=_0xbfb630['trim']();if(!_0x12c3f0)throw CliErrors['validation'](_0x547ae3(0x20d),_0x547ae3(0x1f6));if(/^\d+$/[_0x547ae3(0x1f4)](_0x12c3f0))return getRuntimeRoleById(_0xb12665,Number(_0x12c3f0));const _0x2e246=(await listAllRuntimeRoles(_0xb12665))[_0x547ae3(0x1eb)](_0x5d82d9=>_0x5d82d9[_0x547ae3(0x224)]===_0x12c3f0);if(_0x2e246[_0x547ae3(0x1f5)]===0x0)throw CliErrors['validation'](_0x547ae3(0x1dc)+_0x12c3f0+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0xb12665+'.',_0x547ae3(0x20f));if(_0x2e246[_0x547ae3(0x1f5)]>0x1)throw CliErrors[_0x547ae3(0x202)](_0x547ae3(0x1dc)+_0x12c3f0+_0x547ae3(0x207),_0x547ae3(0x213)+_0x2e246[_0x547ae3(0x1db)](_0x5b3f6b=>_0x5b3f6b['id'])['join'](',\x20')+'.');return _0x2e246[0x0];}function parseRuntimeUserId(_0x38bbd7){const _0x5e242d=a56_0x1ffb34,_0x49c2b7=_0x38bbd7[_0x5e242d(0x210)](),_0x595261=normalizePositiveSafeInteger(_0x49c2b7);if(_0x595261===undefined)throw CliErrors['validation'](_0x5e242d(0x1d9),_0x5e242d(0x20b));return _0x595261;}export async function prepareRuntimeMemberMutation(_0x1268f5,_0x45db7){const _0x1ba89a=a56_0x1ffb34,_0x8cea22=await resolveRuntimeRoleRef(_0x1268f5[_0x1ba89a(0x1ea)],_0x1268f5[_0x1ba89a(0x1f3)](_0x1ba89a(0x1dd)));if(_0x8cea22[_0x1ba89a(0x1e9)]===_0x1ba89a(0x204))throw CliErrors[_0x1ba89a(0x202)](_0x1ba89a(0x1f0),'Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.');const _0x1689ee=parseRuntimeUserId(_0x1268f5[_0x1ba89a(0x1f3)](_0x1ba89a(0x1de))),_0x5e90c1=(await listRuntimeRoleUsers(_0x1268f5[_0x1ba89a(0x1ea)]))['map'](_0x7d9fdf=>({..._0x7d9fdf,'userList':[..._0x7d9fdf[_0x1ba89a(0x1ef)]??[]],'applyUserList':[..._0x7d9fdf[_0x1ba89a(0x1e7)]??[]]})),_0x481c52=_0x5e90c1[_0x1ba89a(0x21d)](_0x4df5e8=>_0x4df5e8['id']===_0x8cea22['id']);if(!_0x481c52)throw CliErrors[_0x1ba89a(0x202)](_0x1ba89a(0x1d8)+_0x8cea22['id']+'\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.',_0x1ba89a(0x20a));const _0x3ceef5=_0x481c52[_0x1ba89a(0x1ef)]['map'](_0x239050=>_0x239050[_0x1ba89a(0x1f2)]),_0x198fef=_0x1268f5['flag'](_0x1ba89a(0x1da));if(_0x198fef!==undefined&&_0x198fef!==null&&_0x198fef!==''){const _0x3abc50=_0x1268f5['num'](_0x1ba89a(0x1da));if(!Number['isSafeInteger'](_0x3abc50)||_0x3abc50<0x0)throw CliErrors[_0x1ba89a(0x202)](_0x1ba89a(0x21c));if(_0x3ceef5[_0x1ba89a(0x1f5)]!==_0x3abc50)throw CliErrors[_0x1ba89a(0x202)](_0x1ba89a(0x20c)+_0x3abc50+_0x1ba89a(0x1e2)+_0x3ceef5['length']+'.',_0x1ba89a(0x214));}const _0x37f15c=_0x3ceef5[_0x1ba89a(0x215)](_0x1689ee),_0x1f349d=[];let _0x223b44=!![];if(_0x45db7===_0x1ba89a(0x203)){const _0x563fbf=await listRuntimeAppUsers(_0x1268f5[_0x1ba89a(0x1ea)]),_0x147ad5=_0x563fbf[_0x1ba89a(0x1eb)](_0x520e0d=>Number(_0x520e0d[_0x1ba89a(0x226)])===_0x1689ee);if(_0x147ad5[_0x1ba89a(0x1f5)]!==0x1||!_0x147ad5[0x0]['userName']?.[_0x1ba89a(0x210)]())throw CliErrors[_0x1ba89a(0x202)](_0x1ba89a(0x1fd)+_0x1689ee+_0x1ba89a(0x20e)+_0x1268f5[_0x1ba89a(0x1ea)]+'.',_0x1ba89a(0x1f1));_0x37f15c?(_0x223b44=![],_0x1f349d['push'](_0x1ba89a(0x208)+_0x1689ee+_0x1ba89a(0x222)+_0x8cea22['id']+'.')):_0x481c52[_0x1ba89a(0x1ef)][_0x1ba89a(0x219)]({'userId':_0x1689ee,'username':_0x147ad5[0x0][_0x1ba89a(0x218)]});}else!_0x37f15c?(_0x223b44=![],_0x1f349d[_0x1ba89a(0x219)](_0x1ba89a(0x208)+_0x1689ee+_0x1ba89a(0x200)+_0x8cea22['id']+'.')):_0x481c52['userList']=_0x481c52[_0x1ba89a(0x1ef)][_0x1ba89a(0x1eb)](_0x6f26e1=>_0x6f26e1['userId']!==_0x1689ee);return{'role':_0x8cea22,'userId':_0x1689ee,'roleList':_0x5e90c1,'before':{'userIds':_0x3ceef5},'after':{'userIds':_0x481c52[_0x1ba89a(0x1ef)]['map'](_0x2232e8=>_0x2232e8[_0x1ba89a(0x1f2)])},'shouldWrite':_0x223b44,'warnings':_0x1f349d};}export function runtimeRoleWriteResult(_0x5873f7,_0x2f9b5d,_0x5d587f,_0x1913e3,_0x5038bc,_0x4dadb0=[]){const _0x538aae=a56_0x1ffb34;return{'operation':_0x5873f7,'scope':_0x538aae(0x216),'selector':_0x2f9b5d,'before':_0x5d587f,'after':_0x1913e3,'dryRun':![],'backend':_0x5038bc,'warnings':_0x4dadb0};}
1
+ const a56_0x486166=a56_0x4f33;(function(_0x31ddeb,_0xd6a5d2){const _0x54246c=a56_0x4f33,_0x153db9=_0x31ddeb();while(!![]){try{const _0x39de2b=-parseInt(_0x54246c(0x152))/0x1*(-parseInt(_0x54246c(0x168))/0x2)+-parseInt(_0x54246c(0x170))/0x3+parseInt(_0x54246c(0x143))/0x4*(-parseInt(_0x54246c(0x14b))/0x5)+-parseInt(_0x54246c(0x16b))/0x6+parseInt(_0x54246c(0x148))/0x7*(parseInt(_0x54246c(0x153))/0x8)+parseInt(_0x54246c(0x17a))/0x9+parseInt(_0x54246c(0x16d))/0xa;if(_0x39de2b===_0xd6a5d2)break;else _0x153db9['push'](_0x153db9['shift']());}catch(_0x2de437){_0x153db9['push'](_0x153db9['shift']());}}}(a56_0x5019,0xaf4a7));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{normalizeRuntimeUserId}from'../../utils/runtime-user-id.js';export const RUNTIME_ROLE_TYPES=['ADMIN',a56_0x486166(0x137),a56_0x486166(0x134),'CUSTOM'];const BUILTIN_ROLE_TYPES=[a56_0x486166(0x178),a56_0x486166(0x137),a56_0x486166(0x134)];export const ROLE_ID_FLAG={'name':'id','type':a56_0x486166(0x13f),'required':!![],'description':a56_0x486166(0x13d)};export const ROLE_REF_FLAG={'name':a56_0x486166(0x154),'type':a56_0x486166(0x150),'required':!![],'description':a56_0x486166(0x144)};export const ROLE_CODE_FLAG={'name':a56_0x486166(0x16a),'type':a56_0x486166(0x150),'description':a56_0x486166(0x16e)};export const USER_ID_FLAG={'name':a56_0x486166(0x13b),'type':'string','required':!![],'description':'Runtime\x20userId\x20(string)'};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a56_0x486166(0x13f),'description':a56_0x486166(0x161)};function a56_0x5019(){const _0x45b808=['join','appCode','user','\x20was\x20not\x20found\x20in\x20app\x20','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','number','num','find','\x20is\x20already\x20in\x20runtime\x20role\x20','34316COYUqb','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','expect-user-count','Runtime\x20role\x20member\x20snapshot\x20has\x20an\x20invalid\x20role\x20ID;\x20reload\x20before\x20writing.','userName','5385121zpzbnB','Missing\x20runtime\x20role\x20reference.','runtime','445kNXFHp','flag','userList','Cannot\x20','permitCount','string','filter','1isgdZi','8gjkKAz','role','isSafeInteger','map','Runtime\x20role\x20','\x20built-in\x20runtime\x20role\x20','Runtime\x20role\x20id\x20','Invalid\x20runtime\x20userId.','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','userCount','push','roleCode','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','applyUserList','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','includes','paging','trim','Runtime\x20role\x20name\x20\x22','test','length','862574uVGzcm','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','role-code','5449344fKwNRd','Runtime\x20user\x20','15180690iOSDmV','Globally\x20unique\x20roleCode\x20(maximum\x2064\x20characters)','items','1505193iRIQxC','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','CUSTOM','userId','str','Pass\x20one\x20role\x20ID:\x20','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.',',\x20found\x20','ADMIN','totalCount','1555362sWrJIG','roleType','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','User\x20','remark','code','validation','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','\x20is\x20not\x20in\x20runtime\x20role\x20','roleName','--role-code\x20cannot\x20exceed\x2064\x20characters.','OWNER','Use\x20a\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','USER','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.'];a56_0x5019=function(){return _0x45b808;};return a56_0x5019();}export function isBuiltinRuntimeRole(_0x1bb6e3){return BUILTIN_ROLE_TYPES['includes'](_0x1bb6e3);}function a56_0x4f33(_0x1c9db0,_0x1a54d6){_0x1c9db0=_0x1c9db0-0x131;const _0x50198a=a56_0x5019();let _0x4f33bf=_0x50198a[_0x1c9db0];return _0x4f33bf;}export function assertCustomRuntimeRole(_0x124646,_0x115f97){const _0x4e3998=a56_0x486166;if(_0x124646[_0x4e3998(0x17b)]!==_0x4e3998(0x172))throw CliErrors[_0x4e3998(0x180)](_0x4e3998(0x14e)+_0x115f97+_0x4e3998(0x158)+_0x124646[_0x4e3998(0x132)]+'\x20('+_0x124646[_0x4e3998(0x17b)]+').','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRuntimeRole(_0x42dcd8){const _0x4ad122=a56_0x486166;return{'id':_0x42dcd8['id'],'roleCode':_0x42dcd8[_0x4ad122(0x15e)],'roleName':_0x42dcd8[_0x4ad122(0x132)],'roleType':_0x42dcd8[_0x4ad122(0x17b)],'remark':_0x42dcd8[_0x4ad122(0x17e)],'userCount':_0x42dcd8[_0x4ad122(0x15c)]??0x0,'permitCount':_0x42dcd8[_0x4ad122(0x14f)]??0x0,'builtin':isBuiltinRuntimeRole(_0x42dcd8[_0x4ad122(0x17b)])};}export function readOptionalRuntimeRoleCode(_0x2348ff){const _0x2524c0=a56_0x486166,_0x5a7c23=_0x2348ff[_0x2524c0(0x14c)](_0x2524c0(0x16a));if(_0x5a7c23===undefined||_0x5a7c23===null)return undefined;const _0x5110fa=String(_0x5a7c23)[_0x2524c0(0x164)]();if(!_0x5110fa)throw CliErrors[_0x2524c0(0x180)]('--role-code\x20must\x20not\x20be\x20blank.');if(_0x5110fa[_0x2524c0(0x167)]>0x40)throw CliErrors['validation'](_0x2524c0(0x133));return _0x5110fa;}export async function getRuntimeRoleById(_0x5919a9,_0x23b820){const _0x3edcbd=a56_0x486166;if(!Number['isSafeInteger'](_0x23b820)||_0x23b820<=0x0)throw CliErrors[_0x3edcbd(0x180)](_0x3edcbd(0x138));const _0x18b0be=(await listAllRuntimeRoles(_0x5919a9))[_0x3edcbd(0x151)](_0x14e00e=>_0x14e00e['id']===_0x23b820&&(!_0x14e00e['appCode']||_0x14e00e[_0x3edcbd(0x13a)]===_0x5919a9));if(_0x18b0be['length']!==0x1)throw CliErrors['validation'](_0x3edcbd(0x159)+_0x23b820+_0x3edcbd(0x13c)+_0x5919a9+'.',_0x3edcbd(0x176));const _0x311185=_0x18b0be[0x0],_0x4d89c1=_0x311185['id'];if(typeof _0x4d89c1!=='number'||!Number[_0x3edcbd(0x155)](_0x4d89c1)||_0x4d89c1<=0x0)throw CliErrors[_0x3edcbd(0x180)]('Runtime\x20role\x20has\x20an\x20invalid\x20ID;\x20reload\x20roles\x20before\x20writing.');return{..._0x311185,'id':_0x4d89c1};}export async function listAllRuntimeRoles(_0x409224,_0x859735={}){const _0x5f03ba=a56_0x486166,_0x4a3e24=0x64,_0x7d6046=[];for(let _0x2ea520=0x1;;_0x2ea520+=0x1){const _0x43a244=await listRuntimeAppRoles(_0x409224,{..._0x859735[_0x5f03ba(0x132)]?{'roleName':_0x859735[_0x5f03ba(0x132)]}:{},'currentPage':_0x2ea520,'pageSize':_0x4a3e24});_0x7d6046[_0x5f03ba(0x15d)](..._0x43a244[_0x5f03ba(0x16f)]);if(_0x43a244[_0x5f03ba(0x16f)][_0x5f03ba(0x167)]<_0x4a3e24||_0x43a244[_0x5f03ba(0x163)]&&_0x7d6046[_0x5f03ba(0x167)]>=_0x43a244[_0x5f03ba(0x163)][_0x5f03ba(0x179)])return _0x7d6046;}}export async function resolveRuntimeRoleRef(_0x1a7f88,_0x54026b){const _0x462f4e=a56_0x486166,_0x702557=_0x54026b[_0x462f4e(0x164)]();if(!_0x702557)throw CliErrors[_0x462f4e(0x180)](_0x462f4e(0x149),'Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x462f4e(0x166)](_0x702557))return getRuntimeRoleById(_0x1a7f88,Number(_0x702557));const _0x3fb6b9=(await listAllRuntimeRoles(_0x1a7f88))[_0x462f4e(0x151)](_0x13e308=>_0x13e308[_0x462f4e(0x132)]===_0x702557);if(_0x3fb6b9[_0x462f4e(0x167)]===0x0)throw CliErrors['validation'](_0x462f4e(0x165)+_0x702557+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0x1a7f88+'.',_0x462f4e(0x181));if(_0x3fb6b9[_0x462f4e(0x167)]>0x1)throw CliErrors[_0x462f4e(0x180)](_0x462f4e(0x165)+_0x702557+'\x22\x20is\x20ambiguous.',_0x462f4e(0x175)+_0x3fb6b9[_0x462f4e(0x156)](_0x15c0a3=>_0x15c0a3['id'])[_0x462f4e(0x139)](',\x20')+'.');const _0x5619cb=_0x3fb6b9[0x0],_0x554268=_0x5619cb['id'];if(typeof _0x554268!=='number'||!Number[_0x462f4e(0x155)](_0x554268)||_0x554268<=0x0)throw CliErrors[_0x462f4e(0x180)]('Runtime\x20role\x20has\x20an\x20invalid\x20ID;\x20reload\x20roles\x20before\x20writing.');return{..._0x5619cb,'id':_0x554268};}function parseRuntimeUserId(_0x568582){const _0x3c9c79=a56_0x486166,_0x3b84d6=_0x568582['trim'](),_0x394a6e=normalizeRuntimeUserId(_0x3b84d6);if(_0x394a6e===undefined)throw CliErrors['validation'](_0x3c9c79(0x15a),_0x3c9c79(0x171));return _0x394a6e;}export async function prepareRuntimeMemberMutation(_0x3d4f5a,_0x3c49b1){const _0x348d2b=a56_0x486166,_0xf55c=await resolveRuntimeRoleRef(_0x3d4f5a[_0x348d2b(0x13a)],_0x3d4f5a[_0x348d2b(0x174)](_0x348d2b(0x154)));if(_0xf55c[_0x348d2b(0x17b)]==='OWNER')throw CliErrors[_0x348d2b(0x180)](_0x348d2b(0x17c),_0x348d2b(0x169));const _0x42b4bb=parseRuntimeUserId(_0x3d4f5a[_0x348d2b(0x174)]('user')),_0x309c43=(await listRuntimeRoleUsers(_0x3d4f5a['appCode']))[_0x348d2b(0x156)](_0x5129c3=>{const _0x29c8d9=_0x348d2b;if(typeof _0x5129c3['id']!==_0x29c8d9(0x13f)||!Number[_0x29c8d9(0x155)](_0x5129c3['id'])||_0x5129c3['id']<=0x0)throw CliErrors[_0x29c8d9(0x180)](_0x29c8d9(0x146));return{..._0x5129c3,'userList':[..._0x5129c3[_0x29c8d9(0x14d)]??[]],'applyUserList':[..._0x5129c3[_0x29c8d9(0x160)]??[]]};}),_0x51babf=_0x309c43[_0x348d2b(0x141)](_0x2681e4=>_0x2681e4['id']===_0xf55c['id']);if(!_0x51babf)throw CliErrors[_0x348d2b(0x180)](_0x348d2b(0x157)+_0xf55c['id']+_0x348d2b(0x136),_0x348d2b(0x15f));const _0x2e4ceb=_0x374fe9=>{const _0x3cd893=_0x348d2b,_0x20837a=normalizeRuntimeUserId(_0x374fe9);if(_0x20837a===undefined)throw CliErrors[_0x3cd893(0x180)]('Runtime\x20role\x20member\x20has\x20an\x20invalid\x20userId.');return _0x20837a;},_0x57b358=_0x51babf[_0x348d2b(0x14d)][_0x348d2b(0x156)](_0x508881=>_0x2e4ceb(_0x508881['userId'])),_0x181a5b=_0x3d4f5a[_0x348d2b(0x14c)](_0x348d2b(0x145));if(_0x181a5b!==undefined&&_0x181a5b!==null&&_0x181a5b!==''){const _0x1dd1b1=_0x3d4f5a[_0x348d2b(0x140)](_0x348d2b(0x145));if(!Number['isSafeInteger'](_0x1dd1b1)||_0x1dd1b1<0x0)throw CliErrors[_0x348d2b(0x180)](_0x348d2b(0x15b));if(_0x57b358['length']!==_0x1dd1b1)throw CliErrors[_0x348d2b(0x180)](_0x348d2b(0x13e)+_0x1dd1b1+_0x348d2b(0x177)+_0x57b358[_0x348d2b(0x167)]+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x48f839=_0x57b358[_0x348d2b(0x162)](_0x42b4bb),_0x3956cf=[];let _0x4bd011=!![];if(_0x3c49b1==='user-add'){const _0x177c65=await listRuntimeAppUsers(_0x3d4f5a[_0x348d2b(0x13a)]),_0x253a99=_0x177c65[_0x348d2b(0x151)](_0xc52705=>normalizeRuntimeUserId(_0xc52705[_0x348d2b(0x17f)])===_0x42b4bb);if(_0x253a99[_0x348d2b(0x167)]!==0x1||!_0x253a99[0x0][_0x348d2b(0x147)]?.[_0x348d2b(0x164)]())throw CliErrors['validation'](_0x348d2b(0x16c)+_0x42b4bb+_0x348d2b(0x13c)+_0x3d4f5a[_0x348d2b(0x13a)]+'.',_0x348d2b(0x135));_0x48f839?(_0x4bd011=![],_0x3956cf[_0x348d2b(0x15d)]('User\x20'+_0x42b4bb+_0x348d2b(0x142)+_0xf55c['id']+'.')):_0x51babf[_0x348d2b(0x14d)][_0x348d2b(0x15d)]({'userId':_0x42b4bb,'username':_0x253a99[0x0][_0x348d2b(0x147)]});}else!_0x48f839?(_0x4bd011=![],_0x3956cf[_0x348d2b(0x15d)](_0x348d2b(0x17d)+_0x42b4bb+_0x348d2b(0x131)+_0xf55c['id']+'.')):_0x51babf[_0x348d2b(0x14d)]=_0x51babf[_0x348d2b(0x14d)][_0x348d2b(0x151)](_0x33d59e=>_0x2e4ceb(_0x33d59e[_0x348d2b(0x173)])!==_0x42b4bb);return{'role':_0xf55c,'userId':_0x42b4bb,'roleList':_0x309c43,'before':{'userIds':_0x57b358},'after':{'userIds':_0x51babf[_0x348d2b(0x14d)][_0x348d2b(0x156)](_0xb2e765=>_0x2e4ceb(_0xb2e765[_0x348d2b(0x173)]))},'shouldWrite':_0x4bd011,'warnings':_0x3956cf};}export function runtimeRoleWriteResult(_0x24b41c,_0x4eaa44,_0x556413,_0x54740b,_0x3f87d6,_0x5523ef=[]){const _0x23dc66=a56_0x486166;return{'operation':_0x24b41c,'scope':_0x23dc66(0x14a),'selector':_0x4eaa44,'before':_0x556413,'after':_0x54740b,'dryRun':![],'backend':_0x3f87d6,'warnings':_0x5523ef};}
@@ -1 +1 @@
1
- const a57_0x8d339e=a57_0x2c7a;(function(_0x4fd698,_0x404c13){const _0x59801a=a57_0x2c7a,_0x40bd6c=_0x4fd698();while(!![]){try{const _0x1bcba2=parseInt(_0x59801a(0xb8))/0x1*(parseInt(_0x59801a(0xc4))/0x2)+parseInt(_0x59801a(0xc2))/0x3*(parseInt(_0x59801a(0xba))/0x4)+-parseInt(_0x59801a(0xb3))/0x5+-parseInt(_0x59801a(0xab))/0x6*(-parseInt(_0x59801a(0xbc))/0x7)+parseInt(_0x59801a(0xaa))/0x8+-parseInt(_0x59801a(0xaf))/0x9+-parseInt(_0x59801a(0xc0))/0xa*(-parseInt(_0x59801a(0xb4))/0xb);if(_0x1bcba2===_0x404c13)break;else _0x40bd6c['push'](_0x40bd6c['shift']());}catch(_0x4693dd){_0x40bd6c['push'](_0x40bd6c['shift']());}}}(a57_0x5bf5,0xb9257));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a57_0x5bf5(){const _0x43dc59=['name','str','Update\x20a\x20runtime\x20CUSTOM\x20role\x27s\x20code,\x20name,\x20or\x20remark','body','--remark\x20must\x20not\x20be\x20blank.','update','4735264bqOjCk','1606866DBkdBU','appCode','remark','string','11149488Wdpero','num','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','New\x20role\x20name','7527465JapMuK','187pGQRor','validation','high-risk-write','role-code','891nDueSB','description','235196ryBexY','role','14wVYpAB','flag','New\x20non-empty\x20role\x20remark','POST','589030VoFqDx','/client/permit/role/update','51FVvXSq','Pass\x20--role-code,\x20--name,\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','840YsQrLH'];a57_0x5bf5=function(){return _0x43dc59;};return a57_0x5bf5();}function a57_0x2c7a(_0x587f1f,_0x503c10){_0x587f1f=_0x587f1f-0xa5;const _0x5bf593=a57_0x5bf5();let _0x2c7a9c=_0x5bf593[_0x587f1f];return _0x2c7a9c;}import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x3d46b7){const _0x1acebf=a57_0x2c7a,_0x2ccfb0=_0x3d46b7[_0x1acebf(0xbd)](_0x1acebf(0xb7))!==undefined,_0x10cd91=_0x3d46b7[_0x1acebf(0xbd)](_0x1acebf(0xc5))!==undefined,_0x2045b7=_0x3d46b7[_0x1acebf(0xbd)](_0x1acebf(0xad))!==undefined;if(!_0x2ccfb0&&!_0x10cd91&&!_0x2045b7)throw CliErrors[_0x1acebf(0xb5)](_0x1acebf(0xc3));const _0x1d06ce=readOptionalRuntimeRoleCode(_0x3d46b7),_0x2ce5a7=_0x3d46b7[_0x1acebf(0xa5)](_0x1acebf(0xc5))['trim'](),_0x372996=_0x3d46b7['str'](_0x1acebf(0xad))['trim']();if(_0x10cd91&&!_0x2ce5a7)throw CliErrors[_0x1acebf(0xb5)]('--name\x20must\x20not\x20be\x20blank.');if(_0x2045b7&&!_0x372996)throw CliErrors[_0x1acebf(0xb5)](_0x1acebf(0xa8),'The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.');return{..._0x1d06ce?{'roleCode':_0x1d06ce}:{},..._0x10cd91?{'roleName':_0x2ce5a7}:{},..._0x2045b7?{'remark':_0x372996}:{}};}async function prepare(_0x4bb018){const _0x5a6a33=a57_0x2c7a,_0x2cfd7c=await getRuntimeRoleById(_0x4bb018[_0x5a6a33(0xac)],_0x4bb018[_0x5a6a33(0xb0)]('id'));return assertCustomRuntimeRole(_0x2cfd7c,'update'),{'role':_0x2cfd7c,'body':{'id':_0x2cfd7c['id'],'appCode':_0x4bb018[_0x5a6a33(0xac)],...updateFields(_0x4bb018)}};}export const roleUpdate={'service':a57_0x8d339e(0xbb),'command':'update','description':a57_0x8d339e(0xa6),'risk':a57_0x8d339e(0xb6),'confirmationDescription':'Changes\x20the\x20custom\x20role\x20code,\x20name,\x20or\x20note\x20in\x20the\x20current\x20runtime\x20app.\x20The\x20role\x20updates\x20immediately.','flags':[ROLE_ID_FLAG,ROLE_CODE_FLAG,{'name':a57_0x8d339e(0xc5),'type':a57_0x8d339e(0xae),'description':a57_0x8d339e(0xb2)},{'name':'remark','type':a57_0x8d339e(0xae),'description':a57_0x8d339e(0xbe)}],async 'validate'(_0x9c0407){updateFields(_0x9c0407);},async 'dryRun'(_0x587183){const _0x271693=a57_0x8d339e,{body:_0x168fd3}=await prepare(_0x587183);return dryRun(_0x271693(0xbf),_0x271693(0xc1))[_0x271693(0xa7)](_0x168fd3)[_0x271693(0xb9)](_0x271693(0xb1))['build']();},async 'execute'(_0x24a710){const _0x1a4673=a57_0x8d339e,{role:_0x35a1f8,body:_0x51ab9a}=await prepare(_0x24a710),_0x19d2da=await updateRuntimeAppRole(_0x51ab9a);return{'ok':!![],'data':runtimeRoleWriteResult(_0x1a4673(0xa9),{'roleId':_0x35a1f8['id']},projectRuntimeRole(_0x35a1f8),projectRuntimeRole(_0x19d2da),{'method':'POST','path':'/client/permit/role/update'})};}};
1
+ const a57_0x101800=a57_0xcbaf;(function(_0x48e2ca,_0x88365b){const _0xf10238=a57_0xcbaf,_0x34a1d1=_0x48e2ca();while(!![]){try{const _0x13992d=parseInt(_0xf10238(0x19a))/0x1*(-parseInt(_0xf10238(0x190))/0x2)+parseInt(_0xf10238(0x1a0))/0x3*(-parseInt(_0xf10238(0x180))/0x4)+-parseInt(_0xf10238(0x19e))/0x5*(-parseInt(_0xf10238(0x182))/0x6)+-parseInt(_0xf10238(0x195))/0x7*(parseInt(_0xf10238(0x192))/0x8)+parseInt(_0xf10238(0x17f))/0x9+-parseInt(_0xf10238(0x196))/0xa+parseInt(_0xf10238(0x187))/0xb;if(_0x13992d===_0x88365b)break;else _0x34a1d1['push'](_0x34a1d1['shift']());}catch(_0x1d032a){_0x34a1d1['push'](_0x34a1d1['shift']());}}}(a57_0x3fd5,0x3d1e5));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a57_0x3fd5(){const _0x5856a3=['--name\x20must\x20not\x20be\x20blank.','6mkfozd','role','remark','role-code','update','6232545aeHYqn','validation','name','string','build','Changes\x20the\x20custom\x20role\x20code,\x20name,\x20or\x20note\x20in\x20the\x20current\x20runtime\x20app.\x20The\x20role\x20updates\x20immediately.','str','flag','--remark\x20must\x20not\x20be\x20blank.','2gUzATe','POST','309408phqKUA','description','num','14DrrSyT','3133320AhRsMk','body','/client/permit/role/update','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','102602jvxpBT','Update\x20a\x20runtime\x20CUSTOM\x20role\x27s\x20code,\x20name,\x20or\x20remark','high-risk-write','Pass\x20--role-code,\x20--name,\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','1129445NOfocf','New\x20role\x20name','16635YnBMzZ','appCode','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','458577NmwvJc','72tqfMbh'];a57_0x3fd5=function(){return _0x5856a3;};return a57_0x3fd5();}import{dryRun}from'../../framework/dryrun.js';function a57_0xcbaf(_0x1a1adb,_0x4c7499){_0x1a1adb=_0x1a1adb-0x17d;const _0x3fd57d=a57_0x3fd5();let _0xcbaf11=_0x3fd57d[_0x1a1adb];return _0xcbaf11;}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x45d251){const _0x179e36=a57_0xcbaf,_0x3282ac=_0x45d251[_0x179e36(0x18e)](_0x179e36(0x185))!==undefined,_0x53aa88=_0x45d251[_0x179e36(0x18e)](_0x179e36(0x189))!==undefined,_0x3b78e2=_0x45d251[_0x179e36(0x18e)](_0x179e36(0x184))!==undefined;if(!_0x3282ac&&!_0x53aa88&&!_0x3b78e2)throw CliErrors['validation'](_0x179e36(0x19d));const _0x5ab8e3=readOptionalRuntimeRoleCode(_0x45d251),_0x299980=_0x45d251['str'](_0x179e36(0x189))['trim'](),_0x59d24e=_0x45d251[_0x179e36(0x18d)]('remark')['trim']();if(_0x53aa88&&!_0x299980)throw CliErrors[_0x179e36(0x188)](_0x179e36(0x181));if(_0x3b78e2&&!_0x59d24e)throw CliErrors[_0x179e36(0x188)](_0x179e36(0x18f),_0x179e36(0x17e));return{..._0x5ab8e3?{'roleCode':_0x5ab8e3}:{},..._0x53aa88?{'roleName':_0x299980}:{},..._0x3b78e2?{'remark':_0x59d24e}:{}};}async function prepare(_0x20edd3){const _0x3cb49c=a57_0xcbaf,_0xc207e9=await getRuntimeRoleById(_0x20edd3[_0x3cb49c(0x17d)],_0x20edd3[_0x3cb49c(0x194)]('id'));return assertCustomRuntimeRole(_0xc207e9,'update'),{'role':_0xc207e9,'body':{'id':_0xc207e9['id'],'appCode':_0x20edd3[_0x3cb49c(0x17d)],...updateFields(_0x20edd3)}};}export const roleUpdate={'service':a57_0x101800(0x183),'command':a57_0x101800(0x186),'description':a57_0x101800(0x19b),'risk':a57_0x101800(0x19c),'confirmationDescription':a57_0x101800(0x18c),'flags':[ROLE_ID_FLAG,ROLE_CODE_FLAG,{'name':a57_0x101800(0x189),'type':a57_0x101800(0x18a),'description':a57_0x101800(0x19f)},{'name':a57_0x101800(0x184),'type':'string','description':'New\x20non-empty\x20role\x20remark'}],async 'validate'(_0xab97a6){updateFields(_0xab97a6);},async 'dryRun'(_0x2024e5){const _0x3f2d07=a57_0x101800,{body:_0x60ccb4}=await prepare(_0x2024e5);return dryRun(_0x3f2d07(0x191),_0x3f2d07(0x198))[_0x3f2d07(0x197)](_0x60ccb4)[_0x3f2d07(0x193)](_0x3f2d07(0x199))[_0x3f2d07(0x18b)]();},async 'execute'(_0x3bd97e){const _0x53e60e=a57_0x101800,{role:_0xa3139e,body:_0x3d34af}=await prepare(_0x3bd97e),_0x5b50e6=await updateRuntimeAppRole(_0x3d34af);return{'ok':!![],'data':runtimeRoleWriteResult(_0x53e60e(0x186),{'roleId':_0xa3139e['id']},projectRuntimeRole(_0xa3139e),projectRuntimeRole(_0x5b50e6),{'method':_0x53e60e(0x191),'path':_0x53e60e(0x198)})};}};
@@ -1 +1 @@
1
- function a58_0x590e(_0x19a7ae,_0x521ee2){_0x19a7ae=_0x19a7ae-0x11f;const _0x33ce65=a58_0x33ce();let _0x590eeb=_0x33ce65[_0x19a7ae];return _0x590eeb;}function a58_0x33ce(){const _0x59b715=['/client/permit/user-role/update-user-list','5175412nJrNZQ','1242Bltuyw','body','95mvrhgp','3yqJmQT','roleList','1470228brNFXP','239baHhSU','build','127128mqurYX','warnings','high-risk-write','appCode','133IAzgqq','role','before','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','32694FVMvDc','user-add','userId','shouldWrite','3129795SCxjIn','426540jInuep','POST','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.'];a58_0x33ce=function(){return _0x59b715;};return a58_0x33ce();}const a58_0x4d9600=a58_0x590e;(function(_0x4b4462,_0x2e9fd6){const _0xdfcc93=a58_0x590e,_0x2dc3c1=_0x4b4462();while(!![]){try{const _0x47c79e=-parseInt(_0xdfcc93(0x120))/0x1*(-parseInt(_0xdfcc93(0x134))/0x2)+parseInt(_0xdfcc93(0x137))/0x3*(parseInt(_0xdfcc93(0x11f))/0x4)+-parseInt(_0xdfcc93(0x136))/0x5*(parseInt(_0xdfcc93(0x12a))/0x6)+parseInt(_0xdfcc93(0x126))/0x7*(-parseInt(_0xdfcc93(0x122))/0x8)+-parseInt(_0xdfcc93(0x12e))/0x9+-parseInt(_0xdfcc93(0x12f))/0xa+parseInt(_0xdfcc93(0x133))/0xb;if(_0x47c79e===_0x2e9fd6)break;else _0x2dc3c1['push'](_0x2dc3c1['shift']());}catch(_0xeae574){_0x2dc3c1['push'](_0x2dc3c1['shift']());}}}(a58_0x33ce,0x2e887));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':a58_0x4d9600(0x127),'command':a58_0x4d9600(0x12b),'description':a58_0x4d9600(0x129),'risk':a58_0x4d9600(0x124),'confirmationDescription':a58_0x4d9600(0x131),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x561534){const _0x39dde9=a58_0x4d9600,_0x54fb42=await prepareRuntimeMemberMutation(_0x561534,_0x39dde9(0x12b));return dryRun(_0x39dde9(0x130),_0x39dde9(0x132))[_0x39dde9(0x135)]({'appCode':_0x561534[_0x39dde9(0x125)],'roleList':_0x54fb42['roleList']})['description'](_0x54fb42[_0x39dde9(0x12d)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x54fb42[_0x39dde9(0x123)][0x0])[_0x39dde9(0x121)]();},async 'execute'(_0x9521d0){const _0x41cb1b=a58_0x4d9600,_0x1653dd=await prepareRuntimeMemberMutation(_0x9521d0,_0x41cb1b(0x12b));return _0x1653dd[_0x41cb1b(0x12d)]&&await updateRuntimeRoleUsers(_0x9521d0['appCode'],_0x1653dd[_0x41cb1b(0x138)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x41cb1b(0x12b),{'roleId':_0x1653dd[_0x41cb1b(0x127)]['id'],'userId':_0x1653dd[_0x41cb1b(0x12c)]},_0x1653dd[_0x41cb1b(0x128)],_0x1653dd['after'],{'method':'POST','path':_0x41cb1b(0x132)},_0x1653dd[_0x41cb1b(0x123)])};}};
1
+ const a58_0x3c324e=a58_0x16c3;function a58_0x16c3(_0x5ce433,_0x2a6356){_0x5ce433=_0x5ce433-0x1bf;const _0xa169d9=a58_0xa169();let _0x16c363=_0xa169d9[_0x5ce433];return _0x16c363;}(function(_0x388b14,_0x18ca47){const _0x75a79f=a58_0x16c3,_0x358876=_0x388b14();while(!![]){try{const _0x4e36e6=-parseInt(_0x75a79f(0x1d0))/0x1+-parseInt(_0x75a79f(0x1c4))/0x2+-parseInt(_0x75a79f(0x1d7))/0x3*(parseInt(_0x75a79f(0x1bf))/0x4)+-parseInt(_0x75a79f(0x1c6))/0x5+parseInt(_0x75a79f(0x1d5))/0x6+parseInt(_0x75a79f(0x1cf))/0x7*(parseInt(_0x75a79f(0x1c1))/0x8)+parseInt(_0x75a79f(0x1ce))/0x9;if(_0x4e36e6===_0x18ca47)break;else _0x358876['push'](_0x358876['shift']());}catch(_0x4567d0){_0x358876['push'](_0x358876['shift']());}}}(a58_0xa169,0xe6d79));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a58_0xa169(){const _0x59d0d7=['role','572594PQPAEH','body','701385DBLYKO','warnings','build','description','after','/client/permit/user-role/update-user-list','user-add','shouldWrite','18152640Ifxxqr','2935366htEclt','1499892FbUuxc','before','POST','userId','high-risk-write','4384410lurzqY','roleList','3HOjmmE','appCode','4534856kcxBIT','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.','24vlArrO','Add\x20a\x20userId\x20to\x20one\x20runtime\x20role'];a58_0xa169=function(){return _0x59d0d7;};return a58_0xa169();}import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a58_0x3c324e(0x1c3),'command':a58_0x3c324e(0x1cc),'description':a58_0x3c324e(0x1c2),'risk':a58_0x3c324e(0x1d4),'confirmationDescription':a58_0x3c324e(0x1c0),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x465429){const _0x1105b0=a58_0x3c324e,_0x13553c=await prepareRuntimeMemberMutation(_0x465429,_0x1105b0(0x1cc));return dryRun(_0x1105b0(0x1d2),_0x1105b0(0x1cb))[_0x1105b0(0x1c5)]({'appCode':_0x465429[_0x1105b0(0x1d8)],'roleList':_0x13553c['roleList']})[_0x1105b0(0x1c9)](_0x13553c[_0x1105b0(0x1cd)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x13553c[_0x1105b0(0x1c7)][0x0])[_0x1105b0(0x1c8)]();},async 'execute'(_0x41f2d9){const _0x174036=a58_0x3c324e,_0x59dcd3=await prepareRuntimeMemberMutation(_0x41f2d9,'user-add');return _0x59dcd3[_0x174036(0x1cd)]&&await updateRuntimeRoleUsers(_0x41f2d9[_0x174036(0x1d8)],_0x59dcd3[_0x174036(0x1d6)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x174036(0x1cc),{'roleId':_0x59dcd3[_0x174036(0x1c3)]['id'],'userId':_0x59dcd3[_0x174036(0x1d3)]},_0x59dcd3[_0x174036(0x1d1)],_0x59dcd3[_0x174036(0x1ca)],{'method':_0x174036(0x1d2),'path':_0x174036(0x1cb)},_0x59dcd3[_0x174036(0x1c7)])};}};
@@ -1 +1 @@
1
- const a59_0x1fe180=a59_0xaf26;function a59_0xaf26(_0x3da057,_0x32cf9a){_0x3da057=_0x3da057-0x1d1;const _0x32746d=a59_0x3274();let _0xaf2652=_0x32746d[_0x3da057];return _0xaf2652;}function a59_0x3274(){const _0x945d08=['822930xqCAUf','description','/client/permit/user-role/update-user-list','build','shouldWrite','user-remove','79616rOdpJG','after','role','1628088NRhIyy','20Xkcutd','Preview:\x20remove\x20runtime\x20role\x20member','POST','roleList','before','67816ZJxKya','appCode','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','warnings','379304yHjFWG','890361HEQVVE','18sIvYRD','2mcuxrW','userId','body','8182170NggYUn'];a59_0x3274=function(){return _0x945d08;};return a59_0x3274();}(function(_0xc4faef,_0x27ba7a){const _0xbeb1a2=a59_0xaf26,_0x2e5ff6=_0xc4faef();while(!![]){try{const _0x42e16a=-parseInt(_0xbeb1a2(0x1da))/0x1+parseInt(_0xbeb1a2(0x1dd))/0x2*(-parseInt(_0xbeb1a2(0x1db))/0x3)+-parseInt(_0xbeb1a2(0x1ea))/0x4+-parseInt(_0xbeb1a2(0x1d1))/0x5*(-parseInt(_0xbeb1a2(0x1e1))/0x6)+parseInt(_0xbeb1a2(0x1d6))/0x7+-parseInt(_0xbeb1a2(0x1e7))/0x8*(-parseInt(_0xbeb1a2(0x1dc))/0x9)+parseInt(_0xbeb1a2(0x1e0))/0xa;if(_0x42e16a===_0x27ba7a)break;else _0x2e5ff6['push'](_0x2e5ff6['shift']());}catch(_0x2384ca){_0x2e5ff6['push'](_0x2e5ff6['shift']());}}}(a59_0x3274,0x4c7e4));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':a59_0x1fe180(0x1e9),'command':a59_0x1fe180(0x1e6),'description':'Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','risk':'high-risk-write','confirmationDescription':a59_0x1fe180(0x1d8),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x12ce9e){const _0x121f91=a59_0x1fe180,_0x1c5493=await prepareRuntimeMemberMutation(_0x12ce9e,'user-remove');return dryRun(_0x121f91(0x1d3),'/client/permit/user-role/update-user-list')[_0x121f91(0x1df)]({'appCode':_0x12ce9e[_0x121f91(0x1d7)],'roleList':_0x1c5493[_0x121f91(0x1d4)]})[_0x121f91(0x1e2)](_0x1c5493[_0x121f91(0x1e5)]?_0x121f91(0x1d2):_0x1c5493[_0x121f91(0x1d9)][0x0])[_0x121f91(0x1e4)]();},async 'execute'(_0x1af277){const _0x3b627b=a59_0x1fe180,_0x54bfb0=await prepareRuntimeMemberMutation(_0x1af277,_0x3b627b(0x1e6));return _0x54bfb0[_0x3b627b(0x1e5)]&&await updateRuntimeRoleUsers(_0x1af277[_0x3b627b(0x1d7)],_0x54bfb0[_0x3b627b(0x1d4)]),{'ok':!![],'data':runtimeRoleWriteResult('user-remove',{'roleId':_0x54bfb0[_0x3b627b(0x1e9)]['id'],'userId':_0x54bfb0[_0x3b627b(0x1de)]},_0x54bfb0[_0x3b627b(0x1d5)],_0x54bfb0[_0x3b627b(0x1e8)],{'method':_0x3b627b(0x1d3),'path':_0x3b627b(0x1e3)},_0x54bfb0[_0x3b627b(0x1d9)])};}};
1
+ function a59_0x8dbf(){const _0x397f86=['Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','/client/permit/user-role/update-user-list','8AoSPeH','warnings','role','99LKXWdS','549iONDCz','24RLlwWI','1664362IstYEV','Remove\x20a\x20userId\x20from\x20one\x20runtime\x20role','35180DyyNWX','user-remove','6552RHiLPN','roleList','body','2061wCMTvo','userId','19TgeRqw','before','after','25492POaahx','appCode','1412AnpbTM','171875CuzQmo','56TvEqgs','POST','1788176mrsJVw','Preview:\x20remove\x20runtime\x20role\x20member','shouldWrite','description'];a59_0x8dbf=function(){return _0x397f86;};return a59_0x8dbf();}const a59_0x35c56d=a59_0x1466;function a59_0x1466(_0x4cbc57,_0x23ce7b){_0x4cbc57=_0x4cbc57-0x189;const _0x8dbf27=a59_0x8dbf();let _0x14663c=_0x8dbf27[_0x4cbc57];return _0x14663c;}(function(_0x18ef27,_0x56f8ed){const _0x142d67=a59_0x1466,_0x1121c3=_0x18ef27();while(!![]){try{const _0x1e7de9=parseInt(_0x142d67(0x1a6))/0x1*(-parseInt(_0x142d67(0x18b))/0x2)+-parseInt(_0x142d67(0x1a4))/0x3*(parseInt(_0x142d67(0x18d))/0x4)+parseInt(_0x142d67(0x18e))/0x5*(parseInt(_0x142d67(0x19c))/0x6)+-parseInt(_0x142d67(0x19d))/0x7*(parseInt(_0x142d67(0x197))/0x8)+parseInt(_0x142d67(0x19b))/0x9*(parseInt(_0x142d67(0x19f))/0xa)+-parseInt(_0x142d67(0x19a))/0xb*(-parseInt(_0x142d67(0x1a1))/0xc)+-parseInt(_0x142d67(0x191))/0xd*(-parseInt(_0x142d67(0x18f))/0xe);if(_0x1e7de9===_0x56f8ed)break;else _0x1121c3['push'](_0x1121c3['shift']());}catch(_0x8d78f3){_0x1121c3['push'](_0x1121c3['shift']());}}}(a59_0x8dbf,0x2d1c1));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':a59_0x35c56d(0x199),'command':'user-remove','description':a59_0x35c56d(0x19e),'risk':'high-risk-write','confirmationDescription':a59_0x35c56d(0x195),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x23f0df){const _0xc7cf53=a59_0x35c56d,_0x2ca2ba=await prepareRuntimeMemberMutation(_0x23f0df,_0xc7cf53(0x1a0));return dryRun(_0xc7cf53(0x190),'/client/permit/user-role/update-user-list')[_0xc7cf53(0x1a3)]({'appCode':_0x23f0df['appCode'],'roleList':_0x2ca2ba[_0xc7cf53(0x1a2)]})[_0xc7cf53(0x194)](_0x2ca2ba[_0xc7cf53(0x193)]?_0xc7cf53(0x192):_0x2ca2ba[_0xc7cf53(0x198)][0x0])['build']();},async 'execute'(_0x2538b9){const _0x18a37a=a59_0x35c56d,_0x1a8562=await prepareRuntimeMemberMutation(_0x2538b9,'user-remove');return _0x1a8562[_0x18a37a(0x193)]&&await updateRuntimeRoleUsers(_0x2538b9[_0x18a37a(0x18c)],_0x1a8562[_0x18a37a(0x1a2)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x18a37a(0x1a0),{'roleId':_0x1a8562[_0x18a37a(0x199)]['id'],'userId':_0x1a8562[_0x18a37a(0x1a5)]},_0x1a8562[_0x18a37a(0x189)],_0x1a8562[_0x18a37a(0x18a)],{'method':_0x18a37a(0x190),'path':_0x18a37a(0x196)},_0x1a8562[_0x18a37a(0x198)])};}};
@@ -1 +1 @@
1
- const a60_0x51ea99=a60_0x2679;(function(_0x466c50,_0x2d442c){const _0x4e8f49=a60_0x2679,_0xce73c=_0x466c50();while(!![]){try{const _0x53852d=parseInt(_0x4e8f49(0xf7))/0x1*(parseInt(_0x4e8f49(0x11d))/0x2)+-parseInt(_0x4e8f49(0xe1))/0x3+parseInt(_0x4e8f49(0xd7))/0x4*(parseInt(_0x4e8f49(0xe2))/0x5)+-parseInt(_0x4e8f49(0x11a))/0x6*(parseInt(_0x4e8f49(0xd9))/0x7)+parseInt(_0x4e8f49(0xea))/0x8+parseInt(_0x4e8f49(0x110))/0x9+parseInt(_0x4e8f49(0x113))/0xa*(-parseInt(_0x4e8f49(0x117))/0xb);if(_0x53852d===_0x2d442c)break;else _0xce73c['push'](_0xce73c['shift']());}catch(_0x5c7349){_0xce73c['push'](_0xce73c['shift']());}}}(a60_0x4f43,0xbd2dc));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a60_0x4f43(){const _0x2603bf=['Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','\x20schedule\x20','prompt','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','5416768qtilAC','Deleted\x20schedule\x20','validate','kimi/k3','UTC','scheduleId','run','Schedule\x20input\x20is\x20valid','title','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','1sTvlEa','Preview:\x20delete\x20schedule\x20','string','read','appCode','cron','validation','isSafeInteger','high-risk-write','model','POST','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','/api/harness/apps/','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','DELETE','build','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','trim','/run','scheduled-at','/schedules','\x20from\x20schedule\x20','delete','8907147CcOCuk','Preview:\x20create\x20an\x20Agent\x20schedule','ONCE','23124860sbbHdK','taskId','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','CRON','11bGACJV','length','str','18sudYGv','limit','deepseek-v4-pro-0813','2492138LOHlud','Preview:\x20run\x20schedule\x20','detail','kind','Queued\x20Task\x20','schedule','number','description','--title\x20must\x20not\x20be\x20blank.','430156DyiydV','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','18452AhUnEe','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Schedule\x20UUID','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','num','cursor','Schedule\x20kind:\x20CRON\x20or\x20ONCE','2356287lYaLDM','45LFaYqs','Schedule\x20title','Page\x20size\x20from\x201\x20to\x20100','schedule-id'];a60_0x4f43=function(){return _0x2603bf;};return a60_0x4f43();}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':a60_0x51ea99(0x120),'type':a60_0x51ea99(0xf9),'required':!![],'enum':[a60_0x51ea99(0x116),a60_0x51ea99(0x112)],'description':a60_0x51ea99(0xe0)},CRON_FLAG={'name':a60_0x51ea99(0xfc),'type':a60_0x51ea99(0xf9),'description':a60_0x51ea99(0x107)},SCHEDULED_AT_FLAG={'name':a60_0x51ea99(0x10c),'type':'string','description':a60_0x51ea99(0x115)},TITLE_FLAG={'name':'title','type':a60_0x51ea99(0xf9),'required':!![],'description':a60_0x51ea99(0xe3)},PROMPT_FLAG={'name':a60_0x51ea99(0xe8),'type':'string','required':!![],'description':a60_0x51ea99(0xf5)},MODEL_FLAG={'name':a60_0x51ea99(0x100),'type':'string','enum':[a60_0x51ea99(0xed),'deepseek-v4-flash-0731',a60_0x51ea99(0x11c)],'default':'deepseek-v4-flash-0731','description':a60_0x51ea99(0xf4)},SCHEDULE_ID_FLAG={'name':'schedule-id','type':'string','required':!![],'description':a60_0x51ea99(0xdc),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a60_0x51ea99(0xd8)}},LIMIT_FLAG={'name':'limit','type':a60_0x51ea99(0x123),'default':0x14,'description':a60_0x51ea99(0xe4)},CURSOR_FLAG={'name':a60_0x51ea99(0xdf),'type':a60_0x51ea99(0xf9),'description':a60_0x51ea99(0xdd)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0xf06a4f){const _0x509537=a60_0x51ea99,_0x51dd69=_0xf06a4f['str']('kind'),_0x10c7e5=_0xf06a4f['str'](_0x509537(0xf2))['trim'](),_0x276d5c=_0xf06a4f[_0x509537(0x119)](_0x509537(0xe8))[_0x509537(0x10a)](),_0x396ad9=_0xf06a4f[_0x509537(0x119)](_0x509537(0x100)),_0x14ce02=_0xf06a4f[_0x509537(0x119)](_0x509537(0xfc)),_0xcd8e21=_0xf06a4f['str']('scheduled-at');if(!_0x10c7e5)throw CliErrors[_0x509537(0xfd)](_0x509537(0xd6));if(!_0x276d5c)throw CliErrors[_0x509537(0xfd)]('--prompt\x20must\x20not\x20be\x20blank.');if(_0x51dd69===_0x509537(0x116)){if(!_0x14ce02||_0xcd8e21)throw CliErrors[_0x509537(0xfd)](_0x509537(0x104));return{'kind':_0x51dd69,'timezone':_0x509537(0xee),'cron':_0x14ce02,'title':_0x10c7e5,'prompt':_0x276d5c,'model':_0x396ad9};}if(_0x51dd69==='ONCE'){if(!_0xcd8e21||_0x14ce02)throw CliErrors[_0x509537(0xfd)](_0x509537(0x102));return{'kind':_0x51dd69,'timezone':_0x509537(0xee),'scheduledAt':_0xcd8e21,'title':_0x10c7e5,'prompt':_0x276d5c,'model':_0x396ad9};}throw CliErrors[_0x509537(0xfd)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x5b866e){const _0x5a57ab=a60_0x51ea99;return _0x5a57ab(0x103)+encodeURIComponent(_0x5b866e)+_0x5a57ab(0x10d);}function scheduleItemPath(_0x3f3261,_0x382e67){return scheduleCollectionPath(_0x3f3261)+'/'+encodeURIComponent(_0x382e67);}const scheduleValidate={'service':'schedule','command':a60_0x51ea99(0xec),'description':a60_0x51ea99(0xe6),'risk':a60_0x51ea99(0xfa),'flags':INPUT_FLAGS,async 'validate'(_0xd1448a){readScheduleInput(_0xd1448a);},async 'execute'(_0x21d04a){const _0x3dceee=a60_0x51ea99,_0x169fcd=readScheduleInput(_0x21d04a),_0x433f77=await validateRuntimeSchedule(_0x21d04a[_0x3dceee(0xfb)],_0x169fcd);return{'ok':!![],'data':_0x433f77,'message':_0x3dceee(0xf1)};}},scheduleCreate={'service':a60_0x51ea99(0x122),'command':'create','description':a60_0x51ea99(0xe9),'risk':'high-risk-write','confirmationDescription':a60_0x51ea99(0xda),'flags':INPUT_FLAGS,async 'validate'(_0x1032d0){readScheduleInput(_0x1032d0);},async 'execute'(_0x24fdd1){const _0x48f7fd=a60_0x51ea99,_0x6a4de6=readScheduleInput(_0x24fdd1),_0x227435=await validateRuntimeSchedule(_0x24fdd1[_0x48f7fd(0xfb)],_0x6a4de6),_0xe801d9=await createRuntimeSchedule(_0x24fdd1[_0x48f7fd(0xfb)],_0x227435);return{'ok':!![],'data':_0xe801d9,'message':'Created\x20'+_0xe801d9[_0x48f7fd(0x120)]+_0x48f7fd(0xe7)+_0xe801d9[_0x48f7fd(0xef)]};},async 'dryRun'(_0x4c4973){const _0x43f9db=a60_0x51ea99,_0x21e0a8=readScheduleInput(_0x4c4973);return dryRun(_0x43f9db(0x101),scheduleCollectionPath(_0x4c4973['appCode']))['body'](_0x21e0a8)[_0x43f9db(0x124)](_0x43f9db(0x111))[_0x43f9db(0x106)]();}},scheduleList={'service':'schedule','command':'list','description':a60_0x51ea99(0xf3),'risk':a60_0x51ea99(0xfa),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3f7e36){const _0xfc8a23=a60_0x51ea99,_0xab0e88=_0x3f7e36[_0xfc8a23(0xde)](_0xfc8a23(0x11b));if(!Number[_0xfc8a23(0xfe)](_0xab0e88)||_0xab0e88<0x1||_0xab0e88>0x64)throw CliErrors['validation'](_0xfc8a23(0x109));const _0x52a6e1=_0x3f7e36[_0xfc8a23(0x119)](_0xfc8a23(0xdf));if(_0x52a6e1&&(_0x52a6e1[_0xfc8a23(0x118)]>0x400||_0x52a6e1[_0xfc8a23(0x10a)]()!==_0x52a6e1))throw CliErrors['validation'](_0xfc8a23(0xdb));},async 'execute'(_0x34db4d){const _0x13a606=a60_0x51ea99,_0x3f00f8=_0x34db4d['str']('cursor'),_0x230743=await listRuntimeSchedules(_0x34db4d['appCode'],{'kind':_0x34db4d[_0x13a606(0x119)](_0x13a606(0x120)),'limit':_0x34db4d[_0x13a606(0xde)](_0x13a606(0x11b)),..._0x3f00f8?{'cursor':_0x3f00f8}:{}});return{'ok':!![],'data':_0x230743};}},scheduleDetail={'service':a60_0x51ea99(0x122),'command':a60_0x51ea99(0x11f),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':'read','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x918156){const _0x4d3e40=a60_0x51ea99,_0x57fe97=await getRuntimeSchedule(_0x918156[_0x4d3e40(0xfb)],_0x918156['str'](_0x4d3e40(0xe5)));return{'ok':!![],'data':_0x57fe97};}},scheduleRun={'service':'schedule','command':a60_0x51ea99(0xf0),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a60_0x51ea99(0xff),'confirmationDescription':a60_0x51ea99(0xf6),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x161c04){const _0x68f2e6=a60_0x51ea99,_0x5dfe90=_0x161c04[_0x68f2e6(0x119)](_0x68f2e6(0xe5)),_0x3795dd=await runRuntimeSchedule(_0x161c04['appCode'],_0x5dfe90);return{'ok':!![],'data':_0x3795dd,'message':_0x68f2e6(0x121)+_0x3795dd[_0x68f2e6(0x114)]+_0x68f2e6(0x10e)+_0x5dfe90};},async 'dryRun'(_0x3b7a74){const _0x57720c=a60_0x51ea99,_0x187fab=_0x3b7a74[_0x57720c(0x119)]('schedule-id');return dryRun('POST',scheduleItemPath(_0x3b7a74['appCode'],_0x187fab)+_0x57720c(0x10b))[_0x57720c(0x124)](_0x57720c(0x11e)+_0x187fab+'\x20immediately')[_0x57720c(0x106)]();}},scheduleDelete={'service':a60_0x51ea99(0x122),'command':a60_0x51ea99(0x10f),'description':a60_0x51ea99(0x108),'risk':a60_0x51ea99(0xff),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x29e838){const _0x183584=a60_0x51ea99,_0x518b8e=_0x29e838[_0x183584(0x119)](_0x183584(0xe5)),_0x42058e=await deleteRuntimeSchedule(_0x29e838['appCode'],_0x518b8e);return{'ok':!![],'data':_0x42058e,'message':_0x183584(0xeb)+_0x518b8e};},async 'dryRun'(_0x2d716d){const _0x2d822b=a60_0x51ea99,_0x15f434=_0x2d716d[_0x2d822b(0x119)](_0x2d822b(0xe5));return dryRun(_0x2d822b(0x105),scheduleItemPath(_0x2d716d[_0x2d822b(0xfb)],_0x15f434))[_0x2d822b(0x124)](_0x2d822b(0xf8)+_0x15f434)[_0x2d822b(0x106)]();}};function a60_0x2679(_0x151e90,_0x352fdb){_0x151e90=_0x151e90-0xd6;const _0x4f43e6=a60_0x4f43();let _0x26795f=_0x4f43e6[_0x151e90];return _0x26795f;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
1
+ const a60_0x57e3ba=a60_0x229c;function a60_0xdae8(){const _0x15739c=['521636ZdjdLN','/api/harness/apps/','36IKlFSk','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','kimi/k3','str','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','schedule-id','string','Preview:\x20run\x20schedule\x20','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','UTC','cron','--prompt\x20must\x20not\x20be\x20blank.','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','trim','POST','number','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','build','num','1378926FfjcAV','3579704aHyNfJ','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','validation','Page\x20size\x20from\x201\x20to\x20100','9019989CbrmGD','DELETE','Schedule\x20input\x20is\x20valid','2232880kssBbA','taskId','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','5GmYpev','run','Deleted\x20schedule\x20','scheduled-at','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','cursor','\x20from\x20schedule\x20','read','\x20immediately','Queued\x20Task\x20','--title\x20must\x20not\x20be\x20blank.','14YgnPWC','6tSfcRa','scheduleId','kind','list','description','detail','high-risk-write','45570zUdXIh','deepseek-v4-flash-0731','delete','/schedules','length','isSafeInteger','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','CRON','appCode','limit','body','prompt','schedule','ONCE','model','Created\x20','Schedule\x20title','title','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','/run','793980IWGBtW'];a60_0xdae8=function(){return _0x15739c;};return a60_0xdae8();}(function(_0x37cf6b,_0x45be6f){const _0x2ce5d1=a60_0x229c,_0x526119=_0x37cf6b();while(!![]){try{const _0x31b5c1=-parseInt(_0x2ce5d1(0x115))/0x1*(-parseInt(_0x2ce5d1(0x12c))/0x2)+-parseInt(_0x2ce5d1(0x10e))/0x3*(-parseInt(_0x2ce5d1(0x12a))/0x4)+-parseInt(_0x2ce5d1(0x14c))/0x5*(parseInt(_0x2ce5d1(0x141))/0x6)+parseInt(_0x2ce5d1(0x10d))/0x7*(-parseInt(_0x2ce5d1(0x142))/0x8)+-parseInt(_0x2ce5d1(0x129))/0x9+-parseInt(_0x2ce5d1(0x149))/0xa+parseInt(_0x2ce5d1(0x146))/0xb;if(_0x31b5c1===_0x45be6f)break;else _0x526119['push'](_0x526119['shift']());}catch(_0x53e98d){_0x526119['push'](_0x526119['shift']());}}}(a60_0xdae8,0x717b6));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':a60_0x57e3ba(0x110),'type':a60_0x57e3ba(0x133),'required':!![],'enum':[a60_0x57e3ba(0x11c),a60_0x57e3ba(0x122)],'description':'Schedule\x20kind:\x20CRON\x20or\x20ONCE'},CRON_FLAG={'name':a60_0x57e3ba(0x138),'type':'string','description':a60_0x57e3ba(0x130)},SCHEDULED_AT_FLAG={'name':a60_0x57e3ba(0x105),'type':'string','description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':a60_0x57e3ba(0x126),'type':a60_0x57e3ba(0x133),'required':!![],'description':a60_0x57e3ba(0x125)},PROMPT_FLAG={'name':a60_0x57e3ba(0x120),'type':a60_0x57e3ba(0x133),'required':!![],'description':a60_0x57e3ba(0x143)},MODEL_FLAG={'name':a60_0x57e3ba(0x123),'type':'string','enum':[a60_0x57e3ba(0x12e),a60_0x57e3ba(0x116),'deepseek-v4-pro-0813'],'default':a60_0x57e3ba(0x116),'description':a60_0x57e3ba(0x136)},SCHEDULE_ID_FLAG={'name':a60_0x57e3ba(0x132),'type':a60_0x57e3ba(0x133),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a60_0x57e3ba(0x11e),'type':a60_0x57e3ba(0x13d),'default':0x14,'description':a60_0x57e3ba(0x145)},CURSOR_FLAG={'name':'cursor','type':a60_0x57e3ba(0x133),'description':a60_0x57e3ba(0x106)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x1fd806){const _0x256cf3=a60_0x57e3ba,_0x38f136=_0x1fd806['str'](_0x256cf3(0x110)),_0x3e6519=_0x1fd806['str'](_0x256cf3(0x126))[_0x256cf3(0x13b)](),_0x261461=_0x1fd806[_0x256cf3(0x12f)](_0x256cf3(0x120))[_0x256cf3(0x13b)](),_0xb401ab=_0x1fd806['str'](_0x256cf3(0x123)),_0x241154=_0x1fd806[_0x256cf3(0x12f)](_0x256cf3(0x138)),_0x465e68=_0x1fd806[_0x256cf3(0x12f)]('scheduled-at');if(!_0x3e6519)throw CliErrors[_0x256cf3(0x144)](_0x256cf3(0x10c));if(!_0x261461)throw CliErrors[_0x256cf3(0x144)](_0x256cf3(0x139));if(_0x38f136===_0x256cf3(0x11c)){if(!_0x241154||_0x465e68)throw CliErrors[_0x256cf3(0x144)]('CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.');return{'kind':_0x38f136,'timezone':_0x256cf3(0x137),'cron':_0x241154,'title':_0x3e6519,'prompt':_0x261461,'model':_0xb401ab};}if(_0x38f136==='ONCE'){if(!_0x465e68||_0x241154)throw CliErrors['validation'](_0x256cf3(0x127));return{'kind':_0x38f136,'timezone':_0x256cf3(0x137),'scheduledAt':_0x465e68,'title':_0x3e6519,'prompt':_0x261461,'model':_0xb401ab};}throw CliErrors['validation'](_0x256cf3(0x14b));}function a60_0x229c(_0x410762,_0x546904){_0x410762=_0x410762-0x105;const _0xdae8ec=a60_0xdae8();let _0x229c52=_0xdae8ec[_0x410762];return _0x229c52;}function scheduleCollectionPath(_0x2270cd){const _0x8ad355=a60_0x57e3ba;return _0x8ad355(0x12b)+encodeURIComponent(_0x2270cd)+_0x8ad355(0x118);}function scheduleItemPath(_0x549987,_0x34aa70){return scheduleCollectionPath(_0x549987)+'/'+encodeURIComponent(_0x34aa70);}const scheduleValidate={'service':a60_0x57e3ba(0x121),'command':'validate','description':a60_0x57e3ba(0x13e),'risk':'read','flags':INPUT_FLAGS,async 'validate'(_0x55fc41){readScheduleInput(_0x55fc41);},async 'execute'(_0x59f286){const _0x1c9ea2=a60_0x57e3ba,_0x46e8df=readScheduleInput(_0x59f286),_0x4f9751=await validateRuntimeSchedule(_0x59f286['appCode'],_0x46e8df);return{'ok':!![],'data':_0x4f9751,'message':_0x1c9ea2(0x148)};}},scheduleCreate={'service':a60_0x57e3ba(0x121),'command':'create','description':a60_0x57e3ba(0x13a),'risk':a60_0x57e3ba(0x114),'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'(_0x5b23e0){readScheduleInput(_0x5b23e0);},async 'execute'(_0x436d42){const _0x247bbb=a60_0x57e3ba,_0x2e17e2=readScheduleInput(_0x436d42),_0x2baac2=await validateRuntimeSchedule(_0x436d42['appCode'],_0x2e17e2),_0x113d58=await createRuntimeSchedule(_0x436d42[_0x247bbb(0x11d)],_0x2baac2);return{'ok':!![],'data':_0x113d58,'message':_0x247bbb(0x124)+_0x113d58[_0x247bbb(0x110)]+'\x20schedule\x20'+_0x113d58[_0x247bbb(0x10f)]};},async 'dryRun'(_0xd35a56){const _0x49c27e=a60_0x57e3ba,_0x25e472=readScheduleInput(_0xd35a56);return dryRun(_0x49c27e(0x13c),scheduleCollectionPath(_0xd35a56[_0x49c27e(0x11d)]))[_0x49c27e(0x11f)](_0x25e472)[_0x49c27e(0x112)]('Preview:\x20create\x20an\x20Agent\x20schedule')[_0x49c27e(0x13f)]();}},scheduleList={'service':'schedule','command':a60_0x57e3ba(0x111),'description':'List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','risk':a60_0x57e3ba(0x109),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x566ca9){const _0x27c31b=a60_0x57e3ba,_0x1e7d85=_0x566ca9[_0x27c31b(0x140)]('limit');if(!Number[_0x27c31b(0x11a)](_0x1e7d85)||_0x1e7d85<0x1||_0x1e7d85>0x64)throw CliErrors[_0x27c31b(0x144)](_0x27c31b(0x131));const _0x48a710=_0x566ca9[_0x27c31b(0x12f)](_0x27c31b(0x107));if(_0x48a710&&(_0x48a710[_0x27c31b(0x119)]>0x400||_0x48a710[_0x27c31b(0x13b)]()!==_0x48a710))throw CliErrors['validation']('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x4999a9){const _0x107501=a60_0x57e3ba,_0x33a5d8=_0x4999a9[_0x107501(0x12f)]('cursor'),_0x1c6099=await listRuntimeSchedules(_0x4999a9['appCode'],{'kind':_0x4999a9['str']('kind'),'limit':_0x4999a9[_0x107501(0x140)](_0x107501(0x11e)),..._0x33a5d8?{'cursor':_0x33a5d8}:{}});return{'ok':!![],'data':_0x1c6099};}},scheduleDetail={'service':'schedule','command':a60_0x57e3ba(0x113),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':a60_0x57e3ba(0x109),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x43d864){const _0x359ea1=a60_0x57e3ba,_0x478aa0=await getRuntimeSchedule(_0x43d864[_0x359ea1(0x11d)],_0x43d864[_0x359ea1(0x12f)](_0x359ea1(0x132)));return{'ok':!![],'data':_0x478aa0};}},scheduleRun={'service':a60_0x57e3ba(0x121),'command':a60_0x57e3ba(0x14d),'description':a60_0x57e3ba(0x12d),'risk':a60_0x57e3ba(0x114),'confirmationDescription':a60_0x57e3ba(0x11b),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2260e3){const _0x12f818=a60_0x57e3ba,_0x1c1e89=_0x2260e3['str'](_0x12f818(0x132)),_0x56e51b=await runRuntimeSchedule(_0x2260e3[_0x12f818(0x11d)],_0x1c1e89);return{'ok':!![],'data':_0x56e51b,'message':_0x12f818(0x10b)+_0x56e51b[_0x12f818(0x14a)]+_0x12f818(0x108)+_0x1c1e89};},async 'dryRun'(_0x3aa1de){const _0x58e901=a60_0x57e3ba,_0xe986f9=_0x3aa1de[_0x58e901(0x12f)](_0x58e901(0x132));return dryRun(_0x58e901(0x13c),scheduleItemPath(_0x3aa1de[_0x58e901(0x11d)],_0xe986f9)+_0x58e901(0x128))[_0x58e901(0x112)](_0x58e901(0x134)+_0xe986f9+_0x58e901(0x10a))['build']();}},scheduleDelete={'service':a60_0x57e3ba(0x121),'command':a60_0x57e3ba(0x117),'description':'Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','risk':a60_0x57e3ba(0x114),'confirmationDescription':a60_0x57e3ba(0x135),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0xc3b31){const _0x5d9551=a60_0x57e3ba,_0x2b4aac=_0xc3b31[_0x5d9551(0x12f)](_0x5d9551(0x132)),_0x304b43=await deleteRuntimeSchedule(_0xc3b31[_0x5d9551(0x11d)],_0x2b4aac);return{'ok':!![],'data':_0x304b43,'message':_0x5d9551(0x14e)+_0x2b4aac};},async 'dryRun'(_0x5ba4ec){const _0x1ecccc=a60_0x57e3ba,_0x87d86d=_0x5ba4ec[_0x1ecccc(0x12f)]('schedule-id');return dryRun(_0x1ecccc(0x147),scheduleItemPath(_0x5ba4ec[_0x1ecccc(0x11d)],_0x87d86d))['description']('Preview:\x20delete\x20schedule\x20'+_0x87d86d)[_0x1ecccc(0x13f)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
@@ -1 +1 @@
1
- const a61_0x5229e0=a61_0x36db;(function(_0x5ed748,_0x132f02){const _0x4d012d=a61_0x36db,_0x129bdd=_0x5ed748();while(!![]){try{const _0x29c016=-parseInt(_0x4d012d(0x15f))/0x1*(-parseInt(_0x4d012d(0x163))/0x2)+-parseInt(_0x4d012d(0x167))/0x3+-parseInt(_0x4d012d(0x162))/0x4*(parseInt(_0x4d012d(0x168))/0x5)+parseInt(_0x4d012d(0x161))/0x6+-parseInt(_0x4d012d(0x166))/0x7*(parseInt(_0x4d012d(0x15b))/0x8)+-parseInt(_0x4d012d(0x160))/0x9*(parseInt(_0x4d012d(0x15d))/0xa)+parseInt(_0x4d012d(0x15a))/0xb;if(_0x29c016===_0x132f02)break;else _0x129bdd['push'](_0x129bdd['shift']());}catch(_0x3aa95f){_0x129bdd['push'](_0x129bdd['shift']());}}}(a61_0x1243,0x25644));function a61_0x36db(_0x1446e4,_0x40be46){_0x1446e4=_0x1446e4-0x15a;const _0x12430b=a61_0x1243();let _0x36dbf4=_0x12430b[_0x1446e4];return _0x36dbf4;}import{buildSchemaPayload}from'../framework/schema-export.js';function a61_0x1243(){const _0x58639b=['read','169870SSTNFv','schema','4996APUGdE','45ABPHUU','1094226OOGJUL','4pWcwSA','2WDpdSn','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','7zgXbBq','842055vBSHeX','237480pxngMG','5646113PgZCdY','1075024IUQZBA'];a61_0x1243=function(){return _0x58639b;};return a61_0x1243();}async function execute(_0x1d54f2){const _0x508550=await buildSchemaPayload();return{'ok':!![],'data':_0x508550};}export const schemaDefinition={'service':a61_0x5229e0(0x15e),'command':a61_0x5229e0(0x165),'description':a61_0x5229e0(0x164),'risk':a61_0x5229e0(0x15c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a61_0x1d8cd6=a61_0x2d54;function a61_0x31ad(){const _0x16fff0=['47967990DEVQAr','15102414SbBxWx','99392zHimIg','2958qQLKBz','918029gvcyjM','3325427wLWPHu','11YeYUOx','646gFhJZM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','10582736ygJBZl','5iLyaoo','read','18cCbBVC','schema'];a61_0x31ad=function(){return _0x16fff0;};return a61_0x31ad();}(function(_0x3fc60f,_0x10ab9d){const _0x536b83=a61_0x2d54,_0x8efc3f=_0x3fc60f();while(!![]){try{const _0x2f7804=parseInt(_0x536b83(0x14b))/0x1+parseInt(_0x536b83(0x14e))/0x2*(parseInt(_0x536b83(0x14a))/0x3)+-parseInt(_0x536b83(0x149))/0x4*(parseInt(_0x536b83(0x151))/0x5)+-parseInt(_0x536b83(0x153))/0x6*(-parseInt(_0x536b83(0x14c))/0x7)+parseInt(_0x536b83(0x150))/0x8+parseInt(_0x536b83(0x156))/0x9+-parseInt(_0x536b83(0x155))/0xa*(parseInt(_0x536b83(0x14d))/0xb);if(_0x2f7804===_0x10ab9d)break;else _0x8efc3f['push'](_0x8efc3f['shift']());}catch(_0x1c2f8d){_0x8efc3f['push'](_0x8efc3f['shift']());}}}(a61_0x31ad,0xcd4e3));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x82dd74){const _0x5f48e9=await buildSchemaPayload();return{'ok':!![],'data':_0x5f48e9};}function a61_0x2d54(_0x564c95,_0x208ce8){_0x564c95=_0x564c95-0x149;const _0x31ad9d=a61_0x31ad();let _0x2d5497=_0x31ad9d[_0x564c95];return _0x2d5497;}export const schemaDefinition={'service':a61_0x1d8cd6(0x154),'command':'export','description':a61_0x1d8cd6(0x14f),'risk':a61_0x1d8cd6(0x152),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- function a62_0x47d6(){const _0x201b48=['\x20\x20\x20\x20command:\x20','normalizedManifest','datatable','number','cliPath','Unsupported\x20service\x20target\x20kind:\x20','Commands:','999BKVFfI','username','SERVICE_TREE','length','service','sql','validation','appCode','1089110YUiAXI','loginName','boolean','mapTo','808fxZtgs','\x20->\x20','tree','description','find','441336pdfiuY','ctx.','Run\x20service\x20command\x20','trim','name','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','fullPath','\x20requires\x20target.sqlCode.','userId','entries','rawFlags','app','flags','map','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','\x20\x20\x20\x20datasetCode:\x20','enum','flatMap','default','\x20service\x20detail\x20--service\x20','\x22.\x20','string','3AwPIBV','\x20completed\x20in\x20','envName','appRef','bffId','\x20\x20SERVICE\x20TREE\x20TARGET','env','appBindings','startsWith','dbtableConfig','employeeId','params','\x20\x20\x20\x20','operator','bff','slice','high-risk-write','`\x20to\x20inspect\x20the\x20manifest.','117795lMrLVv','padEnd','7427gYGriz','fromEntries','Cannot\x20resolve\x20datatable\x20\x22','join','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','const','datasetCode','now','args','appcode','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20\x20\x20functionName:\x20','nickname','code','command','Use\x20`','type','Unknown\x20appRef\x20\x22','tableName','Service\x20command\x20','bffCode','scriptName','some','14090OKYryd','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','\x22\x20in\x20service\x20command\x20','\x20<command>\x20[flags]','sqlCode','data','read','filter','Preview\x20dynamic\x20service\x20command:\x20','269194WjcWrC','cliName','kind','target','36hefSFw','push','required','\x20\x20\x20\x20kind:\x20\x20\x20\x20','source','commands','risk','85206obKmGk','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.'];a62_0x47d6=function(){return _0x201b48;};return a62_0x47d6();}(function(_0x3742a5,_0x52ae6a){const _0x7d36fb=a62_0x16c5,_0x26b65b=_0x3742a5();while(!![]){try{const _0x4f23e4=-parseInt(_0x7d36fb(0x12e))/0x1+parseInt(_0x7d36fb(0x123))/0x2*(parseInt(_0x7d36fb(0xef))/0x3)+parseInt(_0x7d36fb(0x148))/0x4+-parseInt(_0x7d36fb(0x101))/0x5*(-parseInt(_0x7d36fb(0x127))/0x6)+parseInt(_0x7d36fb(0x103))/0x7*(-parseInt(_0x7d36fb(0x143))/0x8)+parseInt(_0x7d36fb(0x137))/0x9*(-parseInt(_0x7d36fb(0x11a))/0xa)+parseInt(_0x7d36fb(0x13f))/0xb;if(_0x4f23e4===_0x52ae6a)break;else _0x26b65b['push'](_0x26b65b['shift']());}catch(_0x303128){_0x26b65b['push'](_0x26b65b['shift']());}}}(a62_0x47d6,0x21551));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(_0x5c9c53,_0x446f21){const _0x473cf5=a62_0x16c5,_0x2bd7e2=listLocalServiceTrees();let _0x3e73e7;for(const _0x26c0aa of _0x2bd7e2){const _0x20c4c9=matchServiceTreeCommand(_0x26c0aa,_0x5c9c53);if(!_0x20c4c9)continue;(!_0x3e73e7||_0x20c4c9[_0x473cf5(0x111)][_0x473cf5(0x14e)][_0x473cf5(0x13a)]>_0x3e73e7[_0x473cf5(0x111)][_0x473cf5(0x14e)][_0x473cf5(0x13a)])&&(_0x3e73e7={'tree':_0x26c0aa,'command':_0x20c4c9[_0x473cf5(0x111)],'remainingArgs':_0x20c4c9['remainingArgs']});}if(!_0x3e73e7)return undefined;const _0x3cce81={..._0x446f21};return applyAppBinding(_0x3e73e7['tree'],_0x3e73e7[_0x473cf5(0x111)],_0x3cce81),{'definition':buildDynamicCommandDefinition(_0x3e73e7[_0x473cf5(0x145)],_0x3e73e7[_0x473cf5(0x111)]),'args':_0x3e73e7['remainingArgs'],'flags':_0x3cce81,'tree':_0x3e73e7[_0x473cf5(0x145)],'command':_0x3e73e7[_0x473cf5(0x111)]};}export function generateDynamicServiceHelp(_0x377821){const _0x47fc4a=a62_0x16c5,_0x37683d=listLocalServiceTrees()[_0x47fc4a(0x147)](_0x547f31=>_0x547f31[_0x47fc4a(0x13b)]['code']===_0x377821);if(!_0x37683d)return undefined;const _0x471626=[CLI_BIN_NAME+'\x20'+_0x377821+_0x47fc4a(0x11d),'',_0x37683d[_0x47fc4a(0x13b)][_0x47fc4a(0x14c)]||_0x377821,_0x37683d[_0x47fc4a(0x13b)][_0x47fc4a(0x146)]?'\x20\x20'+_0x37683d[_0x47fc4a(0x13b)][_0x47fc4a(0x146)]:'','',_0x47fc4a(0x136),..._0x37683d[_0x47fc4a(0x12c)][_0x47fc4a(0x155)](_0xfe8e6f=>{const _0x50bba8=_0x47fc4a,_0x214c8e=_0xfe8e6f['fullPath'][_0x50bba8(0xfe)](0x1)['join']('\x20'),_0xfc0a82=_0xfe8e6f[_0x50bba8(0x12d)]===_0x50bba8(0x120)?'':'\x20['+_0xfe8e6f[_0x50bba8(0x12d)]+']';return'\x20\x20'+_0x214c8e[_0x50bba8(0x102)](0x18)+'\x20'+(_0xfe8e6f[_0x50bba8(0x146)]||'')+_0xfc0a82;}),'',_0x47fc4a(0x112)+CLI_BIN_NAME+_0x47fc4a(0xec)+_0x377821+_0x47fc4a(0x100)][_0x47fc4a(0x121)](Boolean);return _0x471626[_0x47fc4a(0x106)]('\x0a');}export function listDynamicServiceEntries(){const _0x5ede9e=a62_0x16c5;return listLocalServices()[_0x5ede9e(0x155)](_0x133950=>{const _0x2ec9ff=_0x5ede9e,_0x3a31c9=_0x133950[_0x2ec9ff(0x131)];return{'service':_0x3a31c9[_0x2ec9ff(0x13b)][_0x2ec9ff(0x110)],'label':_0x3a31c9[_0x2ec9ff(0x13b)][_0x2ec9ff(0x14c)]||_0x3a31c9['service'][_0x2ec9ff(0x110)],'commands':_0x3a31c9[_0x2ec9ff(0x12c)][_0x2ec9ff(0x155)](_0xa4c462=>({'command':dynamicCommandName(_0xa4c462),'description':_0xa4c462[_0x2ec9ff(0x146)]||_0x2ec9ff(0x14a)+_0xa4c462['cliPath'],'tag':riskTag(_0xa4c462[_0x2ec9ff(0x12d)])}))};});}export function getDynamicServiceEntry(_0x40a4cc){const _0x51cfdb=a62_0x16c5;return listDynamicServiceEntries()[_0x51cfdb(0x147)](_0x257d31=>_0x257d31[_0x51cfdb(0x13b)]===_0x40a4cc);}export function listDynamicServiceDefinitions(_0x154667){const _0x2b7515=a62_0x16c5;return listLocalServiceTrees()[_0x2b7515(0x121)](_0x1736a0=>!_0x154667||_0x1736a0[_0x2b7515(0x13b)]['code']===_0x154667)[_0x2b7515(0xea)](_0x2cba04=>_0x2cba04[_0x2b7515(0x12c)][_0x2b7515(0x155)](_0x549870=>buildDynamicCommandDefinition(_0x2cba04,_0x549870)));}export function getDynamicServiceDefinitions(_0x9d8a0){const _0x1a735c=a62_0x16c5,_0xc5aec3=listDynamicServiceDefinitions(_0x9d8a0);return _0xc5aec3[_0x1a735c(0x13a)]>0x0?_0xc5aec3:undefined;}export function findDynamicServiceDefinition(_0x26b995,_0x532fb5){const _0x4cf947=a62_0x16c5;return listDynamicServiceDefinitions(_0x26b995)['find'](_0x10c85b=>_0x10c85b[_0x4cf947(0x111)]===_0x532fb5);}export function buildDynamicCommandDefinition(_0x5a0bfd,_0x182ab0){const _0x4e5d71=a62_0x16c5;return{'service':_0x5a0bfd[_0x4e5d71(0x13b)][_0x4e5d71(0x110)],'command':dynamicCommandName(_0x182ab0),'description':_0x182ab0[_0x4e5d71(0x146)]||_0x4e5d71(0x14a)+_0x182ab0[_0x4e5d71(0x134)],'risk':_0x182ab0[_0x4e5d71(0x12d)],..._0x182ab0[_0x4e5d71(0x12d)]==='read'?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x182ab0)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x182ab0[_0x4e5d71(0x10b)][_0x4e5d71(0x155)](_0x84fb9d=>({'name':_0x84fb9d[_0x4e5d71(0x14c)],'description':_0x84fb9d[_0x4e5d71(0x146)]||_0x84fb9d[_0x4e5d71(0x14c)],'required':_0x84fb9d[_0x4e5d71(0x129)]})),'flags':_0x182ab0[_0x4e5d71(0x154)][_0x4e5d71(0x155)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x182ab0),async 'dryRun'(_0x2ba7e3){const _0xb1654=_0x4e5d71,_0x50414c=await compilePlan(_0x182ab0,_0x2ba7e3);return{'method':_0xb1654(0x139),'url':_0x182ab0[_0xb1654(0x134)],'body':{'target':targetPreview(_0x50414c),'params':_0x50414c['params']},'description':_0xb1654(0x122)+_0x182ab0[_0xb1654(0x134)]};},async 'execute'(_0xe4494a){const _0x498ff8=_0x4e5d71,_0x296f7b=await compilePlan(_0x182ab0,_0xe4494a),_0x5d355d=Date['now'](),_0x2914bb=await executePlan(_0x296f7b,_0x182ab0,_0xe4494a),_0x204d0c=Date[_0x498ff8(0x10a)]()-_0x5d355d;return{'ok':!![],'data':{'service':_0x5a0bfd['service'],'command':_0x182ab0[_0x498ff8(0x134)],'target':targetPreview(_0x296f7b),'result':_0x2914bb,'elapsed':_0x204d0c},'message':_0x498ff8(0x116)+_0x182ab0['cliPath']+_0x498ff8(0xf0)+_0x204d0c+'ms'};}};}function buildDynamicConfirmationDescription(_0x433ec4){const _0x14d06b=a62_0x16c5,_0x493877=_0x433ec4['description']||_0x433ec4[_0x14d06b(0x134)],_0x4e0ebe=_0x433ec4[_0x14d06b(0x12d)]===_0x14d06b(0xff)?_0x14d06b(0x11b):_0x14d06b(0x12f);return'This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22'+_0x493877+_0x14d06b(0xed)+_0x4e0ebe;}function a62_0x16c5(_0x2413ee,_0x267f09){_0x2413ee=_0x2413ee-0xea;const _0x47d614=a62_0x47d6();let _0x16c5cd=_0x47d614[_0x2413ee];return _0x16c5cd;}function dynamicCommandName(_0x53e233){const _0x4e4a7c=a62_0x16c5;return _0x53e233[_0x4e4a7c(0x14e)][_0x4e4a7c(0xfe)](0x1)['join']('\x20');}function riskTag(_0x372dcb){const _0x2ca0da=a62_0x16c5;return _0x372dcb===_0x2ca0da(0x120)?'':'\x20\x20['+_0x372dcb+']';}function flagToCommandFlag(_0x278bac){const _0x345989=a62_0x16c5;return{'name':_0x278bac[_0x345989(0x124)],'type':_0x278bac[_0x345989(0x113)]==='json'?_0x345989(0xee):_0x278bac[_0x345989(0x113)],'description':_0x278bac[_0x345989(0x146)]||_0x278bac['name'],'required':_0x278bac[_0x345989(0x129)],'default':isPrimitiveFlagDefault(_0x278bac[_0x345989(0xeb)])?_0x278bac[_0x345989(0xeb)]:undefined,'enum':_0x278bac[_0x345989(0x158)]};}async function compilePlan(_0x989c32,_0x36de9e){const _0x16d43c=a62_0x16c5;return compileServiceTreeCommand(_0x989c32,{'flags':_0x36de9e[_0x16d43c(0x152)],'args':_0x36de9e[_0x16d43c(0x10b)],'context':await buildServiceContext(_0x989c32,_0x36de9e)});}async function buildServiceContext(_0x2c77bc,_0x1b7b17){const _0x5e840c=a62_0x16c5,_0x8f1206={'appCode':_0x1b7b17[_0x5e840c(0x13e)],'env':_0x1b7b17[_0x5e840c(0xf1)],'envName':_0x1b7b17[_0x5e840c(0xf1)]};if(!usesRuntimeContext(_0x2c77bc))return _0x8f1206;const _0x19d184=await getLoginUserInfo(),_0x4e955d=pickFirst(_0x19d184[_0x5e840c(0x150)],_0x19d184['id']);return{..._0x8f1206,'user':_0x19d184,'userId':_0x4e955d,'id':_0x19d184['id'],'username':pickFirst(_0x19d184[_0x5e840c(0x138)],_0x19d184['userName'],_0x19d184[_0x5e840c(0x140)]),'userName':_0x19d184['userName'],'nickname':pickFirst(_0x19d184[_0x5e840c(0x10f)],_0x19d184['nickName']),'nickName':_0x19d184['nickName'],'tenantCode':_0x19d184['tenantCode'],'employeeId':_0x19d184[_0x5e840c(0xf9)]};}function usesRuntimeContext(_0x28cf31){const _0x25ed50=a62_0x16c5;return _0x28cf31['mapTo'][_0x25ed50(0x119)](_0x28dc4b=>typeof _0x28dc4b['source']===_0x25ed50(0xee)&&(_0x28dc4b['source'][_0x25ed50(0xf7)]('context.')||_0x28dc4b[_0x25ed50(0x12b)][_0x25ed50(0xf7)](_0x25ed50(0x149))));}function pickFirst(..._0x2cbe4f){return _0x2cbe4f['find'](_0x37a27a=>_0x37a27a!==undefined&&_0x37a27a!==null);}async function executePlan(_0x2095a1,_0x10e8dc,_0x179268){const _0x54ed49=a62_0x16c5;if(_0x2095a1[_0x54ed49(0x125)]===_0x54ed49(0x11f)){const _0x2ece2b=await resolveDatasetCode(_0x2095a1,_0x10e8dc,_0x179268);return executeData(_0x2ece2b,_0x2095a1['command'],_0x2095a1[_0x54ed49(0xfa)]);}if(_0x2095a1['kind']===_0x54ed49(0x13c)){if(!_0x2095a1[_0x54ed49(0x11e)])throw CliErrors[_0x54ed49(0x13d)]('Service\x20command\x20'+_0x10e8dc[_0x54ed49(0x134)]+_0x54ed49(0x14f));return executeSdkSql(_0x2095a1[_0x54ed49(0x11e)],normalizeScalarParams(_0x2095a1['params']));}if(_0x2095a1[_0x54ed49(0x125)]===_0x54ed49(0xfd)){const _0x1f8ac5=_0x2095a1[_0x54ed49(0x118)]||_0x2095a1[_0x54ed49(0x117)]||(_0x2095a1['bffId']==null?'':String(_0x2095a1[_0x54ed49(0xf3)]));if(!_0x1f8ac5)throw CliErrors[_0x54ed49(0x13d)](_0x54ed49(0x116)+_0x10e8dc[_0x54ed49(0x134)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x1f8ac5,_0x2095a1['params']);}throw CliErrors[_0x54ed49(0x13d)](_0x54ed49(0x135)+_0x2095a1['kind']);}async function resolveDatasetCode(_0x3752f7,_0x2a6a48,_0x11862c){const _0x263030=a62_0x16c5;if(_0x3752f7[_0x263030(0x109)])return _0x3752f7[_0x263030(0x109)];if(!_0x3752f7[_0x263030(0x132)])throw CliErrors[_0x263030(0x13d)](_0x263030(0x116)+_0x2a6a48[_0x263030(0x134)]+_0x263030(0x156));const _0x5ae24b=await listDatasets(_0x11862c['appCode']),_0x362160=_0x5ae24b[_0x263030(0x147)](_0x53c766=>_0x53c766[_0x263030(0xf8)]?.[_0x263030(0x115)]===_0x3752f7['datatable']);if(!_0x362160?.[_0x263030(0x110)])throw CliErrors[_0x263030(0x13d)](_0x263030(0x105)+_0x3752f7[_0x263030(0x132)]+_0x263030(0x107)+_0x11862c['appCode']+'.',_0x263030(0x10d));return _0x362160[_0x263030(0x110)];}function applyAppBinding(_0x64c03,_0x445733,_0x740f9){const _0x5830b4=a62_0x16c5,_0x1617cb=_0x445733[_0x5830b4(0x126)][_0x5830b4(0xf2)];if(!_0x1617cb)return;const _0x5a284f=_0x64c03[_0x5830b4(0xf6)][_0x1617cb];if(!_0x5a284f)throw CliErrors['validation'](_0x5830b4(0x114)+_0x1617cb+_0x5830b4(0x11c)+_0x445733[_0x5830b4(0x134)]+'.',_0x5830b4(0x14d));const _0x2f1db6=_0x5a284f['appcode']||_0x5a284f[_0x5830b4(0x13e)];_0x2f1db6&&!hasText(_0x740f9[_0x5830b4(0x10c)])&&(_0x740f9[_0x5830b4(0x10c)]=_0x2f1db6),_0x5a284f[_0x5830b4(0x153)]&&!hasText(_0x740f9[_0x5830b4(0x153)])&&!hasText(_0x740f9[_0x5830b4(0x10c)])&&(_0x740f9[_0x5830b4(0x153)]=_0x5a284f[_0x5830b4(0x153)]),_0x5a284f[_0x5830b4(0xf5)]&&!hasText(_0x740f9[_0x5830b4(0xf5)])&&(_0x740f9[_0x5830b4(0xf5)]=_0x5a284f['env']);}function renderDynamicCommandHelp(_0x3b5962){const _0x55578c=a62_0x16c5,_0x32cb5c=[_0x55578c(0xf4),_0x55578c(0x12a)+_0x3b5962['target'][_0x55578c(0x125)],_0x55578c(0x130)+_0x3b5962[_0x55578c(0x126)]['command']];if(_0x3b5962[_0x55578c(0x126)][_0x55578c(0x109)])_0x32cb5c[_0x55578c(0x128)](_0x55578c(0x157)+_0x3b5962[_0x55578c(0x126)]['datasetCode']);if(_0x3b5962[_0x55578c(0x126)][_0x55578c(0x132)])_0x32cb5c[_0x55578c(0x128)]('\x20\x20\x20\x20datatable:\x20'+_0x3b5962[_0x55578c(0x126)]['datatable']);if(_0x3b5962[_0x55578c(0x126)][_0x55578c(0x11e)])_0x32cb5c[_0x55578c(0x128)]('\x20\x20\x20\x20sqlCode:\x20'+_0x3b5962['target'][_0x55578c(0x11e)]);if(_0x3b5962[_0x55578c(0x126)][_0x55578c(0x118)])_0x32cb5c[_0x55578c(0x128)](_0x55578c(0x10e)+_0x3b5962[_0x55578c(0x126)]['scriptName']);if(_0x3b5962[_0x55578c(0x142)]['length']>0x0){_0x32cb5c[_0x55578c(0x128)]('','\x20\x20MAP\x20TO');for(const _0x3d3076 of _0x3b5962['mapTo']){_0x32cb5c['push'](_0x55578c(0xfb)+(_0x3d3076[_0x55578c(0x12b)]||_0x55578c(0x108))+_0x55578c(0x144)+_0x3d3076[_0x55578c(0x126)]+(_0x3d3076[_0x55578c(0xfc)]?'.'+_0x3d3076['operator']:''));}}return _0x32cb5c['join']('\x0a');}function targetPreview(_0x3ded1c){const _0x13cbdc=a62_0x16c5;return{'kind':_0x3ded1c[_0x13cbdc(0x125)],'command':_0x3ded1c[_0x13cbdc(0x111)],'appRef':_0x3ded1c[_0x13cbdc(0xf2)],'datasetCode':_0x3ded1c[_0x13cbdc(0x109)],'datatable':_0x3ded1c[_0x13cbdc(0x132)],'sqlCode':_0x3ded1c[_0x13cbdc(0x11e)],'bffCode':_0x3ded1c[_0x13cbdc(0x117)],'bffId':_0x3ded1c[_0x13cbdc(0xf3)],'functionName':_0x3ded1c[_0x13cbdc(0x118)]};}function normalizeScalarParams(_0x561edd){const _0x2fc85d=a62_0x16c5;return Object[_0x2fc85d(0x104)](Object[_0x2fc85d(0x151)](_0x561edd)[_0x2fc85d(0x121)](([,_0x5ad509])=>typeof _0x5ad509===_0x2fc85d(0xee)||typeof _0x5ad509===_0x2fc85d(0x133)));}function hasText(_0x441052){const _0x83e7bd=a62_0x16c5;return typeof _0x441052===_0x83e7bd(0xee)&&_0x441052[_0x83e7bd(0x14b)]()[_0x83e7bd(0x13a)]>0x0;}function isPrimitiveFlagDefault(_0x103d48){const _0x3370d8=a62_0x16c5;return _0x103d48===undefined||typeof _0x103d48===_0x3370d8(0xee)||typeof _0x103d48===_0x3370d8(0x133)||typeof _0x103d48===_0x3370d8(0x141);}
1
+ (function(_0x209b1f,_0xb4d39c){const _0x361bd5=a62_0x1e3e,_0x2382ba=_0x209b1f();while(!![]){try{const _0x260c13=-parseInt(_0x361bd5(0xdd))/0x1+-parseInt(_0x361bd5(0x105))/0x2+parseInt(_0x361bd5(0xd7))/0x3+-parseInt(_0x361bd5(0xe9))/0x4+-parseInt(_0x361bd5(0xec))/0x5+parseInt(_0x361bd5(0x110))/0x6*(-parseInt(_0x361bd5(0xe1))/0x7)+parseInt(_0x361bd5(0x123))/0x8;if(_0x260c13===_0xb4d39c)break;else _0x2382ba['push'](_0x2382ba['shift']());}catch(_0x432b72){_0x2382ba['push'](_0x2382ba['shift']());}}}(a62_0x493c,0x321e3));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a62_0x493c(){const _0x354dce=['flatMap','dbtableConfig','join','code','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','type','\x20requires\x20target.sqlCode.','slice','required','tableName','string','length','\x20\x20\x20\x20command:\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','remainingArgs','json','nickname','Service\x20command\x20','617970xZmuxQ','operator','kind','entries','name','scriptName','command','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','userName','map','service','372rVdiJW','Unsupported\x20service\x20target\x20kind:\x20','Run\x20service\x20command\x20','Use\x20`','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','sqlCode','appRef','bffCode','context.','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.functionName.','ctx.','cliPath','some','push','bffId','Preview\x20dynamic\x20service\x20command:\x20','fullPath','validation','10588368MNiEYT','env','appCode','rawFlags','read','\x20\x20\x20\x20kind:\x20\x20\x20\x20','const','\x20->\x20','\x20<command>\x20[flags]','appcode','\x20\x20\x20\x20functionName:\x20','risk','Commands:','mapTo','datasetCode','find','\x20\x20\x20\x20','params','bff','enum','`\x20to\x20inspect\x20the\x20manifest.','data','now','username','default','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x22.\x20','\x20\x20SERVICE\x20TREE\x20TARGET','tenantCode','source','114390sbpnKo','padEnd','normalizedManifest','\x20\x20\x20\x20datasetCode:\x20','target','loginName','24761YrUJDV','cliName','number','\x20service\x20detail\x20--service\x20','20846KmgMBJ','datatable','\x20\x20\x20\x20datatable:\x20','envName','\x20completed\x20in\x20','tree','args','description','1090036StWUGY','filter','appBindings','1827510QthSSb','nickName','flags','high-risk-write','commands','\x20\x20MAP\x20TO','app'];a62_0x493c=function(){return _0x354dce;};return a62_0x493c();}import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';function a62_0x1e3e(_0x1b04e6,_0x407df5){_0x1b04e6=_0x1b04e6-0xd5;const _0x493c01=a62_0x493c();let _0x1e3e55=_0x493c01[_0x1b04e6];return _0x1e3e55;}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(_0x1a9194,_0x42df86){const _0x59c5ce=a62_0x1e3e,_0xedc5d3=listLocalServiceTrees();let _0x923009;for(const _0x211de6 of _0xedc5d3){const _0x59d6c5=matchServiceTreeCommand(_0x211de6,_0x1a9194);if(!_0x59d6c5)continue;(!_0x923009||_0x59d6c5['command'][_0x59c5ce(0x121)]['length']>_0x923009[_0x59c5ce(0x10b)][_0x59c5ce(0x121)][_0x59c5ce(0xfe)])&&(_0x923009={'tree':_0x211de6,'command':_0x59d6c5['command'],'remainingArgs':_0x59d6c5[_0x59c5ce(0x101)]});}if(!_0x923009)return undefined;const _0x112204={..._0x42df86};return applyAppBinding(_0x923009[_0x59c5ce(0xe6)],_0x923009[_0x59c5ce(0x10b)],_0x112204),{'definition':buildDynamicCommandDefinition(_0x923009['tree'],_0x923009['command']),'args':_0x923009[_0x59c5ce(0x101)],'flags':_0x112204,'tree':_0x923009[_0x59c5ce(0xe6)],'command':_0x923009[_0x59c5ce(0x10b)]};}export function generateDynamicServiceHelp(_0x53c06c){const _0x588558=a62_0x1e3e,_0x4d4873=listLocalServiceTrees()['find'](_0x50cfe1=>_0x50cfe1[_0x588558(0x10f)][_0x588558(0xf6)]===_0x53c06c);if(!_0x4d4873)return undefined;const _0x18a15c=[CLI_BIN_NAME+'\x20'+_0x53c06c+_0x588558(0x12b),'',_0x4d4873[_0x588558(0x10f)][_0x588558(0x109)]||_0x53c06c,_0x4d4873['service'][_0x588558(0xe8)]?'\x20\x20'+_0x4d4873[_0x588558(0x10f)][_0x588558(0xe8)]:'','',_0x588558(0x12f),..._0x4d4873[_0x588558(0xf0)][_0x588558(0x10e)](_0x291db6=>{const _0x58861b=_0x588558,_0x31c4c8=_0x291db6[_0x58861b(0x121)][_0x58861b(0xfa)](0x1)[_0x58861b(0xf5)]('\x20'),_0x29903e=_0x291db6[_0x58861b(0x12e)]===_0x58861b(0x127)?'':'\x20['+_0x291db6[_0x58861b(0x12e)]+']';return'\x20\x20'+_0x31c4c8[_0x58861b(0xd8)](0x18)+'\x20'+(_0x291db6[_0x58861b(0xe8)]||'')+_0x29903e;}),'',_0x588558(0x113)+CLI_BIN_NAME+_0x588558(0xe0)+_0x53c06c+_0x588558(0x137)][_0x588558(0xea)](Boolean);return _0x18a15c[_0x588558(0xf5)]('\x0a');}export function listDynamicServiceEntries(){const _0x5f4b87=a62_0x1e3e;return listLocalServices()[_0x5f4b87(0x10e)](_0x3f4258=>{const _0x6afb1a=_0x5f4b87,_0x3f45a8=_0x3f4258[_0x6afb1a(0xd9)];return{'service':_0x3f45a8['service']['code'],'label':_0x3f45a8[_0x6afb1a(0x10f)]['name']||_0x3f45a8[_0x6afb1a(0x10f)][_0x6afb1a(0xf6)],'commands':_0x3f45a8[_0x6afb1a(0xf0)]['map'](_0x236c1b=>({'command':dynamicCommandName(_0x236c1b),'description':_0x236c1b[_0x6afb1a(0xe8)]||_0x6afb1a(0x112)+_0x236c1b[_0x6afb1a(0x11c)],'tag':riskTag(_0x236c1b[_0x6afb1a(0x12e)])}))};});}export function getDynamicServiceEntry(_0xed93f0){const _0x26f5ee=a62_0x1e3e;return listDynamicServiceEntries()['find'](_0x2c312a=>_0x2c312a[_0x26f5ee(0x10f)]===_0xed93f0);}export function listDynamicServiceDefinitions(_0xa3ec41){const _0x15247e=a62_0x1e3e;return listLocalServiceTrees()['filter'](_0x28a410=>!_0xa3ec41||_0x28a410[_0x15247e(0x10f)][_0x15247e(0xf6)]===_0xa3ec41)[_0x15247e(0xf3)](_0x12e7af=>_0x12e7af[_0x15247e(0xf0)]['map'](_0x813ef6=>buildDynamicCommandDefinition(_0x12e7af,_0x813ef6)));}export function getDynamicServiceDefinitions(_0xaae478){const _0x2c1651=a62_0x1e3e,_0x148c51=listDynamicServiceDefinitions(_0xaae478);return _0x148c51[_0x2c1651(0xfe)]>0x0?_0x148c51:undefined;}export function findDynamicServiceDefinition(_0x5dca8a,_0x14c615){const _0x108ef9=a62_0x1e3e;return listDynamicServiceDefinitions(_0x5dca8a)[_0x108ef9(0x132)](_0x3ae336=>_0x3ae336[_0x108ef9(0x10b)]===_0x14c615);}export function buildDynamicCommandDefinition(_0x30ddc2,_0x4fc9e9){const _0x3dea53=a62_0x1e3e;return{'service':_0x30ddc2['service'][_0x3dea53(0xf6)],'command':dynamicCommandName(_0x4fc9e9),'description':_0x4fc9e9[_0x3dea53(0xe8)]||_0x3dea53(0x112)+_0x4fc9e9['cliPath'],'risk':_0x4fc9e9[_0x3dea53(0x12e)],..._0x4fc9e9[_0x3dea53(0x12e)]===_0x3dea53(0x127)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x4fc9e9)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x4fc9e9[_0x3dea53(0xe7)][_0x3dea53(0x10e)](_0x475360=>({'name':_0x475360[_0x3dea53(0x109)],'description':_0x475360[_0x3dea53(0xe8)]||_0x475360[_0x3dea53(0x109)],'required':_0x475360['required']})),'flags':_0x4fc9e9[_0x3dea53(0xee)][_0x3dea53(0x10e)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x4fc9e9),async 'dryRun'(_0x59ea3c){const _0x54e6f3=_0x3dea53,_0x1a91b3=await compilePlan(_0x4fc9e9,_0x59ea3c);return{'method':'SERVICE_TREE','url':_0x4fc9e9[_0x54e6f3(0x11c)],'body':{'target':targetPreview(_0x1a91b3),'params':_0x1a91b3[_0x54e6f3(0x134)]},'description':_0x54e6f3(0x120)+_0x4fc9e9[_0x54e6f3(0x11c)]};},async 'execute'(_0x3a8e5f){const _0x450ddd=_0x3dea53,_0x3b95f4=await compilePlan(_0x4fc9e9,_0x3a8e5f),_0x587268=Date['now'](),_0x16bab8=await executePlan(_0x3b95f4,_0x4fc9e9,_0x3a8e5f),_0x13c67a=Date[_0x450ddd(0x139)]()-_0x587268;return{'ok':!![],'data':{'service':_0x30ddc2[_0x450ddd(0x10f)],'command':_0x4fc9e9[_0x450ddd(0x11c)],'target':targetPreview(_0x3b95f4),'result':_0x16bab8,'elapsed':_0x13c67a},'message':_0x450ddd(0x104)+_0x4fc9e9['cliPath']+_0x450ddd(0xe5)+_0x13c67a+'ms'};}};}function buildDynamicConfirmationDescription(_0x3ab3d2){const _0x8ad401=a62_0x1e3e,_0x2163df=_0x3ab3d2[_0x8ad401(0xe8)]||_0x3ab3d2[_0x8ad401(0x11c)],_0x2ddbd8=_0x3ab3d2['risk']===_0x8ad401(0xef)?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x8ad401(0x10c);return _0x8ad401(0xf7)+_0x2163df+_0x8ad401(0x13d)+_0x2ddbd8;}function dynamicCommandName(_0xb52248){const _0x2805cb=a62_0x1e3e;return _0xb52248[_0x2805cb(0x121)][_0x2805cb(0xfa)](0x1)['join']('\x20');}function riskTag(_0x38ebae){const _0x1b6337=a62_0x1e3e;return _0x38ebae===_0x1b6337(0x127)?'':'\x20\x20['+_0x38ebae+']';}function flagToCommandFlag(_0xb549fe){const _0x354ec7=a62_0x1e3e;return{'name':_0xb549fe[_0x354ec7(0xde)],'type':_0xb549fe[_0x354ec7(0xf8)]===_0x354ec7(0x102)?_0x354ec7(0xfd):_0xb549fe[_0x354ec7(0xf8)],'description':_0xb549fe[_0x354ec7(0xe8)]||_0xb549fe[_0x354ec7(0x109)],'required':_0xb549fe[_0x354ec7(0xfb)],'default':isPrimitiveFlagDefault(_0xb549fe[_0x354ec7(0x13b)])?_0xb549fe['default']:undefined,'enum':_0xb549fe[_0x354ec7(0x136)]};}async function compilePlan(_0x5e722b,_0x45f9d9){const _0x297e13=a62_0x1e3e;return compileServiceTreeCommand(_0x5e722b,{'flags':_0x45f9d9[_0x297e13(0x126)],'args':_0x45f9d9[_0x297e13(0xe7)],'context':await buildServiceContext(_0x5e722b,_0x45f9d9)});}async function buildServiceContext(_0x586e26,_0x28c017){const _0x1df0ef=a62_0x1e3e,_0x3d94bb={'appCode':_0x28c017[_0x1df0ef(0x125)],'env':_0x28c017[_0x1df0ef(0xe4)],'envName':_0x28c017[_0x1df0ef(0xe4)]};if(!usesRuntimeContext(_0x586e26))return _0x3d94bb;const _0x42fe13=await getLoginUserInfo(),_0x487df0=pickFirst(_0x42fe13['userId'],_0x42fe13['id']);return{..._0x3d94bb,'user':_0x42fe13,'userId':_0x487df0,'id':_0x42fe13['id'],'username':pickFirst(_0x42fe13[_0x1df0ef(0x13a)],_0x42fe13[_0x1df0ef(0x10d)],_0x42fe13[_0x1df0ef(0xdc)]),'userName':_0x42fe13[_0x1df0ef(0x10d)],'nickname':pickFirst(_0x42fe13[_0x1df0ef(0x103)],_0x42fe13[_0x1df0ef(0xed)]),'nickName':_0x42fe13[_0x1df0ef(0xed)],'tenantCode':_0x42fe13[_0x1df0ef(0xd5)],'employeeId':_0x42fe13['employeeId']};}function usesRuntimeContext(_0x52b705){const _0x5adc01=a62_0x1e3e;return _0x52b705[_0x5adc01(0x130)][_0x5adc01(0x11d)](_0x56785c=>typeof _0x56785c[_0x5adc01(0xd6)]===_0x5adc01(0xfd)&&(_0x56785c[_0x5adc01(0xd6)]['startsWith'](_0x5adc01(0x118))||_0x56785c['source']['startsWith'](_0x5adc01(0x11b))));}function pickFirst(..._0x95a480){return _0x95a480['find'](_0x38ff8d=>_0x38ff8d!==undefined&&_0x38ff8d!==null);}async function executePlan(_0x4d8eeb,_0x4e7f65,_0xdf01bf){const _0x24ba41=a62_0x1e3e;if(_0x4d8eeb['kind']===_0x24ba41(0x138)){const _0x4916a3=await resolveDatasetCode(_0x4d8eeb,_0x4e7f65,_0xdf01bf);return executeData(_0x4916a3,_0x4d8eeb['command'],_0x4d8eeb[_0x24ba41(0x134)]);}if(_0x4d8eeb[_0x24ba41(0x107)]==='sql'){if(!_0x4d8eeb[_0x24ba41(0x115)])throw CliErrors['validation']('Service\x20command\x20'+_0x4e7f65[_0x24ba41(0x11c)]+_0x24ba41(0xf9));return executeSdkSql(_0x4d8eeb[_0x24ba41(0x115)],normalizeScalarParams(_0x4d8eeb['params']));}if(_0x4d8eeb['kind']===_0x24ba41(0x135)){const _0xdede9f=_0x4d8eeb[_0x24ba41(0x10a)]||_0x4d8eeb[_0x24ba41(0x117)]||(_0x4d8eeb[_0x24ba41(0x11f)]==null?'':String(_0x4d8eeb[_0x24ba41(0x11f)]));if(!_0xdede9f)throw CliErrors[_0x24ba41(0x122)](_0x24ba41(0x104)+_0x4e7f65['cliPath']+_0x24ba41(0x11a));return executeSdkBff(_0xdede9f,_0x4d8eeb[_0x24ba41(0x134)]);}throw CliErrors[_0x24ba41(0x122)](_0x24ba41(0x111)+_0x4d8eeb[_0x24ba41(0x107)]);}async function resolveDatasetCode(_0x138f06,_0xb6bbe0,_0x3fa66e){const _0x36fe65=a62_0x1e3e;if(_0x138f06[_0x36fe65(0x131)])return _0x138f06[_0x36fe65(0x131)];if(!_0x138f06['datatable'])throw CliErrors['validation'](_0x36fe65(0x104)+_0xb6bbe0['cliPath']+_0x36fe65(0x100));const _0x3131d2=await listDatasets(_0x3fa66e[_0x36fe65(0x125)]),_0x1be9f5=_0x3131d2[_0x36fe65(0x132)](_0xbc3ff4=>_0xbc3ff4[_0x36fe65(0xf4)]?.[_0x36fe65(0xfc)]===_0x138f06['datatable']);if(!_0x1be9f5?.[_0x36fe65(0xf6)])throw CliErrors[_0x36fe65(0x122)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x138f06[_0x36fe65(0xe2)]+_0x36fe65(0x119)+_0x3fa66e[_0x36fe65(0x125)]+'.',_0x36fe65(0x114));return _0x1be9f5[_0x36fe65(0xf6)];}function applyAppBinding(_0x52a605,_0x42c68f,_0x543e5a){const _0x583276=a62_0x1e3e,_0x14ef69=_0x42c68f[_0x583276(0xdb)][_0x583276(0x116)];if(!_0x14ef69)return;const _0x5ee5c3=_0x52a605[_0x583276(0xeb)][_0x14ef69];if(!_0x5ee5c3)throw CliErrors[_0x583276(0x122)]('Unknown\x20appRef\x20\x22'+_0x14ef69+'\x22\x20in\x20service\x20command\x20'+_0x42c68f[_0x583276(0x11c)]+'.',_0x583276(0x13c));const _0x2e60b3=_0x5ee5c3[_0x583276(0x12c)]||_0x5ee5c3['appCode'];_0x2e60b3&&!hasText(_0x543e5a['appcode'])&&(_0x543e5a[_0x583276(0x12c)]=_0x2e60b3),_0x5ee5c3[_0x583276(0xf2)]&&!hasText(_0x543e5a[_0x583276(0xf2)])&&!hasText(_0x543e5a[_0x583276(0x12c)])&&(_0x543e5a['app']=_0x5ee5c3[_0x583276(0xf2)]),_0x5ee5c3[_0x583276(0x124)]&&!hasText(_0x543e5a[_0x583276(0x124)])&&(_0x543e5a[_0x583276(0x124)]=_0x5ee5c3[_0x583276(0x124)]);}function renderDynamicCommandHelp(_0x9bcc15){const _0x283af3=a62_0x1e3e,_0x59865a=[_0x283af3(0x13e),_0x283af3(0x128)+_0x9bcc15['target'][_0x283af3(0x107)],_0x283af3(0xff)+_0x9bcc15['target']['command']];if(_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0x131)])_0x59865a[_0x283af3(0x11e)](_0x283af3(0xda)+_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0x131)]);if(_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0xe2)])_0x59865a[_0x283af3(0x11e)](_0x283af3(0xe3)+_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0xe2)]);if(_0x9bcc15['target'][_0x283af3(0x115)])_0x59865a[_0x283af3(0x11e)]('\x20\x20\x20\x20sqlCode:\x20'+_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0x115)]);if(_0x9bcc15[_0x283af3(0xdb)][_0x283af3(0x10a)])_0x59865a[_0x283af3(0x11e)](_0x283af3(0x12d)+_0x9bcc15[_0x283af3(0xdb)]['scriptName']);if(_0x9bcc15['mapTo'][_0x283af3(0xfe)]>0x0){_0x59865a['push']('',_0x283af3(0xf1));for(const _0xb685a3 of _0x9bcc15['mapTo']){_0x59865a[_0x283af3(0x11e)](_0x283af3(0x133)+(_0xb685a3[_0x283af3(0xd6)]||_0x283af3(0x129))+_0x283af3(0x12a)+_0xb685a3[_0x283af3(0xdb)]+(_0xb685a3['operator']?'.'+_0xb685a3[_0x283af3(0x106)]:''));}}return _0x59865a['join']('\x0a');}function targetPreview(_0x55045b){const _0x2bf0d6=a62_0x1e3e;return{'kind':_0x55045b[_0x2bf0d6(0x107)],'command':_0x55045b[_0x2bf0d6(0x10b)],'appRef':_0x55045b[_0x2bf0d6(0x116)],'datasetCode':_0x55045b[_0x2bf0d6(0x131)],'datatable':_0x55045b[_0x2bf0d6(0xe2)],'sqlCode':_0x55045b['sqlCode'],'bffCode':_0x55045b[_0x2bf0d6(0x117)],'bffId':_0x55045b['bffId'],'functionName':_0x55045b[_0x2bf0d6(0x10a)]};}function normalizeScalarParams(_0x5177e6){const _0x19b43e=a62_0x1e3e;return Object['fromEntries'](Object[_0x19b43e(0x108)](_0x5177e6)[_0x19b43e(0xea)](([,_0x15090a])=>typeof _0x15090a===_0x19b43e(0xfd)||typeof _0x15090a===_0x19b43e(0xdf)));}function hasText(_0xbf7ad0){const _0x3aeb6d=a62_0x1e3e;return typeof _0xbf7ad0===_0x3aeb6d(0xfd)&&_0xbf7ad0['trim']()[_0x3aeb6d(0xfe)]>0x0;}function isPrimitiveFlagDefault(_0x14d38a){const _0x2a317f=a62_0x1e3e;return _0x14d38a===undefined||typeof _0x14d38a===_0x2a317f(0xfd)||typeof _0x14d38a===_0x2a317f(0xdf)||typeof _0x14d38a==='boolean';}
@@ -1 +1 @@
1
- (function(_0x3370d0,_0x514a34){const _0x3ec8ce=a63_0x2401,_0x224b9a=_0x3370d0();while(!![]){try{const _0x246baf=parseInt(_0x3ec8ce(0x19f))/0x1*(-parseInt(_0x3ec8ce(0x1a1))/0x2)+-parseInt(_0x3ec8ce(0x1ae))/0x3*(-parseInt(_0x3ec8ce(0x19a))/0x4)+parseInt(_0x3ec8ce(0x19b))/0x5*(parseInt(_0x3ec8ce(0x1a4))/0x6)+parseInt(_0x3ec8ce(0x1b1))/0x7*(parseInt(_0x3ec8ce(0x1ab))/0x8)+parseInt(_0x3ec8ce(0x1b6))/0x9*(-parseInt(_0x3ec8ce(0x1a2))/0xa)+parseInt(_0x3ec8ce(0x1ac))/0xb*(-parseInt(_0x3ec8ce(0x1b9))/0xc)+parseInt(_0x3ec8ce(0x1a3))/0xd*(parseInt(_0x3ec8ce(0x1aa))/0xe);if(_0x246baf===_0x514a34)break;else _0x224b9a['push'](_0x224b9a['shift']());}catch(_0x3e8cfc){_0x224b9a['push'](_0x224b9a['shift']());}}}(a63_0x29b7,0x7dbea));export function adaptServiceTreeManifestForLegacyFramework(_0x275b10){const _0x565a9c=a63_0x2401,_0x1744d3=cloneJsonValue(_0x275b10),_0x3f5e4e=[];if(!isObjectRecord(_0x1744d3))return{'manifest':_0x1744d3,'errors':_0x3f5e4e};return Array[_0x565a9c(0x194)](_0x1744d3[_0x565a9c(0x1b0)])&&_0x1744d3[_0x565a9c(0x1b0)][_0x565a9c(0x1b2)]((_0x394859,_0x506c01)=>{const _0x33875d=_0x565a9c;if(!isObjectRecord(_0x394859))return;adaptBffTarget(_0x394859[_0x33875d(0x1ad)],'$.commands['+_0x506c01+'].target',_0x3f5e4e);}),adaptResources(_0x1744d3[_0x565a9c(0x1b5)],_0x565a9c(0x19e),_0x3f5e4e),{'manifest':_0x1744d3,'errors':_0x3f5e4e};}export function toPublicServiceTreeTarget(_0x3d959e){const _0x4ecb83=a63_0x2401,{scriptName:_0x1309e4,..._0x502d0a}=_0x3d959e;return typeof _0x1309e4===_0x4ecb83(0x198)&&_0x1309e4[_0x4ecb83(0x1b8)]()&&(_0x502d0a[_0x4ecb83(0x1b4)]=_0x1309e4),_0x502d0a;}export function toPublicNormalizedServiceTree(_0x2f9aa5){const _0x4f58a3=a63_0x2401;return{..._0x2f9aa5,'commands':_0x2f9aa5[_0x4f58a3(0x1b0)][_0x4f58a3(0x1b7)](_0x12884d=>({..._0x12884d,'target':toPublicServiceTreeTarget(_0x12884d[_0x4f58a3(0x1ad)])}))};}function adaptResources(_0x1e0877,_0x2c17ff,_0x5ea6b7){const _0x470324=a63_0x2401;if(!isObjectRecord(_0x1e0877))return;for(const [_0x3dffb4,_0x54a128]of Object[_0x470324(0x1a9)](_0x1e0877)){if(!isObjectRecord(_0x54a128))continue;const _0x369ff9=_0x2c17ff+'.'+_0x3dffb4;if(isObjectRecord(_0x54a128[_0x470324(0x193)]))for(const [_0x1abf46,_0x473365]of Object[_0x470324(0x1a9)](_0x54a128[_0x470324(0x193)])){if(!isObjectRecord(_0x473365))continue;const _0x4cc153=_0x369ff9+'.actions.'+_0x1abf46,_0x500282=isObjectRecord(_0x473365[_0x470324(0x1ad)])&&_0x473365[_0x470324(0x1ad)]['kind']===_0x470324(0x1b3);adaptBffTarget(_0x473365[_0x470324(0x1ad)],_0x4cc153+_0x470324(0x199),_0x5ea6b7),(_0x500282||isBffAction(_0x473365))&&adaptFunctionNameField(_0x473365,_0x4cc153,_0x5ea6b7);}adaptResources(_0x54a128[_0x470324(0x1b5)],_0x369ff9+'.resources',_0x5ea6b7);}}function adaptBffTarget(_0x47f4c9,_0x4e8e6d,_0x43ddd0){const _0x19fa0e=a63_0x2401;if(!isObjectRecord(_0x47f4c9)||_0x47f4c9[_0x19fa0e(0x1a5)]!=='bff')return;adaptFunctionNameField(_0x47f4c9,_0x4e8e6d,_0x43ddd0);}function a63_0x29b7(){const _0x4aa942=['map','trim','24xFprvH','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','.scriptName','.functionName','actions','isArray','prototype','fromEntries','object','string','.target','4qikeJk','269655talGac','call','bff.exec','$.resources','1vCHeft','scriptName','672542aMABvd','1510wgMlFk','26ILKaKs','6pcXiGM','kind','error','functionName\x20must\x20be\x20a\x20non-empty\x20string.','hasOwnProperty','entries','7311892Eohigf','935824uzOreO','1781428XFeUtt','target','1712829WHdNNE','push','commands','21SrElXS','forEach','bff','functionName','resources','50373iFQaoS'];a63_0x29b7=function(){return _0x4aa942;};return a63_0x29b7();}function adaptFunctionNameField(_0x113c46,_0x297784,_0x31977a){const _0x293bb7=a63_0x2401;Object[_0x293bb7(0x195)][_0x293bb7(0x1a8)][_0x293bb7(0x19c)](_0x113c46,_0x293bb7(0x1a0))&&_0x31977a[_0x293bb7(0x1af)]({'level':'error','path':_0x297784+_0x293bb7(0x191),'message':_0x293bb7(0x190)});if(Object[_0x293bb7(0x195)][_0x293bb7(0x1a8)]['call'](_0x113c46,'functionName')){if(typeof _0x113c46[_0x293bb7(0x1b4)]!==_0x293bb7(0x198)||!_0x113c46[_0x293bb7(0x1b4)][_0x293bb7(0x1b8)]()){_0x31977a['push']({'level':_0x293bb7(0x1a6),'path':_0x297784+_0x293bb7(0x192),'message':_0x293bb7(0x1a7)}),delete _0x113c46['functionName'];return;}_0x113c46[_0x293bb7(0x1a0)]=_0x113c46['functionName'],delete _0x113c46[_0x293bb7(0x1b4)];}}function isBffAction(_0x1fd643){const _0x56e96e=a63_0x2401;return _0x1fd643[_0x56e96e(0x1a5)]==='bff'||_0x1fd643['action']===_0x56e96e(0x19d)||_0x1fd643[_0x56e96e(0x1ad)]===_0x56e96e(0x19d);}function cloneJsonValue(_0x1b2ff8){const _0x1a277f=a63_0x2401;if(Array['isArray'](_0x1b2ff8))return _0x1b2ff8[_0x1a277f(0x1b7)](_0x3c3c5a=>cloneJsonValue(_0x3c3c5a));if(isObjectRecord(_0x1b2ff8))return Object[_0x1a277f(0x196)](Object['entries'](_0x1b2ff8)['map'](([_0x434018,_0x556798])=>[_0x434018,cloneJsonValue(_0x556798)]));return _0x1b2ff8;}function a63_0x2401(_0x87905c,_0x38855e){_0x87905c=_0x87905c-0x190;const _0x29b7b1=a63_0x29b7();let _0x2401f7=_0x29b7b1[_0x87905c];return _0x2401f7;}function isObjectRecord(_0x1c4a42){const _0x1f30ae=a63_0x2401;return Boolean(_0x1c4a42)&&typeof _0x1c4a42===_0x1f30ae(0x197)&&!Array[_0x1f30ae(0x194)](_0x1c4a42);}
1
+ (function(_0x419d0e,_0x3872de){const _0x17e525=a63_0x33c0,_0x626b70=_0x419d0e();while(!![]){try{const _0x116ed1=-parseInt(_0x17e525(0x10b))/0x1*(-parseInt(_0x17e525(0x103))/0x2)+parseInt(_0x17e525(0xf0))/0x3+-parseInt(_0x17e525(0xef))/0x4*(parseInt(_0x17e525(0x104))/0x5)+parseInt(_0x17e525(0x10d))/0x6*(-parseInt(_0x17e525(0x10e))/0x7)+-parseInt(_0x17e525(0xee))/0x8+parseInt(_0x17e525(0x109))/0x9+parseInt(_0x17e525(0xf3))/0xa;if(_0x116ed1===_0x3872de)break;else _0x626b70['push'](_0x626b70['shift']());}catch(_0x523c84){_0x626b70['push'](_0x626b70['shift']());}}}(a63_0xf794,0xf0f4e));function a63_0x33c0(_0x41541e,_0x418074){_0x41541e=_0x41541e-0xeb;const _0xf79492=a63_0xf794();let _0x33c049=_0xf79492[_0x41541e];return _0x33c049;}export function adaptServiceTreeManifestForLegacyFramework(_0x4f9d2d){const _0x3412af=a63_0x33c0,_0x34b4a2=cloneJsonValue(_0x4f9d2d),_0x3c7560=[];if(!isObjectRecord(_0x34b4a2))return{'manifest':_0x34b4a2,'errors':_0x3c7560};return Array[_0x3412af(0xf4)](_0x34b4a2[_0x3412af(0xfd)])&&_0x34b4a2['commands']['forEach']((_0x3ac08d,_0x5413ed)=>{const _0x538c76=_0x3412af;if(!isObjectRecord(_0x3ac08d))return;adaptBffTarget(_0x3ac08d[_0x538c76(0x108)],_0x538c76(0x102)+_0x5413ed+_0x538c76(0xec),_0x3c7560);}),adaptResources(_0x34b4a2[_0x3412af(0xfc)],'$.resources',_0x3c7560),{'manifest':_0x34b4a2,'errors':_0x3c7560};}export function toPublicServiceTreeTarget(_0xf00595){const _0x920f63=a63_0x33c0,{scriptName:_0x129ec5,..._0x49d964}=_0xf00595;return typeof _0x129ec5===_0x920f63(0xeb)&&_0x129ec5['trim']()&&(_0x49d964['functionName']=_0x129ec5),_0x49d964;}export function toPublicNormalizedServiceTree(_0x35c62a){const _0xe09afd=a63_0x33c0;return{..._0x35c62a,'commands':_0x35c62a[_0xe09afd(0xfd)][_0xe09afd(0x106)](_0xf7c811=>({..._0xf7c811,'target':toPublicServiceTreeTarget(_0xf7c811['target'])}))};}function adaptResources(_0x1a3a3c,_0x338151,_0x54aab4){const _0x12e0fb=a63_0x33c0;if(!isObjectRecord(_0x1a3a3c))return;for(const [_0x5095a0,_0x54a566]of Object['entries'](_0x1a3a3c)){if(!isObjectRecord(_0x54a566))continue;const _0xdab80b=_0x338151+'.'+_0x5095a0;if(isObjectRecord(_0x54a566[_0x12e0fb(0xed)]))for(const [_0x396500,_0x26c1c8]of Object['entries'](_0x54a566[_0x12e0fb(0xed)])){if(!isObjectRecord(_0x26c1c8))continue;const _0x4fac5e=_0xdab80b+_0x12e0fb(0x10f)+_0x396500,_0x410840=isObjectRecord(_0x26c1c8[_0x12e0fb(0x108)])&&_0x26c1c8[_0x12e0fb(0x108)][_0x12e0fb(0x110)]===_0x12e0fb(0xff);adaptBffTarget(_0x26c1c8[_0x12e0fb(0x108)],_0x4fac5e+_0x12e0fb(0x100),_0x54aab4),(_0x410840||isBffAction(_0x26c1c8))&&adaptFunctionNameField(_0x26c1c8,_0x4fac5e,_0x54aab4);}adaptResources(_0x54a566['resources'],_0xdab80b+_0x12e0fb(0xf9),_0x54aab4);}}function adaptBffTarget(_0x38ea6a,_0xb8d346,_0xe08c37){const _0x2edb7c=a63_0x33c0;if(!isObjectRecord(_0x38ea6a)||_0x38ea6a[_0x2edb7c(0x110)]!==_0x2edb7c(0xff))return;adaptFunctionNameField(_0x38ea6a,_0xb8d346,_0xe08c37);}function adaptFunctionNameField(_0x5af0c1,_0x5b2a4f,_0x5e0999){const _0x1c6a17=a63_0x33c0;Object[_0x1c6a17(0x111)][_0x1c6a17(0x10a)]['call'](_0x5af0c1,'scriptName')&&_0x5e0999[_0x1c6a17(0x10c)]({'level':_0x1c6a17(0x105),'path':_0x5b2a4f+_0x1c6a17(0x107),'message':_0x1c6a17(0xfb)});if(Object[_0x1c6a17(0x111)][_0x1c6a17(0x10a)][_0x1c6a17(0xfa)](_0x5af0c1,'functionName')){if(typeof _0x5af0c1[_0x1c6a17(0x101)]!==_0x1c6a17(0xeb)||!_0x5af0c1['functionName'][_0x1c6a17(0xf7)]()){_0x5e0999['push']({'level':_0x1c6a17(0x105),'path':_0x5b2a4f+'.functionName','message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0x5af0c1[_0x1c6a17(0x101)];return;}_0x5af0c1[_0x1c6a17(0xf8)]=_0x5af0c1[_0x1c6a17(0x101)],delete _0x5af0c1[_0x1c6a17(0x101)];}}function isBffAction(_0x36bf1c){const _0x446da3=a63_0x33c0;return _0x36bf1c[_0x446da3(0x110)]===_0x446da3(0xff)||_0x36bf1c[_0x446da3(0xf6)]===_0x446da3(0xf1)||_0x36bf1c[_0x446da3(0x108)]===_0x446da3(0xf1);}function cloneJsonValue(_0x20305e){const _0xd51b58=a63_0x33c0;if(Array[_0xd51b58(0xf4)](_0x20305e))return _0x20305e['map'](_0x338fa3=>cloneJsonValue(_0x338fa3));if(isObjectRecord(_0x20305e))return Object[_0xd51b58(0xfe)](Object[_0xd51b58(0xf5)](_0x20305e)[_0xd51b58(0x106)](([_0x19cbb4,_0x3758bf])=>[_0x19cbb4,cloneJsonValue(_0x3758bf)]));return _0x20305e;}function a63_0xf794(){const _0x20e81c=['kind','prototype','string','].target','actions','1090440zhQCcD','586972QmznsO','3842814OxVGci','bff.exec','object','880220LbkViD','isArray','entries','action','trim','scriptName','.resources','call','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','resources','commands','fromEntries','bff','.target','functionName','$.commands[','22soVUZN','65UUDEHB','error','map','.scriptName','target','13953213qyumNo','hasOwnProperty','130823iHiCqw','push','12nLIfJn','4646068wcGNlA','.actions.'];a63_0xf794=function(){return _0x20e81c;};return a63_0xf794();}function isObjectRecord(_0x176876){const _0x2f7216=a63_0x33c0;return Boolean(_0x176876)&&typeof _0x176876===_0x2f7216(0xf2)&&!Array['isArray'](_0x176876);}
@@ -1 +1 @@
1
- const a64_0x40d86e=a64_0x33a1;function a64_0x2a9b(){const _0x5c51eb=['2690024sPsGAM','target','9BHzSuX','warnings','normalizedManifest','450960PJCVVm','validate','cliName','manifests','commands','registryPath','Service\x20Tree\x20manifest\x20file\x20path','1116297GnVpex','Imported','\x20service(s),\x20updated\x20','remove','hash','type','Removed\x20service\x20','Service\x20manifest\x20validation\x20passed.','serviceCount','importedAt','length','flags','filePath','updated','read','reduce','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','1335172gplSdY','Exported\x20service\x20','20gOSLIR','78878pVggoA','WRITE','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','str','write','service','Local\x20service\x20code,\x20for\x20example\x20crm','report','map','18CRwzXt','kind','\x20service\x20','883746GKWeAd','1491060ewZHsF','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','\x20service(s).','Local\x20service\x20not\x20found:\x20','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','detail','imported','description','lower\x20kebab-case\x20service\x20code','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','manifest','replaced','risk','required','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','export','errors','serviceCode','entries','string','file','source','name','version','cliPath','entry'];a64_0x2a9b=function(){return _0x5c51eb;};return a64_0x2a9b();}(function(_0x2f9036,_0x884848){const _0xf0170=a64_0x33a1,_0x587cf1=_0x2f9036();while(!![]){try{const _0xef60e8=-parseInt(_0xf0170(0x9c))/0x1+-parseInt(_0xf0170(0x6e))/0x2*(-parseInt(_0xf0170(0x77))/0x3)+parseInt(_0xf0170(0x6b))/0x4+-parseInt(_0xf0170(0x6d))/0x5*(-parseInt(_0xf0170(0x7a))/0x6)+parseInt(_0xf0170(0xa3))/0x7+parseInt(_0xf0170(0x97))/0x8*(-parseInt(_0xf0170(0x99))/0x9)+-parseInt(_0xf0170(0x7b))/0xa;if(_0xef60e8===_0x884848)break;else _0x587cf1['push'](_0x587cf1['shift']());}catch(_0x56119b){_0x587cf1['push'](_0x587cf1['shift']());}}}(a64_0x2a9b,0x5d717));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a64_0x40d86e(0x91),'type':a64_0x40d86e(0x90),'required':!![],'description':a64_0x40d86e(0xa2)},SERVICE_FLAG={'name':'service','type':a64_0x40d86e(0x90),'required':!![],'description':a64_0x40d86e(0x74),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a64_0x40d86e(0x85)}};function summarizeService(_0x31f4a4){const _0x14dbca=a64_0x40d86e;return{'serviceCode':_0x31f4a4[_0x14dbca(0x8e)],'name':_0x31f4a4['normalizedManifest'][_0x14dbca(0x73)][_0x14dbca(0x93)],'version':_0x31f4a4['version'],'importedAt':_0x31f4a4[_0x14dbca(0xac)],'source':_0x31f4a4[_0x14dbca(0x92)],'commandCount':_0x31f4a4[_0x14dbca(0x9b)][_0x14dbca(0xa0)]['length'],'commands':_0x31f4a4[_0x14dbca(0x9b)][_0x14dbca(0xa0)][_0x14dbca(0x76)](_0x508f90=>({'path':_0x508f90[_0x14dbca(0x95)],'description':_0x508f90[_0x14dbca(0x84)],'risk':_0x508f90[_0x14dbca(0x89)],'target':toPublicServiceTreeTarget(_0x508f90['target']),'flags':_0x508f90[_0x14dbca(0xae)][_0x14dbca(0x76)](_0x206680=>({'name':_0x206680[_0x14dbca(0x93)],'cliName':_0x206680[_0x14dbca(0x9e)],'type':_0x206680[_0x14dbca(0xa8)],'required':_0x206680[_0x14dbca(0x8a)]===!![]}))}))};}function a64_0x33a1(_0x22f7c1,_0x32cc52){_0x22f7c1=_0x22f7c1-0x6a;const _0x2a9b6b=a64_0x2a9b();let _0x33a167=_0x2a9b6b[_0x22f7c1];return _0x33a167;}function summarizeLoadedManifest(_0x5d9d62){const _0x35bd29=a64_0x40d86e;return{'service':_0x5d9d62[_0x35bd29(0x9b)]?.[_0x35bd29(0x73)],'version':_0x5d9d62['normalizedManifest']?.['version'],'commandCount':_0x5d9d62[_0x35bd29(0x9b)]?.[_0x35bd29(0xa0)][_0x35bd29(0xad)]??0x0,'commands':_0x5d9d62[_0x35bd29(0x9b)]?.[_0x35bd29(0xa0)]['map'](_0x400e1e=>({'path':_0x400e1e[_0x35bd29(0x95)],'risk':_0x400e1e['risk'],'target':toPublicServiceTreeTarget(_0x400e1e[_0x35bd29(0x98)])}))??[],'registryIndex':_0x5d9d62['registryIndex'],'registryServiceCode':_0x5d9d62['registryServiceCode'],'errors':_0x5d9d62[_0x35bd29(0x75)][_0x35bd29(0x8d)],'warnings':_0x5d9d62[_0x35bd29(0x75)][_0x35bd29(0x9a)]};}export const serviceDefinitions=[{'service':'service','command':a64_0x40d86e(0x9d),'description':a64_0x40d86e(0x86),'risk':a64_0x40d86e(0xb1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x34ce09){const _0x5b3661=a64_0x40d86e,_0x9cc1fd=loadServiceManifestFromFile(_0x34ce09[_0x5b3661(0x71)](_0x5b3661(0x91)));if(!_0x9cc1fd[_0x5b3661(0x75)]['ok'])return{'ok':![],'data':{'file':_0x9cc1fd[_0x5b3661(0xaf)],'hash':_0x9cc1fd['hash'],'kind':_0x9cc1fd[_0x5b3661(0x78)],'serviceCount':_0x9cc1fd[_0x5b3661(0x9f)][_0x5b3661(0xad)],'services':_0x9cc1fd[_0x5b3661(0x9f)][_0x5b3661(0x76)](summarizeLoadedManifest),'errors':_0x9cc1fd[_0x5b3661(0x75)]['errors'],'warnings':_0x9cc1fd[_0x5b3661(0x75)][_0x5b3661(0x9a)]},'message':formatValidationFailure(_0x9cc1fd['report'])};if(_0x9cc1fd[_0x5b3661(0x78)]==='registry'||_0x9cc1fd['manifests'][_0x5b3661(0xad)]!==0x1)return{'ok':!![],'data':{'file':_0x9cc1fd[_0x5b3661(0xaf)],'hash':_0x9cc1fd['hash'],'kind':_0x9cc1fd[_0x5b3661(0x78)],'serviceCount':_0x9cc1fd[_0x5b3661(0x9f)][_0x5b3661(0xad)],'commandCount':_0x9cc1fd[_0x5b3661(0x9f)][_0x5b3661(0xb2)]((_0x3c67ab,_0x37a1ce)=>_0x3c67ab+(_0x37a1ce[_0x5b3661(0x9b)]?.[_0x5b3661(0xa0)][_0x5b3661(0xad)]??0x0),0x0),'services':_0x9cc1fd[_0x5b3661(0x9f)]['map'](summarizeLoadedManifest),'warnings':_0x9cc1fd[_0x5b3661(0x75)][_0x5b3661(0x9a)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x9cc1fd[_0x5b3661(0xaf)],'hash':_0x9cc1fd['hash'],'kind':_0x9cc1fd['kind'],'service':_0x9cc1fd[_0x5b3661(0x9b)]?.[_0x5b3661(0x73)],'version':_0x9cc1fd['normalizedManifest']?.['version'],'commandCount':_0x9cc1fd[_0x5b3661(0x9b)]?.[_0x5b3661(0xa0)][_0x5b3661(0xad)]??0x0,'commands':_0x9cc1fd[_0x5b3661(0x9b)]?.[_0x5b3661(0xa0)][_0x5b3661(0x76)](_0x5eea5=>({'path':_0x5eea5[_0x5b3661(0x95)],'risk':_0x5eea5[_0x5b3661(0x89)],'target':toPublicServiceTreeTarget(_0x5eea5[_0x5b3661(0x98)])})),'warnings':_0x9cc1fd[_0x5b3661(0x75)][_0x5b3661(0x9a)]},'message':_0x5b3661(0xaa)};}},{'service':a64_0x40d86e(0x73),'command':'import','description':a64_0x40d86e(0x7c),'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'(_0x333e35){const _0x31b32f=a64_0x40d86e,_0x2c4b74=loadServiceManifestFromFile(_0x333e35[_0x31b32f(0x71)](_0x31b32f(0x91)));return{'method':_0x31b32f(0x6f),'url':getServiceRegistryPath(),'body':{'file':_0x2c4b74[_0x31b32f(0xaf)],'hash':_0x2c4b74[_0x31b32f(0xa7)],'kind':_0x2c4b74[_0x31b32f(0x78)],'ok':_0x2c4b74['report']['ok'],'service':_0x2c4b74[_0x31b32f(0x9b)]?.['service'],'version':_0x2c4b74[_0x31b32f(0x9b)]?.[_0x31b32f(0x94)],'serviceCount':_0x2c4b74[_0x31b32f(0x9f)][_0x31b32f(0xad)],'services':_0x2c4b74[_0x31b32f(0x9f)][_0x31b32f(0x76)](_0x3240a0=>({'service':_0x3240a0[_0x31b32f(0x9b)]?.['service'],'version':_0x3240a0[_0x31b32f(0x9b)]?.[_0x31b32f(0x94)],'commandCount':_0x3240a0[_0x31b32f(0x9b)]?.[_0x31b32f(0xa0)]['length']??0x0,'errors':_0x3240a0[_0x31b32f(0x75)]['errors']})),'errors':_0x2c4b74[_0x31b32f(0x75)][_0x31b32f(0x8d)],'commandCount':_0x2c4b74[_0x31b32f(0x9b)]?.[_0x31b32f(0xa0)][_0x31b32f(0xad)]??0x0},'description':_0x31b32f(0x80)};},async 'execute'(_0x212517){const _0x1e5f0d=a64_0x40d86e,_0x4900d8=importServiceManifest(_0x212517[_0x1e5f0d(0x71)]('file'));if(_0x4900d8[_0x1e5f0d(0x8f)][_0x1e5f0d(0xad)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4900d8['registryPath'],'imported':_0x4900d8[_0x1e5f0d(0x83)],'updated':_0x4900d8[_0x1e5f0d(0xb0)],'serviceCount':_0x4900d8['serviceCount'],'services':_0x4900d8[_0x1e5f0d(0x8f)][_0x1e5f0d(0x76)](summarizeService)},'message':_0x1e5f0d(0xb3)+_0x4900d8['imported']+_0x1e5f0d(0xa5)+_0x4900d8[_0x1e5f0d(0xb0)]+_0x1e5f0d(0x7e)};return{'ok':!![],'data':{'registryPath':_0x4900d8[_0x1e5f0d(0xa1)],'replaced':_0x4900d8[_0x1e5f0d(0x88)],'imported':_0x4900d8[_0x1e5f0d(0x83)],'updated':_0x4900d8['updated'],'serviceCount':_0x4900d8[_0x1e5f0d(0xab)],'service':summarizeService(_0x4900d8['entry'])},'message':(_0x4900d8[_0x1e5f0d(0x88)]?'Updated':_0x1e5f0d(0xa4))+_0x1e5f0d(0x79)+_0x4900d8['entry'][_0x1e5f0d(0x8e)]+'.'};}},{'service':a64_0x40d86e(0x73),'command':a64_0x40d86e(0x8c),'description':'Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':'write','confirmationDescription':a64_0x40d86e(0x8b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x1ed2df){const _0x1b8429=a64_0x40d86e,_0x17e090=getLocalServiceEntry(_0x1ed2df[_0x1b8429(0x71)](_0x1b8429(0x73)));return{'method':_0x1b8429(0x6f),'url':_0x1ed2df['str'](_0x1b8429(0x91)),'body':{'service':_0x1ed2df[_0x1b8429(0x71)](_0x1b8429(0x73)),'found':Boolean(_0x17e090),'version':_0x17e090?.['version'],'source':_0x17e090?.[_0x1b8429(0x92)]},'description':_0x1b8429(0x6a)};},async 'execute'(_0x5d7c88){const _0x1086dc=a64_0x40d86e,_0x614556=exportServiceManifest(_0x5d7c88[_0x1086dc(0x71)](_0x1086dc(0x73)),_0x5d7c88[_0x1086dc(0x71)](_0x1086dc(0x91)));return{'ok':!![],'data':{'registryPath':_0x614556[_0x1086dc(0xa1)],'file':_0x614556[_0x1086dc(0xaf)],'service':summarizeService(_0x614556[_0x1086dc(0x96)])},'message':_0x1086dc(0x6c)+_0x614556[_0x1086dc(0x96)][_0x1086dc(0x8e)]+'.'};}},{'service':a64_0x40d86e(0x73),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a64_0x40d86e(0xb1),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xd337e1=a64_0x40d86e,_0x176232=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x176232[_0xd337e1(0xad)],'services':_0x176232[_0xd337e1(0x76)](summarizeService)}};}},{'service':a64_0x40d86e(0x73),'command':a64_0x40d86e(0xa6),'description':a64_0x40d86e(0x70),'risk':a64_0x40d86e(0x72),'confirmationDescription':a64_0x40d86e(0x81),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0xe621bf){const _0x3e9cb7=a64_0x40d86e,_0x419a04=getLocalServiceEntry(_0xe621bf[_0x3e9cb7(0x71)](_0x3e9cb7(0x73)));return{'method':_0x3e9cb7(0x6f),'url':getServiceRegistryPath(),'body':{'service':_0xe621bf[_0x3e9cb7(0x71)](_0x3e9cb7(0x73)),'found':Boolean(_0x419a04),'version':_0x419a04?.[_0x3e9cb7(0x94)],'source':_0x419a04?.[_0x3e9cb7(0x92)]},'description':_0x3e9cb7(0x7d)};},async 'execute'(_0x813674){const _0x38ec67=a64_0x40d86e,_0x4528c8=removeServiceManifest(_0x813674['str'](_0x38ec67(0x73)));return{'ok':!![],'data':{'registryPath':_0x4528c8[_0x38ec67(0xa1)],'serviceCount':_0x4528c8[_0x38ec67(0xab)],'service':summarizeService(_0x4528c8[_0x38ec67(0x96)])},'message':_0x38ec67(0xa9)+_0x4528c8[_0x38ec67(0x96)][_0x38ec67(0x8e)]+'.'};}},{'service':'service','command':a64_0x40d86e(0x82),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a64_0x40d86e(0xb1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x1c9898){const _0x5be97a=a64_0x40d86e,_0x54e7bc=getLocalServiceEntry(_0x1c9898['str'](_0x5be97a(0x73)));if(!_0x54e7bc)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x1c9898[_0x5be97a(0x71)](_0x5be97a(0x73))},'message':_0x5be97a(0x7f)+_0x1c9898[_0x5be97a(0x71)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x54e7bc),'manifest':_0x54e7bc[_0x5be97a(0x87)],'normalizedManifest':toPublicNormalizedServiceTree(_0x54e7bc[_0x5be97a(0x9b)])}};}}];
1
+ const a64_0x78f80a=a64_0x1476;(function(_0x15df14,_0xff7854){const _0x52274c=a64_0x1476,_0x40f8e3=_0x15df14();while(!![]){try{const _0x12a56d=-parseInt(_0x52274c(0x173))/0x1+parseInt(_0x52274c(0x17c))/0x2+-parseInt(_0x52274c(0x16c))/0x3+-parseInt(_0x52274c(0x183))/0x4+parseInt(_0x52274c(0x177))/0x5+-parseInt(_0x52274c(0x153))/0x6*(parseInt(_0x52274c(0x175))/0x7)+parseInt(_0x52274c(0x178))/0x8;if(_0x12a56d===_0xff7854)break;else _0x40f8e3['push'](_0x40f8e3['shift']());}catch(_0x378758){_0x40f8e3['push'](_0x40f8e3['shift']());}}}(a64_0x3448,0x30d66));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a64_0x78f80a(0x159),'type':a64_0x78f80a(0x180),'required':!![],'description':a64_0x78f80a(0x190)},SERVICE_FLAG={'name':a64_0x78f80a(0x17d),'type':a64_0x78f80a(0x180),'required':!![],'description':a64_0x78f80a(0x191),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a64_0x78f80a(0x167)}};function summarizeService(_0x28f87f){const _0x12a535=a64_0x78f80a;return{'serviceCode':_0x28f87f[_0x12a535(0x187)],'name':_0x28f87f[_0x12a535(0x16b)]['service'][_0x12a535(0x166)],'version':_0x28f87f[_0x12a535(0x14e)],'importedAt':_0x28f87f[_0x12a535(0x18b)],'source':_0x28f87f[_0x12a535(0x189)],'commandCount':_0x28f87f[_0x12a535(0x16b)][_0x12a535(0x14d)][_0x12a535(0x17b)],'commands':_0x28f87f[_0x12a535(0x16b)][_0x12a535(0x14d)][_0x12a535(0x16f)](_0xb70dc8=>({'path':_0xb70dc8[_0x12a535(0x17f)],'description':_0xb70dc8[_0x12a535(0x186)],'risk':_0xb70dc8['risk'],'target':toPublicServiceTreeTarget(_0xb70dc8[_0x12a535(0x157)]),'flags':_0xb70dc8[_0x12a535(0x16a)][_0x12a535(0x16f)](_0x253e82=>({'name':_0x253e82[_0x12a535(0x166)],'cliName':_0x253e82['cliName'],'type':_0x253e82['type'],'required':_0x253e82[_0x12a535(0x15a)]===!![]}))}))};}function a64_0x1476(_0x466673,_0x2396de){_0x466673=_0x466673-0x14c;const _0x3448c6=a64_0x3448();let _0x1476f8=_0x3448c6[_0x466673];return _0x1476f8;}function summarizeLoadedManifest(_0x4895ed){const _0x29d6cc=a64_0x78f80a;return{'service':_0x4895ed[_0x29d6cc(0x16b)]?.[_0x29d6cc(0x17d)],'version':_0x4895ed[_0x29d6cc(0x16b)]?.[_0x29d6cc(0x14e)],'commandCount':_0x4895ed[_0x29d6cc(0x16b)]?.['commands'][_0x29d6cc(0x17b)]??0x0,'commands':_0x4895ed[_0x29d6cc(0x16b)]?.[_0x29d6cc(0x14d)]['map'](_0x1a247e=>({'path':_0x1a247e[_0x29d6cc(0x17f)],'risk':_0x1a247e[_0x29d6cc(0x182)],'target':toPublicServiceTreeTarget(_0x1a247e[_0x29d6cc(0x157)])}))??[],'registryIndex':_0x4895ed[_0x29d6cc(0x16d)],'registryServiceCode':_0x4895ed[_0x29d6cc(0x17e)],'errors':_0x4895ed[_0x29d6cc(0x162)]['errors'],'warnings':_0x4895ed['report'][_0x29d6cc(0x161)]};}export const serviceDefinitions=[{'service':a64_0x78f80a(0x17d),'command':a64_0x78f80a(0x158),'description':a64_0x78f80a(0x150),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2c1953){const _0xee939f=a64_0x78f80a,_0x3ae6f5=loadServiceManifestFromFile(_0x2c1953['str']('file'));if(!_0x3ae6f5[_0xee939f(0x162)]['ok'])return{'ok':![],'data':{'file':_0x3ae6f5[_0xee939f(0x163)],'hash':_0x3ae6f5['hash'],'kind':_0x3ae6f5['kind'],'serviceCount':_0x3ae6f5[_0xee939f(0x15f)]['length'],'services':_0x3ae6f5['manifests'][_0xee939f(0x16f)](summarizeLoadedManifest),'errors':_0x3ae6f5['report'][_0xee939f(0x160)],'warnings':_0x3ae6f5[_0xee939f(0x162)][_0xee939f(0x161)]},'message':formatValidationFailure(_0x3ae6f5[_0xee939f(0x162)])};if(_0x3ae6f5[_0xee939f(0x155)]===_0xee939f(0x18a)||_0x3ae6f5[_0xee939f(0x15f)][_0xee939f(0x17b)]!==0x1)return{'ok':!![],'data':{'file':_0x3ae6f5[_0xee939f(0x163)],'hash':_0x3ae6f5['hash'],'kind':_0x3ae6f5['kind'],'serviceCount':_0x3ae6f5['manifests'][_0xee939f(0x17b)],'commandCount':_0x3ae6f5['manifests']['reduce']((_0x3b0d71,_0x34cb73)=>_0x3b0d71+(_0x34cb73[_0xee939f(0x16b)]?.[_0xee939f(0x14d)][_0xee939f(0x17b)]??0x0),0x0),'services':_0x3ae6f5[_0xee939f(0x15f)][_0xee939f(0x16f)](summarizeLoadedManifest),'warnings':_0x3ae6f5[_0xee939f(0x162)]['warnings']},'message':_0xee939f(0x179)};return{'ok':!![],'data':{'file':_0x3ae6f5[_0xee939f(0x163)],'hash':_0x3ae6f5[_0xee939f(0x156)],'kind':_0x3ae6f5[_0xee939f(0x155)],'service':_0x3ae6f5[_0xee939f(0x16b)]?.[_0xee939f(0x17d)],'version':_0x3ae6f5[_0xee939f(0x16b)]?.['version'],'commandCount':_0x3ae6f5['normalizedManifest']?.[_0xee939f(0x14d)][_0xee939f(0x17b)]??0x0,'commands':_0x3ae6f5['normalizedManifest']?.[_0xee939f(0x14d)][_0xee939f(0x16f)](_0x564d70=>({'path':_0x564d70['cliPath'],'risk':_0x564d70[_0xee939f(0x182)],'target':toPublicServiceTreeTarget(_0x564d70[_0xee939f(0x157)])})),'warnings':_0x3ae6f5['report']['warnings']},'message':_0xee939f(0x17a)};}},{'service':a64_0x78f80a(0x17d),'command':a64_0x78f80a(0x18d),'description':a64_0x78f80a(0x171),'risk':a64_0x78f80a(0x172),'confirmationDescription':a64_0x78f80a(0x15b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x1e9630){const _0x427568=a64_0x78f80a,_0x2ece74=loadServiceManifestFromFile(_0x1e9630[_0x427568(0x16e)]('file'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x2ece74['filePath'],'hash':_0x2ece74[_0x427568(0x156)],'kind':_0x2ece74['kind'],'ok':_0x2ece74[_0x427568(0x162)]['ok'],'service':_0x2ece74['normalizedManifest']?.[_0x427568(0x17d)],'version':_0x2ece74['normalizedManifest']?.[_0x427568(0x14e)],'serviceCount':_0x2ece74[_0x427568(0x15f)][_0x427568(0x17b)],'services':_0x2ece74[_0x427568(0x15f)][_0x427568(0x16f)](_0x10f902=>({'service':_0x10f902[_0x427568(0x16b)]?.['service'],'version':_0x10f902[_0x427568(0x16b)]?.[_0x427568(0x14e)],'commandCount':_0x10f902[_0x427568(0x16b)]?.[_0x427568(0x14d)][_0x427568(0x17b)]??0x0,'errors':_0x10f902[_0x427568(0x162)]['errors']})),'errors':_0x2ece74[_0x427568(0x162)]['errors'],'commandCount':_0x2ece74[_0x427568(0x16b)]?.[_0x427568(0x14d)][_0x427568(0x17b)]??0x0},'description':_0x427568(0x176)};},async 'execute'(_0x2b6c75){const _0x761b80=a64_0x78f80a,_0x46b816=importServiceManifest(_0x2b6c75['str'](_0x761b80(0x159)));if(_0x46b816[_0x761b80(0x165)][_0x761b80(0x17b)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x46b816[_0x761b80(0x15d)],'imported':_0x46b816[_0x761b80(0x18f)],'updated':_0x46b816[_0x761b80(0x152)],'serviceCount':_0x46b816[_0x761b80(0x164)],'services':_0x46b816[_0x761b80(0x165)]['map'](summarizeService)},'message':'Imported\x20'+_0x46b816[_0x761b80(0x18f)]+_0x761b80(0x174)+_0x46b816[_0x761b80(0x152)]+_0x761b80(0x15c)};return{'ok':!![],'data':{'registryPath':_0x46b816[_0x761b80(0x15d)],'replaced':_0x46b816['replaced'],'imported':_0x46b816[_0x761b80(0x18f)],'updated':_0x46b816['updated'],'serviceCount':_0x46b816[_0x761b80(0x164)],'service':summarizeService(_0x46b816[_0x761b80(0x185)])},'message':(_0x46b816[_0x761b80(0x15e)]?_0x761b80(0x18c):_0x761b80(0x184))+_0x761b80(0x154)+_0x46b816[_0x761b80(0x185)][_0x761b80(0x187)]+'.'};}},{'service':a64_0x78f80a(0x17d),'command':a64_0x78f80a(0x188),'description':a64_0x78f80a(0x170),'risk':a64_0x78f80a(0x172),'confirmationDescription':'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.','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x539101){const _0x21d45f=a64_0x78f80a,_0x357342=getLocalServiceEntry(_0x539101[_0x21d45f(0x16e)](_0x21d45f(0x17d)));return{'method':_0x21d45f(0x169),'url':_0x539101[_0x21d45f(0x16e)]('file'),'body':{'service':_0x539101[_0x21d45f(0x16e)](_0x21d45f(0x17d)),'found':Boolean(_0x357342),'version':_0x357342?.[_0x21d45f(0x14e)],'source':_0x357342?.[_0x21d45f(0x189)]},'description':_0x21d45f(0x14f)};},async 'execute'(_0x414703){const _0x412498=a64_0x78f80a,_0x27f69c=exportServiceManifest(_0x414703[_0x412498(0x16e)](_0x412498(0x17d)),_0x414703[_0x412498(0x16e)](_0x412498(0x159)));return{'ok':!![],'data':{'registryPath':_0x27f69c[_0x412498(0x15d)],'file':_0x27f69c[_0x412498(0x163)],'service':summarizeService(_0x27f69c[_0x412498(0x185)])},'message':_0x412498(0x151)+_0x27f69c[_0x412498(0x185)][_0x412498(0x187)]+'.'};}},{'service':a64_0x78f80a(0x17d),'command':'list','description':a64_0x78f80a(0x18e),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xc251c7=a64_0x78f80a,_0x3d1801=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3d1801[_0xc251c7(0x17b)],'services':_0x3d1801[_0xc251c7(0x16f)](summarizeService)}};}},{'service':a64_0x78f80a(0x17d),'command':'remove','description':a64_0x78f80a(0x181),'risk':a64_0x78f80a(0x172),'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'(_0x2eb6cb){const _0x3f6f4e=a64_0x78f80a,_0x4ae1bb=getLocalServiceEntry(_0x2eb6cb[_0x3f6f4e(0x16e)](_0x3f6f4e(0x17d)));return{'method':_0x3f6f4e(0x169),'url':getServiceRegistryPath(),'body':{'service':_0x2eb6cb[_0x3f6f4e(0x16e)](_0x3f6f4e(0x17d)),'found':Boolean(_0x4ae1bb),'version':_0x4ae1bb?.['version'],'source':_0x4ae1bb?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x3f8021){const _0x532f90=a64_0x78f80a,_0x5a477a=removeServiceManifest(_0x3f8021[_0x532f90(0x16e)](_0x532f90(0x17d)));return{'ok':!![],'data':{'registryPath':_0x5a477a[_0x532f90(0x15d)],'serviceCount':_0x5a477a[_0x532f90(0x164)],'service':summarizeService(_0x5a477a[_0x532f90(0x185)])},'message':'Removed\x20service\x20'+_0x5a477a[_0x532f90(0x185)][_0x532f90(0x187)]+'.'};}},{'service':a64_0x78f80a(0x17d),'command':'detail','description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a64_0x78f80a(0x168),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x102bdb){const _0x2b4651=a64_0x78f80a,_0x251c59=getLocalServiceEntry(_0x102bdb[_0x2b4651(0x16e)]('service'));if(!_0x251c59)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x102bdb[_0x2b4651(0x16e)](_0x2b4651(0x17d))},'message':_0x2b4651(0x14c)+_0x102bdb[_0x2b4651(0x16e)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x251c59),'manifest':_0x251c59[_0x2b4651(0x192)],'normalizedManifest':toPublicNormalizedServiceTree(_0x251c59['normalizedManifest'])}};}}];function a64_0x3448(){const _0x3fdb49=['filePath','serviceCount','entries','name','lower\x20kebab-case\x20service\x20code','read','WRITE','flags','normalizedManifest','12738tLFgIR','registryIndex','str','map','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','write','308432nfeDto','\x20service(s),\x20updated\x20','10073gqHJzU','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','1899315jRZYLR','4438640WegxxT','Service\x20registry\x20validation\x20passed.','Service\x20manifest\x20validation\x20passed.','length','68788bafMqd','service','registryServiceCode','cliPath','string','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','risk','518872rGeDwi','Imported','entry','description','serviceCode','export','source','registry','importedAt','Updated','import','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','imported','Service\x20Tree\x20manifest\x20file\x20path','Local\x20service\x20code,\x20for\x20example\x20crm','manifest','Local\x20service\x20not\x20found:\x20','commands','version','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Exported\x20service\x20','updated','1362zAWvEw','\x20service\x20','kind','hash','target','validate','file','required','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.','\x20service(s).','registryPath','replaced','manifests','errors','warnings','report'];a64_0x3448=function(){return _0x3fdb49;};return a64_0x3448();}