@lovrabet/lovrabet-cli 2.3.0-beta.5 → 2.3.0

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 (168) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.js +1 -1
  25. package/lib/commands/config/shared.js +1 -1
  26. package/lib/commands/data/index.js +1 -1
  27. package/lib/commands/dataset/detail.js +1 -1
  28. package/lib/commands/dataset/index.js +1 -1
  29. package/lib/commands/dataset/list.js +1 -1
  30. package/lib/commands/dataset/sdk-doc.js +1 -1
  31. package/lib/commands/doctor.js +1 -1
  32. package/lib/commands/file/index.js +1 -1
  33. package/lib/commands/init.js +1 -1
  34. package/lib/commands/kb/index.js +1 -1
  35. package/lib/commands/logs/index.js +1 -1
  36. package/lib/commands/notification/config-list.js +1 -1
  37. package/lib/commands/notification/index.js +1 -1
  38. package/lib/commands/notification/shared.js +1 -1
  39. package/lib/commands/ocr/index.js +1 -1
  40. package/lib/commands/permit/dataset-get.js +1 -1
  41. package/lib/commands/permit/dataset-set.js +1 -1
  42. package/lib/commands/permit/index.js +1 -1
  43. package/lib/commands/permit/page-get.js +1 -1
  44. package/lib/commands/permit/page-set.js +1 -1
  45. package/lib/commands/permit/role-menus-set.js +1 -1
  46. package/lib/commands/permit/role-menus.js +1 -1
  47. package/lib/commands/permit/shared.js +1 -1
  48. package/lib/commands/personal-bff/index.js +1 -1
  49. package/lib/commands/registry.js +1 -1
  50. package/lib/commands/role/create.js +1 -1
  51. package/lib/commands/role/delete.js +1 -1
  52. package/lib/commands/role/detail.js +1 -1
  53. package/lib/commands/role/index.js +1 -1
  54. package/lib/commands/role/list.js +1 -1
  55. package/lib/commands/role/shared.js +1 -1
  56. package/lib/commands/role/update.js +1 -1
  57. package/lib/commands/role/user-add.js +1 -1
  58. package/lib/commands/role/user-remove.js +1 -1
  59. package/lib/commands/schedule/index.js +1 -1
  60. package/lib/commands/schema.js +1 -1
  61. package/lib/commands/service/dynamic.js +1 -1
  62. package/lib/commands/service/function-name-adapter.js +1 -1
  63. package/lib/commands/service/index.js +1 -1
  64. package/lib/commands/service/registry.js +1 -1
  65. package/lib/commands/skill/commands/create.js +1 -1
  66. package/lib/commands/skill/commands/diagram.js +1 -1
  67. package/lib/commands/skill/commands/install.js +1 -1
  68. package/lib/commands/skill/commands/list.js +1 -1
  69. package/lib/commands/skill/commands/push.js +1 -1
  70. package/lib/commands/skill/commands/validate.js +1 -1
  71. package/lib/commands/skill/diagram.js +1 -1
  72. package/lib/commands/skill/flags.js +1 -1
  73. package/lib/commands/skill/index.js +1 -1
  74. package/lib/commands/skill/manifest-helpers.js +1 -1
  75. package/lib/commands/skill/push-execute.js +1 -1
  76. package/lib/commands/skill/push-flow-helpers.js +1 -1
  77. package/lib/commands/skill/push-retarget.js +1 -1
  78. package/lib/commands/skill/scopes.js +1 -1
  79. package/lib/commands/skill/summary.js +1 -1
  80. package/lib/commands/skill/templates.js +1 -1
  81. package/lib/commands/skill/validate.js +1 -1
  82. package/lib/commands/sql/detail.js +1 -1
  83. package/lib/commands/sql/exec.js +1 -1
  84. package/lib/commands/sql/index.js +1 -1
  85. package/lib/commands/update.js +1 -1
  86. package/lib/commands/user-account/bind.js +1 -1
  87. package/lib/commands/user-account/index.js +1 -1
  88. package/lib/commands/workspace/index.js +1 -1
  89. package/lib/config/domain-config.js +1 -1
  90. package/lib/config/schema.d.ts +1 -1
  91. package/lib/config/schema.js +1 -1
  92. package/lib/constant/app.js +1 -1
  93. package/lib/constant/auth-mode.js +1 -1
  94. package/lib/constant/cli.js +1 -1
  95. package/lib/constant/defaults.js +1 -1
  96. package/lib/constant/distribution.js +1 -1
  97. package/lib/constant/domain.js +1 -1
  98. package/lib/constant/env.js +1 -1
  99. package/lib/constant/output.js +1 -1
  100. package/lib/constant/product.js +1 -1
  101. package/lib/constant/region.js +1 -1
  102. package/lib/constant/risk.js +1 -1
  103. package/lib/constant/url.js +1 -1
  104. package/lib/context.d.ts +2 -0
  105. package/lib/context.js +1 -1
  106. package/lib/core/api-client.js +1 -1
  107. package/lib/core/db-resolver.js +1 -1
  108. package/lib/core/sdk-client.js +1 -1
  109. package/lib/errors.d.ts +1 -0
  110. package/lib/errors.js +1 -1
  111. package/lib/framework/build-all-flags.js +1 -1
  112. package/lib/framework/dryrun.js +1 -1
  113. package/lib/framework/flags.js +1 -1
  114. package/lib/framework/help.js +1 -1
  115. package/lib/framework/index.js +1 -1
  116. package/lib/framework/output.js +1 -1
  117. package/lib/framework/preparse.js +1 -1
  118. package/lib/framework/rate-limit.js +1 -1
  119. package/lib/framework/raw-flags.js +1 -1
  120. package/lib/framework/response.js +1 -1
  121. package/lib/framework/runner-confirmation.js +1 -1
  122. package/lib/framework/runner-error.js +1 -1
  123. package/lib/framework/runner.d.ts +9 -7
  124. package/lib/framework/runner.js +1 -1
  125. package/lib/framework/schema-export.js +1 -1
  126. package/lib/framework/service-order.js +1 -1
  127. package/lib/framework/types.js +1 -1
  128. package/lib/generated/build-info.d.ts +4 -4
  129. package/lib/generated/build-info.js +1 -1
  130. package/lib/help.js +1 -1
  131. package/lib/postinstall.js +1 -1
  132. package/lib/runtime/confirmation.js +1 -1
  133. package/lib/runtime/event.js +1 -1
  134. package/lib/runtime/index.js +1 -1
  135. package/lib/runtime/queue.js +1 -1
  136. package/lib/runtime/resolve.js +1 -1
  137. package/lib/skills/builtin-skill.js +1 -1
  138. package/lib/skills/npx-skills-add.js +1 -1
  139. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  140. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  141. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  142. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  143. package/lib/skills/runtime-skill-sync/links.js +1 -1
  144. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  145. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  146. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  147. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  148. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  149. package/lib/skills/runtime-skill-sync/push.js +1 -1
  150. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  151. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  152. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  153. package/lib/skills/runtime-skill-sync.js +1 -1
  154. package/lib/skills/skill-presence.js +1 -1
  155. package/lib/utils/access-key-redaction.js +1 -1
  156. package/lib/utils/apply-jq-filter.js +1 -1
  157. package/lib/utils/cli-version-check.js +1 -1
  158. package/lib/utils/cli-version-policy.js +1 -1
  159. package/lib/utils/logger.js +1 -1
  160. package/lib/utils/lossless-json.js +1 -1
  161. package/lib/utils/params.js +1 -1
  162. package/lib/utils/platform.js +1 -1
  163. package/lib/utils/update-notice.js +1 -1
  164. package/lib/utils/version.js +1 -1
  165. package/lib/utils/write-cli-side-channel.js +1 -1
  166. package/package.json +1 -1
  167. package/skills/lovrabet/SKILL.md +1 -1
  168. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- function a56_0x15ef(){const _0x3d221f=['roleList','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.','build','user-add','userId','appCode','441RwpopX','3187065qKYNYp','820904bCCMcC','shouldWrite','28088EtSraB','POST','body','Preview:\x20add\x20runtime\x20role\x20member','warnings','high-risk-write','238953djOaMg','description','573582qyEDHD','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','before','549076IFTnuO','1473686mEMqNe','3juhort','role'];a56_0x15ef=function(){return _0x3d221f;};return a56_0x15ef();}function a56_0x1164(_0x472ad4,_0x343302){_0x472ad4=_0x472ad4-0x10d;const _0x15ef81=a56_0x15ef();let _0x1164af=_0x15ef81[_0x472ad4];return _0x1164af;}const a56_0x24f885=a56_0x1164;(function(_0x172aa5,_0xcdeeee){const _0xa34819=a56_0x1164,_0x2f6b70=_0x172aa5();while(!![]){try{const _0xf8dc5b=parseInt(_0xa34819(0x113))/0x1+parseInt(_0xa34819(0x119))/0x2*(parseInt(_0xa34819(0x11a))/0x3)+parseInt(_0xa34819(0x118))/0x4+-parseInt(_0xa34819(0x123))/0x5+-parseInt(_0xa34819(0x115))/0x6+-parseInt(_0xa34819(0x124))/0x7+-parseInt(_0xa34819(0x10d))/0x8*(-parseInt(_0xa34819(0x122))/0x9);if(_0xf8dc5b===_0xcdeeee)break;else _0x2f6b70['push'](_0x2f6b70['shift']());}catch(_0x1d7c77){_0x2f6b70['push'](_0x2f6b70['shift']());}}}(a56_0x15ef,0x6a286));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a56_0x24f885(0x11b),'command':a56_0x24f885(0x11f),'description':a56_0x24f885(0x116),'risk':a56_0x24f885(0x112),'confirmationDescription':a56_0x24f885(0x11d),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x202e25){const _0x4734b0=a56_0x24f885,_0x1dafc5=await prepareRuntimeMemberMutation(_0x202e25,'user-add');return dryRun(_0x4734b0(0x10e),'/client/permit/user-role/update-user-list')[_0x4734b0(0x10f)]({'appCode':_0x202e25[_0x4734b0(0x121)],'roleList':_0x1dafc5['roleList']})[_0x4734b0(0x114)](_0x1dafc5[_0x4734b0(0x125)]?_0x4734b0(0x110):_0x1dafc5[_0x4734b0(0x111)][0x0])[_0x4734b0(0x11e)]();},async 'execute'(_0x2cf636){const _0x5b9403=a56_0x24f885,_0x3c063d=await prepareRuntimeMemberMutation(_0x2cf636,_0x5b9403(0x11f));return _0x3c063d[_0x5b9403(0x125)]&&await updateRuntimeRoleUsers(_0x2cf636['appCode'],_0x3c063d[_0x5b9403(0x11c)]),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x3c063d['role']['id'],'userId':_0x3c063d[_0x5b9403(0x120)]},_0x3c063d[_0x5b9403(0x117)],_0x3c063d['after'],{'method':'POST','path':'/client/permit/user-role/update-user-list'},_0x3c063d['warnings'])};}};
1
+ function a56_0x1d63(_0x41d070,_0x253421){_0x41d070=_0x41d070-0x1ca;const _0x41528b=a56_0x4152();let _0x1d63e1=_0x41528b[_0x41d070];return _0x1d63e1;}function a56_0x4152(){const _0x5b9a2e=['warnings','/client/permit/user-role/update-user-list','appCode','2TuZSSw','295936rFfFEL','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','1982975akrmtW','2154430EkSDIv','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.','user-add','description','high-risk-write','POST','4KdCpAJ','after','before','roleList','role','build','userId','144tXCEzH','4297612fLExLt','11334JloJiI','98877tqxYhu','651FXjxpg','shouldWrite','479235jfCmVw'];a56_0x4152=function(){return _0x5b9a2e;};return a56_0x4152();}const a56_0x2c1e57=a56_0x1d63;(function(_0x1b2155,_0xf56361){const _0x4708ac=a56_0x1d63,_0x4bc461=_0x1b2155();while(!![]){try{const _0x565eb2=-parseInt(_0x4708ac(0x1cb))/0x1*(-parseInt(_0x4708ac(0x1cf))/0x2)+-parseInt(_0x4708ac(0x1e3))/0x3*(-parseInt(_0x4708ac(0x1d9))/0x4)+parseInt(_0x4708ac(0x1d2))/0x5+parseInt(_0x4708ac(0x1e2))/0x6*(parseInt(_0x4708ac(0x1e4))/0x7)+-parseInt(_0x4708ac(0x1d0))/0x8*(parseInt(_0x4708ac(0x1e0))/0x9)+parseInt(_0x4708ac(0x1d3))/0xa+-parseInt(_0x4708ac(0x1e1))/0xb;if(_0x565eb2===_0xf56361)break;else _0x4bc461['push'](_0x4bc461['shift']());}catch(_0x4da0a3){_0x4bc461['push'](_0x4bc461['shift']());}}}(a56_0x4152,0x4d7a1));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':'role','command':a56_0x2c1e57(0x1d5),'description':a56_0x2c1e57(0x1d1),'risk':a56_0x2c1e57(0x1d7),'confirmationDescription':a56_0x2c1e57(0x1d4),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x3d99c7){const _0x3b48d9=a56_0x2c1e57,_0x5b4b99=await prepareRuntimeMemberMutation(_0x3d99c7,_0x3b48d9(0x1d5));return dryRun('POST',_0x3b48d9(0x1cd))['body']({'appCode':_0x3d99c7['appCode'],'roleList':_0x5b4b99['roleList']})[_0x3b48d9(0x1d6)](_0x5b4b99['shouldWrite']?'Preview:\x20add\x20runtime\x20role\x20member':_0x5b4b99[_0x3b48d9(0x1cc)][0x0])[_0x3b48d9(0x1de)]();},async 'execute'(_0xe7d6b9){const _0x3e5d18=a56_0x2c1e57,_0x41cc7c=await prepareRuntimeMemberMutation(_0xe7d6b9,'user-add');return _0x41cc7c[_0x3e5d18(0x1ca)]&&await updateRuntimeRoleUsers(_0xe7d6b9[_0x3e5d18(0x1ce)],_0x41cc7c[_0x3e5d18(0x1dc)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x3e5d18(0x1d5),{'roleId':_0x41cc7c[_0x3e5d18(0x1dd)]['id'],'userId':_0x41cc7c[_0x3e5d18(0x1df)]},_0x41cc7c[_0x3e5d18(0x1db)],_0x41cc7c[_0x3e5d18(0x1da)],{'method':_0x3e5d18(0x1d8),'path':_0x3e5d18(0x1cd)},_0x41cc7c[_0x3e5d18(0x1cc)])};}};
@@ -1 +1 @@
1
- function a57_0x2809(){const _0x403699=['description','2347765EZuXbo','1044690NnWUBw','roleList','userId','2699874DArfUk','12dCCEor','Preview:\x20remove\x20runtime\x20role\x20member','appCode','warnings','892503gLGPJj','body','14zVJyuG','/client/permit/user-role/update-user-list','1531593DGqFbR','role','20gMsGqA','4AwfvpO','32260316KBZgLt','POST','3967936kvURvV','user-remove','shouldWrite'];a57_0x2809=function(){return _0x403699;};return a57_0x2809();}const a57_0x2caa3d=a57_0x4595;function a57_0x4595(_0x390a3d,_0x486941){_0x390a3d=_0x390a3d-0x108;const _0x2809fd=a57_0x2809();let _0x4595de=_0x2809fd[_0x390a3d];return _0x4595de;}(function(_0x563b4b,_0x31518b){const _0x2526b9=a57_0x4595,_0x2b4a37=_0x563b4b();while(!![]){try{const _0x505cc3=parseInt(_0x2526b9(0x111))/0x1+parseInt(_0x2526b9(0x109))/0x2*(parseInt(_0x2526b9(0x119))/0x3)+-parseInt(_0x2526b9(0x115))/0x4*(-parseInt(_0x2526b9(0x110))/0x5)+parseInt(_0x2526b9(0x114))/0x6*(parseInt(_0x2526b9(0x11b))/0x7)+-parseInt(_0x2526b9(0x10c))/0x8+parseInt(_0x2526b9(0x11d))/0x9*(parseInt(_0x2526b9(0x108))/0xa)+-parseInt(_0x2526b9(0x10a))/0xb;if(_0x505cc3===_0x31518b)break;else _0x2b4a37['push'](_0x2b4a37['shift']());}catch(_0x5121f4){_0x2b4a37['push'](_0x2b4a37['shift']());}}}(a57_0x2809,0xd1f0b));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':'role','command':a57_0x2caa3d(0x10d),'description':'Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','risk':'high-risk-write','confirmationDescription':'Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x7eeb2a){const _0x105deb=a57_0x2caa3d,_0x1c04ec=await prepareRuntimeMemberMutation(_0x7eeb2a,_0x105deb(0x10d));return dryRun('POST',_0x105deb(0x11c))[_0x105deb(0x11a)]({'appCode':_0x7eeb2a[_0x105deb(0x117)],'roleList':_0x1c04ec['roleList']})[_0x105deb(0x10f)](_0x1c04ec[_0x105deb(0x10e)]?_0x105deb(0x116):_0x1c04ec[_0x105deb(0x118)][0x0])['build']();},async 'execute'(_0x4ddb05){const _0x5db855=a57_0x2caa3d,_0x39b1d1=await prepareRuntimeMemberMutation(_0x4ddb05,_0x5db855(0x10d));return _0x39b1d1[_0x5db855(0x10e)]&&await updateRuntimeRoleUsers(_0x4ddb05[_0x5db855(0x117)],_0x39b1d1[_0x5db855(0x112)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x5db855(0x10d),{'roleId':_0x39b1d1[_0x5db855(0x11e)]['id'],'userId':_0x39b1d1[_0x5db855(0x113)]},_0x39b1d1['before'],_0x39b1d1['after'],{'method':_0x5db855(0x10b),'path':_0x5db855(0x11c)},_0x39b1d1[_0x5db855(0x118)])};}};
1
+ function a57_0x4108(){const _0x4f3478=['9198080swIpWi','940035nYjwlx','336892ehsWDK','shouldWrite','2619368jtMkkO','user-remove','high-risk-write','appCode','roleList','110810OLntVd','body','1337517QmPLCM','30NdjDkA','userId','88UGEbyr','4095993MUHOWt','3OzDDJo','warnings','POST','/client/permit/user-role/update-user-list','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','Preview:\x20remove\x20runtime\x20role\x20member','2XJrFon','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','build','role'];a57_0x4108=function(){return _0x4f3478;};return a57_0x4108();}const a57_0x3b60b9=a57_0x3a89;(function(_0x529987,_0x54e614){const _0x438a9a=a57_0x3a89,_0x4d3f55=_0x529987();while(!![]){try{const _0x57b522=parseInt(_0x438a9a(0x7b))/0x1*(parseInt(_0x438a9a(0x8f))/0x2)+parseInt(_0x438a9a(0x89))/0x3*(parseInt(_0x438a9a(0x7d))/0x4)+-parseInt(_0x438a9a(0x7a))/0x5*(-parseInt(_0x438a9a(0x85))/0x6)+-parseInt(_0x438a9a(0x82))/0x7*(parseInt(_0x438a9a(0x87))/0x8)+parseInt(_0x438a9a(0x84))/0x9+-parseInt(_0x438a9a(0x79))/0xa+-parseInt(_0x438a9a(0x88))/0xb;if(_0x57b522===_0x54e614)break;else _0x4d3f55['push'](_0x4d3f55['shift']());}catch(_0x7a0afa){_0x4d3f55['push'](_0x4d3f55['shift']());}}}(a57_0x4108,0x95ec1));import{updateRuntimeRoleUsers}from'../../core/api-client.js';function a57_0x3a89(_0x431ba1,_0x279f98){_0x431ba1=_0x431ba1-0x76;const _0x41084b=a57_0x4108();let _0x3a8917=_0x41084b[_0x431ba1];return _0x3a8917;}import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a57_0x3b60b9(0x78),'command':a57_0x3b60b9(0x7e),'description':a57_0x3b60b9(0x8d),'risk':a57_0x3b60b9(0x7f),'confirmationDescription':a57_0x3b60b9(0x76),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x435b01){const _0xa7e549=a57_0x3b60b9,_0x21aee7=await prepareRuntimeMemberMutation(_0x435b01,_0xa7e549(0x7e));return dryRun(_0xa7e549(0x8b),'/client/permit/user-role/update-user-list')[_0xa7e549(0x83)]({'appCode':_0x435b01[_0xa7e549(0x80)],'roleList':_0x21aee7[_0xa7e549(0x81)]})['description'](_0x21aee7[_0xa7e549(0x7c)]?_0xa7e549(0x8e):_0x21aee7['warnings'][0x0])[_0xa7e549(0x77)]();},async 'execute'(_0x55af84){const _0x165e44=a57_0x3b60b9,_0x2aebf8=await prepareRuntimeMemberMutation(_0x55af84,'user-remove');return _0x2aebf8['shouldWrite']&&await updateRuntimeRoleUsers(_0x55af84[_0x165e44(0x80)],_0x2aebf8['roleList']),{'ok':!![],'data':runtimeRoleWriteResult(_0x165e44(0x7e),{'roleId':_0x2aebf8[_0x165e44(0x78)]['id'],'userId':_0x2aebf8[_0x165e44(0x86)]},_0x2aebf8['before'],_0x2aebf8['after'],{'method':_0x165e44(0x8b),'path':_0x165e44(0x8c)},_0x2aebf8[_0x165e44(0x8a)])};}};
@@ -1 +1 @@
1
- const a58_0xf58dc8=a58_0x5a57;(function(_0x157d82,_0xe2f02a){const _0x3b4bf3=a58_0x5a57,_0x5c7f85=_0x157d82();while(!![]){try{const _0x36b5db=parseInt(_0x3b4bf3(0x1b7))/0x1*(parseInt(_0x3b4bf3(0x1da))/0x2)+parseInt(_0x3b4bf3(0x1d3))/0x3+-parseInt(_0x3b4bf3(0x1f2))/0x4+-parseInt(_0x3b4bf3(0x1e4))/0x5*(-parseInt(_0x3b4bf3(0x1b3))/0x6)+parseInt(_0x3b4bf3(0x1c7))/0x7*(-parseInt(_0x3b4bf3(0x1c5))/0x8)+-parseInt(_0x3b4bf3(0x1c1))/0x9*(parseInt(_0x3b4bf3(0x1b9))/0xa)+-parseInt(_0x3b4bf3(0x1e3))/0xb*(-parseInt(_0x3b4bf3(0x1ea))/0xc);if(_0x36b5db===_0xe2f02a)break;else _0x5c7f85['push'](_0x5c7f85['shift']());}catch(_0x167eb3){_0x5c7f85['push'](_0x5c7f85['shift']());}}}(a58_0xd195,0x1aca1));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a58_0xd195(){const _0x3cec3c=['high-risk-write','kind','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','list','Deleted\x20schedule\x20','body','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','trim','998826HDCGxe','build','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','2AaCEAs','\x20from\x20schedule\x20','6860MozUWK','create','appCode','cron','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','UTC','Preview:\x20create\x20an\x20Agent\x20schedule','2826bJBcxJ','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','Schedule\x20title','str','148216LXfrtS','Queued\x20Task\x20','49cfmPPj','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','limit','validation','Preview:\x20run\x20schedule\x20','schedule-id','taskId','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','num','schedule','37095wFUdAG','length','Schedule\x20kind:\x20CRON\x20or\x20ONCE','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','ONCE','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','157426OapYbX','--title\x20must\x20not\x20be\x20blank.','description','DELETE','kimi/k3','read','/run','scheduleId','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','22DKTrDW','5VMNQmc','delete','prompt','Created\x20','cursor','validate','1200612QEHhrd','/api/harness/apps/','title','detail','scheduled-at','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','CRON','deepseek-v4-flash-0731','326168JIVyWL','--prompt\x20must\x20not\x20be\x20blank.','run','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','string','Schedule\x20input\x20is\x20valid'];a58_0xd195=function(){return _0x3cec3c;};return a58_0xd195();}import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a58_0xf58dc8(0x1fa),'type':a58_0xf58dc8(0x1f7),'required':!![],'enum':[a58_0xf58dc8(0x1f0),'ONCE'],'description':a58_0xf58dc8(0x1d5)},CRON_FLAG={'name':'cron','type':a58_0xf58dc8(0x1f7),'description':a58_0xf58dc8(0x1f6)},SCHEDULED_AT_FLAG={'name':a58_0xf58dc8(0x1ee),'type':a58_0xf58dc8(0x1f7),'description':a58_0xf58dc8(0x1b5)},TITLE_FLAG={'name':a58_0xf58dc8(0x1ec),'type':'string','required':!![],'description':a58_0xf58dc8(0x1c3)},PROMPT_FLAG={'name':a58_0xf58dc8(0x1e6),'type':a58_0xf58dc8(0x1f7),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':'model','type':a58_0xf58dc8(0x1f7),'enum':[a58_0xf58dc8(0x1de),a58_0xf58dc8(0x1f1),a58_0xf58dc8(0x1d0)],'default':a58_0xf58dc8(0x1f1),'description':a58_0xf58dc8(0x1b6)},SCHEDULE_ID_FLAG={'name':a58_0xf58dc8(0x1cc),'type':'string','required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a58_0xf58dc8(0x1c2)}},LIMIT_FLAG={'name':a58_0xf58dc8(0x1c9),'type':'number','default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a58_0xf58dc8(0x1e8),'type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x12164f){const _0x420f66=a58_0xf58dc8,_0x4083ef=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1fa)),_0x9403e=_0x12164f['str'](_0x420f66(0x1ec))[_0x420f66(0x1b2)](),_0x6f028f=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1e6))[_0x420f66(0x1b2)](),_0x3fe5ee=_0x12164f[_0x420f66(0x1c4)]('model'),_0x2681a7=_0x12164f[_0x420f66(0x1c4)](_0x420f66(0x1bc)),_0x5f388a=_0x12164f['str'](_0x420f66(0x1ee));if(!_0x9403e)throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1db));if(!_0x6f028f)throw CliErrors['validation'](_0x420f66(0x1f3));if(_0x4083ef===_0x420f66(0x1f0)){if(!_0x2681a7||_0x5f388a)throw CliErrors['validation'](_0x420f66(0x1d6));return{'kind':_0x4083ef,'timezone':_0x420f66(0x1bf),'cron':_0x2681a7,'title':_0x9403e,'prompt':_0x6f028f,'model':_0x3fe5ee};}if(_0x4083ef===_0x420f66(0x1d8)){if(!_0x5f388a||_0x2681a7)throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1f5));return{'kind':_0x4083ef,'timezone':_0x420f66(0x1bf),'scheduledAt':_0x5f388a,'title':_0x9403e,'prompt':_0x6f028f,'model':_0x3fe5ee};}throw CliErrors[_0x420f66(0x1ca)](_0x420f66(0x1b1));}function scheduleCollectionPath(_0x515dd1){const _0xb4db3f=a58_0xf58dc8;return _0xb4db3f(0x1eb)+encodeURIComponent(_0x515dd1)+'/schedules';}function scheduleItemPath(_0x2a10e6,_0x4c42a2){return scheduleCollectionPath(_0x2a10e6)+'/'+encodeURIComponent(_0x4c42a2);}const scheduleValidate={'service':'schedule','command':a58_0xf58dc8(0x1e9),'description':a58_0xf58dc8(0x1d9),'risk':a58_0xf58dc8(0x1df),'flags':INPUT_FLAGS,async 'validate'(_0x1dc133){readScheduleInput(_0x1dc133);},async 'execute'(_0x36a582){const _0x505393=a58_0xf58dc8,_0x360a2c=readScheduleInput(_0x36a582),_0x2bfea8=await validateRuntimeSchedule(_0x36a582[_0x505393(0x1bb)],_0x360a2c);return{'ok':!![],'data':_0x2bfea8,'message':_0x505393(0x1f8)};}},scheduleCreate={'service':'schedule','command':a58_0xf58dc8(0x1ba),'description':a58_0xf58dc8(0x1ef),'risk':'high-risk-write','confirmationDescription':a58_0xf58dc8(0x1fb),'flags':INPUT_FLAGS,async 'validate'(_0x3eabc1){readScheduleInput(_0x3eabc1);},async 'execute'(_0x258bcc){const _0xf0c438=a58_0xf58dc8,_0xe1b12a=readScheduleInput(_0x258bcc),_0x5198c7=await validateRuntimeSchedule(_0x258bcc[_0xf0c438(0x1bb)],_0xe1b12a),_0x545d27=await createRuntimeSchedule(_0x258bcc[_0xf0c438(0x1bb)],_0x5198c7);return{'ok':!![],'data':_0x545d27,'message':_0xf0c438(0x1e7)+_0x545d27[_0xf0c438(0x1fa)]+'\x20schedule\x20'+_0x545d27[_0xf0c438(0x1e1)]};},async 'dryRun'(_0x2d2ece){const _0xecea40=a58_0xf58dc8,_0x296ed6=readScheduleInput(_0x2d2ece);return dryRun('POST',scheduleCollectionPath(_0x2d2ece[_0xecea40(0x1bb)]))[_0xecea40(0x1b0)](_0x296ed6)[_0xecea40(0x1dc)](_0xecea40(0x1c0))[_0xecea40(0x1b4)]();}},scheduleList={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1ae),'description':a58_0xf58dc8(0x1ce),'risk':a58_0xf58dc8(0x1df),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3463eb){const _0x38fd68=a58_0xf58dc8,_0x6988f=_0x3463eb[_0x38fd68(0x1d1)](_0x38fd68(0x1c9));if(!Number['isSafeInteger'](_0x6988f)||_0x6988f<0x1||_0x6988f>0x64)throw CliErrors['validation'](_0x38fd68(0x1e2));const _0x8f64cd=_0x3463eb[_0x38fd68(0x1c4)](_0x38fd68(0x1e8));if(_0x8f64cd&&(_0x8f64cd[_0x38fd68(0x1d4)]>0x400||_0x8f64cd[_0x38fd68(0x1b2)]()!==_0x8f64cd))throw CliErrors[_0x38fd68(0x1ca)](_0x38fd68(0x1c8));},async 'execute'(_0x4f4501){const _0x5ae9ef=a58_0xf58dc8,_0x3d6abf=_0x4f4501['str']('cursor'),_0x280ad6=await listRuntimeSchedules(_0x4f4501[_0x5ae9ef(0x1bb)],{'kind':_0x4f4501[_0x5ae9ef(0x1c4)](_0x5ae9ef(0x1fa)),'limit':_0x4f4501['num'](_0x5ae9ef(0x1c9)),..._0x3d6abf?{'cursor':_0x3d6abf}:{}});return{'ok':!![],'data':_0x280ad6};}},scheduleDetail={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1ed),'description':'Show\x20one\x20schedule\x20by\x20schedule\x20ID','risk':a58_0xf58dc8(0x1df),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x83fe29){const _0x526dc1=a58_0xf58dc8,_0x53d701=await getRuntimeSchedule(_0x83fe29['appCode'],_0x83fe29[_0x526dc1(0x1c4)](_0x526dc1(0x1cc)));return{'ok':!![],'data':_0x53d701};}},scheduleRun={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1f4),'description':a58_0xf58dc8(0x1bd),'risk':a58_0xf58dc8(0x1f9),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x3ee2a4){const _0x27c461=a58_0xf58dc8,_0x1ef2a3=_0x3ee2a4[_0x27c461(0x1c4)](_0x27c461(0x1cc)),_0x1c0c17=await runRuntimeSchedule(_0x3ee2a4[_0x27c461(0x1bb)],_0x1ef2a3);return{'ok':!![],'data':_0x1c0c17,'message':_0x27c461(0x1c6)+_0x1c0c17[_0x27c461(0x1cd)]+_0x27c461(0x1b8)+_0x1ef2a3};},async 'dryRun'(_0xb89ba2){const _0x332a70=a58_0xf58dc8,_0x4262a2=_0xb89ba2[_0x332a70(0x1c4)](_0x332a70(0x1cc));return dryRun('POST',scheduleItemPath(_0xb89ba2[_0x332a70(0x1bb)],_0x4262a2)+_0x332a70(0x1e0))[_0x332a70(0x1dc)](_0x332a70(0x1cb)+_0x4262a2+'\x20immediately')[_0x332a70(0x1b4)]();}},scheduleDelete={'service':a58_0xf58dc8(0x1d2),'command':a58_0xf58dc8(0x1e5),'description':a58_0xf58dc8(0x1d7),'risk':a58_0xf58dc8(0x1f9),'confirmationDescription':a58_0xf58dc8(0x1be),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x278372){const _0x522641=a58_0xf58dc8,_0x316e95=_0x278372[_0x522641(0x1c4)](_0x522641(0x1cc)),_0x532dbd=await deleteRuntimeSchedule(_0x278372['appCode'],_0x316e95);return{'ok':!![],'data':_0x532dbd,'message':_0x522641(0x1af)+_0x316e95};},async 'dryRun'(_0x55fad2){const _0x4fb841=a58_0xf58dc8,_0x1c36c5=_0x55fad2[_0x4fb841(0x1c4)](_0x4fb841(0x1cc));return dryRun(_0x4fb841(0x1dd),scheduleItemPath(_0x55fad2[_0x4fb841(0x1bb)],_0x1c36c5))[_0x4fb841(0x1dc)](_0x4fb841(0x1cf)+_0x1c36c5)[_0x4fb841(0x1b4)]();}};function a58_0x5a57(_0xfd8485,_0x40a45b){_0xfd8485=_0xfd8485-0x1ae;const _0xd195b1=a58_0xd195();let _0x5a5799=_0xd195b1[_0xfd8485];return _0x5a5799;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
1
+ function a58_0x2db6(){const _0x2b8311=['/api/harness/apps/','1752006WwWXHa','UTC','12824920mBgvYK','716374iMWFYn','Preview:\x20run\x20schedule\x20','string','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','Deleted\x20schedule\x20','\x20immediately','delete','schedule-id','deepseek-v4-flash-0731','high-risk-write','--prompt\x20must\x20not\x20be\x20blank.','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','CRON','\x20from\x20schedule\x20','body','712NqIlwR','cursor','DELETE','num','schedule','cron','POST','kind','limit','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','str','trim','--title\x20must\x20not\x20be\x20blank.','list','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','description','15NElRny','build','4241178jBhvck','scheduled-at','1027660fiLolE','Schedule\x20title','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','validation','title','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','Created\x20','detail','2641324proSHf','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','appCode','Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','create','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','10026dnWJvl','ONCE','Preview:\x20create\x20an\x20Agent\x20schedule','isSafeInteger','read','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','validate','Preview:\x20delete\x20schedule\x20','deepseek-v4-pro-0813','Queued\x20Task\x20','/schedules','Schedule\x20kind:\x20CRON\x20or\x20ONCE','taskId','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','prompt','Show\x20one\x20schedule\x20by\x20schedule\x20ID','2EMoGPn','/run','model','Schedule\x20UUID','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','kimi/k3','\x20schedule\x20'];a58_0x2db6=function(){return _0x2b8311;};return a58_0x2db6();}const a58_0x9bb2c5=a58_0x1184;(function(_0x1ba5af,_0xad1f66){const _0xfe5490=a58_0x1184,_0x300568=_0x1ba5af();while(!![]){try{const _0x2b003e=parseInt(_0xfe5490(0x103))/0x1*(-parseInt(_0xfe5490(0xf8))/0x2)+-parseInt(_0xfe5490(0x100))/0x3+-parseInt(_0xfe5490(0xda))/0x4*(parseInt(_0xfe5490(0xd6))/0x5)+parseInt(_0xfe5490(0xd8))/0x6+parseInt(_0xfe5490(0xe2))/0x7+parseInt(_0xfe5490(0xc6))/0x8*(parseInt(_0xfe5490(0xe8))/0x9)+parseInt(_0xfe5490(0x102))/0xa;if(_0x2b003e===_0xad1f66)break;else _0x300568['push'](_0x300568['shift']());}catch(_0x1b25cd){_0x300568['push'](_0x300568['shift']());}}}(a58_0x2db6,0x605d8));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':'kind','type':a58_0x9bb2c5(0x105),'required':!![],'enum':[a58_0x9bb2c5(0xc3),a58_0x9bb2c5(0xe9)],'description':a58_0x9bb2c5(0xf3)},CRON_FLAG={'name':a58_0x9bb2c5(0xcb),'type':a58_0x9bb2c5(0x105),'description':a58_0x9bb2c5(0xc2)},SCHEDULED_AT_FLAG={'name':a58_0x9bb2c5(0xd9),'type':a58_0x9bb2c5(0x105),'description':a58_0x9bb2c5(0xcf)},TITLE_FLAG={'name':a58_0x9bb2c5(0xde),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xdb)},PROMPT_FLAG={'name':a58_0x9bb2c5(0xf6),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xfc)},MODEL_FLAG={'name':a58_0x9bb2c5(0xfa),'type':a58_0x9bb2c5(0x105),'enum':[a58_0x9bb2c5(0xfd),'deepseek-v4-flash-0731',a58_0x9bb2c5(0xf0)],'default':a58_0x9bb2c5(0xbf),'description':a58_0x9bb2c5(0x106)},SCHEDULE_ID_FLAG={'name':a58_0x9bb2c5(0xbe),'type':a58_0x9bb2c5(0x105),'required':!![],'description':a58_0x9bb2c5(0xfb),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':'a\x20UUID\x20returned\x20by\x20schedule\x20create/list'}},LIMIT_FLAG={'name':a58_0x9bb2c5(0xce),'type':'number','default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a58_0x9bb2c5(0xc7),'type':'string','description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x50686d){const _0x49f031=a58_0x9bb2c5,_0x59d650=_0x50686d['str'](_0x49f031(0xcd)),_0x13d3f6=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xde))[_0x49f031(0xd1)](),_0x4b959f=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xf6))[_0x49f031(0xd1)](),_0x522ac1=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xfa)),_0x418059=_0x50686d['str']('cron'),_0x61e452=_0x50686d[_0x49f031(0xd0)](_0x49f031(0xd9));if(!_0x13d3f6)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xd2));if(!_0x4b959f)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xc1));if(_0x59d650==='CRON'){if(!_0x418059||_0x61e452)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xf5));return{'kind':_0x59d650,'timezone':_0x49f031(0x101),'cron':_0x418059,'title':_0x13d3f6,'prompt':_0x4b959f,'model':_0x522ac1};}if(_0x59d650===_0x49f031(0xe9)){if(!_0x61e452||_0x418059)throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xed));return{'kind':_0x59d650,'timezone':'UTC','scheduledAt':_0x61e452,'title':_0x13d3f6,'prompt':_0x4b959f,'model':_0x522ac1};}throw CliErrors[_0x49f031(0xdd)](_0x49f031(0xdf));}function scheduleCollectionPath(_0x53bb6c){const _0x4d98cc=a58_0x9bb2c5;return _0x4d98cc(0xff)+encodeURIComponent(_0x53bb6c)+_0x4d98cc(0xf2);}function scheduleItemPath(_0x36373d,_0x140fc4){return scheduleCollectionPath(_0x36373d)+'/'+encodeURIComponent(_0x140fc4);}const scheduleValidate={'service':'schedule','command':a58_0x9bb2c5(0xee),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a58_0x9bb2c5(0xec),'flags':INPUT_FLAGS,async 'validate'(_0x5acaa6){readScheduleInput(_0x5acaa6);},async 'execute'(_0x29bf13){const _0x5d5683=a58_0x9bb2c5,_0x37f51b=readScheduleInput(_0x29bf13),_0x132dd5=await validateRuntimeSchedule(_0x29bf13[_0x5d5683(0xe4)],_0x37f51b);return{'ok':!![],'data':_0x132dd5,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xe6),'description':a58_0x9bb2c5(0xe5),'risk':a58_0x9bb2c5(0xc0),'confirmationDescription':a58_0x9bb2c5(0xe3),'flags':INPUT_FLAGS,async 'validate'(_0xc5e7cb){readScheduleInput(_0xc5e7cb);},async 'execute'(_0x69fc90){const _0x1dbaf6=a58_0x9bb2c5,_0x423367=readScheduleInput(_0x69fc90),_0x3a6330=await validateRuntimeSchedule(_0x69fc90[_0x1dbaf6(0xe4)],_0x423367),_0xc18fec=await createRuntimeSchedule(_0x69fc90[_0x1dbaf6(0xe4)],_0x3a6330);return{'ok':!![],'data':_0xc18fec,'message':_0x1dbaf6(0xe0)+_0xc18fec[_0x1dbaf6(0xcd)]+_0x1dbaf6(0xfe)+_0xc18fec['scheduleId']};},async 'dryRun'(_0x369e41){const _0x2905c=a58_0x9bb2c5,_0x17845b=readScheduleInput(_0x369e41);return dryRun(_0x2905c(0xcc),scheduleCollectionPath(_0x369e41[_0x2905c(0xe4)]))[_0x2905c(0xc5)](_0x17845b)[_0x2905c(0xd5)](_0x2905c(0xea))[_0x2905c(0xd7)]();}},scheduleList={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xd3),'description':a58_0x9bb2c5(0xe7),'risk':'read','flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x3a2ef7){const _0x2b96f4=a58_0x9bb2c5,_0x37045f=_0x3a2ef7[_0x2b96f4(0xc9)](_0x2b96f4(0xce));if(!Number[_0x2b96f4(0xeb)](_0x37045f)||_0x37045f<0x1||_0x37045f>0x64)throw CliErrors[_0x2b96f4(0xdd)](_0x2b96f4(0xd4));const _0x42c6ee=_0x3a2ef7[_0x2b96f4(0xd0)]('cursor');if(_0x42c6ee&&(_0x42c6ee['length']>0x400||_0x42c6ee[_0x2b96f4(0xd1)]()!==_0x42c6ee))throw CliErrors[_0x2b96f4(0xdd)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x1f7d2f){const _0x5cdd89=a58_0x9bb2c5,_0x599331=_0x1f7d2f[_0x5cdd89(0xd0)](_0x5cdd89(0xc7)),_0x481d12=await listRuntimeSchedules(_0x1f7d2f['appCode'],{'kind':_0x1f7d2f['str'](_0x5cdd89(0xcd)),'limit':_0x1f7d2f[_0x5cdd89(0xc9)](_0x5cdd89(0xce)),..._0x599331?{'cursor':_0x599331}:{}});return{'ok':!![],'data':_0x481d12};}},scheduleDetail={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xe1),'description':a58_0x9bb2c5(0xf7),'risk':a58_0x9bb2c5(0xec),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x3da1d3){const _0x26f842=a58_0x9bb2c5,_0x132ade=await getRuntimeSchedule(_0x3da1d3[_0x26f842(0xe4)],_0x3da1d3[_0x26f842(0xd0)](_0x26f842(0xbe)));return{'ok':!![],'data':_0x132ade};}},scheduleRun={'service':a58_0x9bb2c5(0xca),'command':'run','description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':a58_0x9bb2c5(0xc0),'confirmationDescription':'Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2ccbea){const _0x20ff33=a58_0x9bb2c5,_0x2d7c4f=_0x2ccbea[_0x20ff33(0xd0)]('schedule-id'),_0x458dd6=await runRuntimeSchedule(_0x2ccbea[_0x20ff33(0xe4)],_0x2d7c4f);return{'ok':!![],'data':_0x458dd6,'message':_0x20ff33(0xf1)+_0x458dd6[_0x20ff33(0xf4)]+_0x20ff33(0xc4)+_0x2d7c4f};},async 'dryRun'(_0x20534c){const _0x2661d9=a58_0x9bb2c5,_0x213bde=_0x20534c[_0x2661d9(0xd0)]('schedule-id');return dryRun(_0x2661d9(0xcc),scheduleItemPath(_0x20534c[_0x2661d9(0xe4)],_0x213bde)+_0x2661d9(0xf9))[_0x2661d9(0xd5)](_0x2661d9(0x104)+_0x213bde+_0x2661d9(0x108))[_0x2661d9(0xd7)]();}},scheduleDelete={'service':a58_0x9bb2c5(0xca),'command':a58_0x9bb2c5(0xbd),'description':a58_0x9bb2c5(0xdc),'risk':a58_0x9bb2c5(0xc0),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x523bb5){const _0x442b26=a58_0x9bb2c5,_0x3b7933=_0x523bb5[_0x442b26(0xd0)](_0x442b26(0xbe)),_0x2f79eb=await deleteRuntimeSchedule(_0x523bb5[_0x442b26(0xe4)],_0x3b7933);return{'ok':!![],'data':_0x2f79eb,'message':_0x442b26(0x107)+_0x3b7933};},async 'dryRun'(_0xf1910d){const _0x14a4dd=a58_0x9bb2c5,_0x131a91=_0xf1910d['str'](_0x14a4dd(0xbe));return dryRun(_0x14a4dd(0xc8),scheduleItemPath(_0xf1910d[_0x14a4dd(0xe4)],_0x131a91))[_0x14a4dd(0xd5)](_0x14a4dd(0xef)+_0x131a91)[_0x14a4dd(0xd7)]();}};function a58_0x1184(_0x2cb055,_0x3be317){_0x2cb055=_0x2cb055-0xbd;const _0x2db6a1=a58_0x2db6();let _0x1184b1=_0x2db6a1[_0x2cb055];return _0x1184b1;}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
@@ -1 +1 @@
1
- const a59_0x348bbb=a59_0x3702;(function(_0x3d8ec1,_0x32ff73){const _0x3bb852=a59_0x3702,_0xd8c961=_0x3d8ec1();while(!![]){try{const _0x5553e0=-parseInt(_0x3bb852(0x185))/0x1+parseInt(_0x3bb852(0x17e))/0x2+parseInt(_0x3bb852(0x181))/0x3*(-parseInt(_0x3bb852(0x17a))/0x4)+-parseInt(_0x3bb852(0x17d))/0x5*(-parseInt(_0x3bb852(0x179))/0x6)+-parseInt(_0x3bb852(0x182))/0x7*(-parseInt(_0x3bb852(0x17f))/0x8)+-parseInt(_0x3bb852(0x186))/0x9+-parseInt(_0x3bb852(0x180))/0xa*(-parseInt(_0x3bb852(0x183))/0xb);if(_0x5553e0===_0x32ff73)break;else _0xd8c961['push'](_0xd8c961['shift']());}catch(_0x4e9c66){_0xd8c961['push'](_0xd8c961['shift']());}}}(a59_0x139c,0xdb120));function a59_0x3702(_0x24204c,_0xb27a2d){_0x24204c=_0x24204c-0x179;const _0x139c58=a59_0x139c();let _0x3702bd=_0x139c58[_0x24204c];return _0x3702bd;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x457d3d){const _0x15acc1=await buildSchemaPayload();return{'ok':!![],'data':_0x15acc1};}function a59_0x139c(){const _0x1f54c7=['12095100SfQiHq','4602LhJqgX','1724RZKzRE','export','read','4955sDQXXE','3444746wAxpvl','8NDZEgG','10mKrrQZ','10365GEHroA','567427pRNgeY','18911167jgWqXz','schema','552411rHmGdI'];a59_0x139c=function(){return _0x1f54c7;};return a59_0x139c();}export const schemaDefinition={'service':a59_0x348bbb(0x184),'command':a59_0x348bbb(0x17b),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a59_0x348bbb(0x17c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
1
+ const a59_0x40e712=a59_0x3a88;function a59_0x3a88(_0xe82018,_0x78f1be){_0xe82018=_0xe82018-0x141;const _0x415801=a59_0x4158();let _0x3a88c6=_0x415801[_0xe82018];return _0x3a88c6;}(function(_0x25ae3c,_0x430c3a){const _0x427552=a59_0x3a88,_0xfdfa02=_0x25ae3c();while(!![]){try{const _0x35d4fc=-parseInt(_0x427552(0x147))/0x1+-parseInt(_0x427552(0x14b))/0x2*(parseInt(_0x427552(0x144))/0x3)+parseInt(_0x427552(0x141))/0x4*(parseInt(_0x427552(0x14d))/0x5)+parseInt(_0x427552(0x143))/0x6+-parseInt(_0x427552(0x148))/0x7+parseInt(_0x427552(0x14a))/0x8+-parseInt(_0x427552(0x149))/0x9*(-parseInt(_0x427552(0x142))/0xa);if(_0x35d4fc===_0x430c3a)break;else _0xfdfa02['push'](_0xfdfa02['shift']());}catch(_0x1a790a){_0xfdfa02['push'](_0xfdfa02['shift']());}}}(a59_0x4158,0xadd90));function a59_0x4158(){const _0x400c11=['schema','1283354FoXWTF','1707167KuLXeR','9fKoUhi','9950152viLrdn','4scQDrJ','Export\x20machine-readable\x20command\x20schema\x20(JSON)','295710xksSFA','read','24LpYBQn','13454510FpgOag','511014wCvlCE','1184889XTMHfl','export'];a59_0x4158=function(){return _0x400c11;};return a59_0x4158();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x32f31a){const _0x2a45be=await buildSchemaPayload();return{'ok':!![],'data':_0x2a45be};}export const schemaDefinition={'service':a59_0x40e712(0x146),'command':a59_0x40e712(0x145),'description':a59_0x40e712(0x14c),'risk':a59_0x40e712(0x14e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x58f663,_0x29a7c1){const _0x409d74=a60_0xb3d3,_0x269d37=_0x58f663();while(!![]){try{const _0x2d08c9=-parseInt(_0x409d74(0xb9))/0x1*(-parseInt(_0x409d74(0xf4))/0x2)+-parseInt(_0x409d74(0xf7))/0x3*(parseInt(_0x409d74(0x108))/0x4)+-parseInt(_0x409d74(0xf6))/0x5+-parseInt(_0x409d74(0xc0))/0x6+parseInt(_0x409d74(0xff))/0x7*(-parseInt(_0x409d74(0xb6))/0x8)+-parseInt(_0x409d74(0xf8))/0x9*(parseInt(_0x409d74(0xd7))/0xa)+parseInt(_0x409d74(0xb5))/0xb;if(_0x2d08c9===_0x29a7c1)break;else _0x269d37['push'](_0x269d37['shift']());}catch(_0x3ab1f1){_0x269d37['push'](_0x269d37['shift']());}}}(a60_0xf812,0x494f5));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(_0x540f9b,_0x1347f8){const _0xb2040a=a60_0xb3d3,_0x4f1a78=listLocalServiceTrees();let _0x2c7c69;for(const _0x4db2b6 of _0x4f1a78){const _0x162e0b=matchServiceTreeCommand(_0x4db2b6,_0x540f9b);if(!_0x162e0b)continue;(!_0x2c7c69||_0x162e0b[_0xb2040a(0xdf)][_0xb2040a(0xce)][_0xb2040a(0x10a)]>_0x2c7c69['command'][_0xb2040a(0xce)][_0xb2040a(0x10a)])&&(_0x2c7c69={'tree':_0x4db2b6,'command':_0x162e0b[_0xb2040a(0xdf)],'remainingArgs':_0x162e0b[_0xb2040a(0xc2)]});}if(!_0x2c7c69)return undefined;const _0xfa770c={..._0x1347f8};return applyAppBinding(_0x2c7c69[_0xb2040a(0xd4)],_0x2c7c69[_0xb2040a(0xdf)],_0xfa770c),{'definition':buildDynamicCommandDefinition(_0x2c7c69[_0xb2040a(0xd4)],_0x2c7c69[_0xb2040a(0xdf)]),'args':_0x2c7c69[_0xb2040a(0xc2)],'flags':_0xfa770c,'tree':_0x2c7c69[_0xb2040a(0xd4)],'command':_0x2c7c69[_0xb2040a(0xdf)]};}export function generateDynamicServiceHelp(_0x3abeb8){const _0x1304ca=a60_0xb3d3,_0x1d1679=listLocalServiceTrees()[_0x1304ca(0xbf)](_0x516a34=>_0x516a34['service'][_0x1304ca(0xf9)]===_0x3abeb8);if(!_0x1d1679)return undefined;const _0x2e8c7a=[CLI_BIN_NAME+'\x20'+_0x3abeb8+_0x1304ca(0x113),'',_0x1d1679['service'][_0x1304ca(0xf0)]||_0x3abeb8,_0x1d1679[_0x1304ca(0xfd)][_0x1304ca(0xcd)]?'\x20\x20'+_0x1d1679['service'][_0x1304ca(0xcd)]:'','',_0x1304ca(0x116),..._0x1d1679['commands'][_0x1304ca(0x10f)](_0x3adfcc=>{const _0x39865=_0x1304ca,_0x4ce2a6=_0x3adfcc['fullPath'][_0x39865(0xe5)](0x1)['join']('\x20'),_0x2be5b8=_0x3adfcc[_0x39865(0x106)]===_0x39865(0xd6)?'':'\x20['+_0x3adfcc[_0x39865(0x106)]+']';return'\x20\x20'+_0x4ce2a6[_0x39865(0xb7)](0x18)+'\x20'+(_0x3adfcc['description']||'')+_0x2be5b8;}),'',_0x1304ca(0x100)+CLI_BIN_NAME+_0x1304ca(0xef)+_0x3abeb8+_0x1304ca(0xc8)][_0x1304ca(0x10e)](Boolean);return _0x2e8c7a[_0x1304ca(0xde)]('\x0a');}export function listDynamicServiceEntries(){const _0x1325c8=a60_0xb3d3;return listLocalServices()[_0x1325c8(0x10f)](_0x3c1cac=>{const _0xe01089=_0x1325c8,_0x275621=_0x3c1cac[_0xe01089(0xca)];return{'service':_0x275621[_0xe01089(0xfd)]['code'],'label':_0x275621[_0xe01089(0xfd)][_0xe01089(0xf0)]||_0x275621[_0xe01089(0xfd)][_0xe01089(0xf9)],'commands':_0x275621['commands'][_0xe01089(0x10f)](_0x5af959=>({'command':dynamicCommandName(_0x5af959),'description':_0x5af959[_0xe01089(0xcd)]||_0xe01089(0xee)+_0x5af959[_0xe01089(0x119)],'tag':riskTag(_0x5af959[_0xe01089(0x106)])}))};});}export function getDynamicServiceEntry(_0x2c8da2){return listDynamicServiceEntries()['find'](_0x595000=>_0x595000['service']===_0x2c8da2);}export function listDynamicServiceDefinitions(_0x4eacce){const _0x2bdded=a60_0xb3d3;return listLocalServiceTrees()[_0x2bdded(0x10e)](_0x480ccb=>!_0x4eacce||_0x480ccb[_0x2bdded(0xfd)][_0x2bdded(0xf9)]===_0x4eacce)[_0x2bdded(0xbd)](_0x58e73b=>_0x58e73b['commands'][_0x2bdded(0x10f)](_0x500d29=>buildDynamicCommandDefinition(_0x58e73b,_0x500d29)));}export function getDynamicServiceDefinitions(_0x40c12d){const _0x39865e=listDynamicServiceDefinitions(_0x40c12d);return _0x39865e['length']>0x0?_0x39865e:undefined;}export function findDynamicServiceDefinition(_0x101260,_0x9b8025){const _0x5208de=a60_0xb3d3;return listDynamicServiceDefinitions(_0x101260)[_0x5208de(0xbf)](_0x1c31a2=>_0x1c31a2[_0x5208de(0xdf)]===_0x9b8025);}export function buildDynamicCommandDefinition(_0x2e4b36,_0x1c8474){const _0x315dd7=a60_0xb3d3;return{'service':_0x2e4b36[_0x315dd7(0xfd)][_0x315dd7(0xf9)],'command':dynamicCommandName(_0x1c8474),'description':_0x1c8474[_0x315dd7(0xcd)]||'Run\x20service\x20command\x20'+_0x1c8474[_0x315dd7(0x119)],'risk':_0x1c8474[_0x315dd7(0x106)],..._0x1c8474[_0x315dd7(0x106)]===_0x315dd7(0xd6)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x1c8474)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1c8474[_0x315dd7(0xcf)][_0x315dd7(0x10f)](_0x66a72=>({'name':_0x66a72[_0x315dd7(0xf0)],'description':_0x66a72[_0x315dd7(0xcd)]||_0x66a72[_0x315dd7(0xf0)],'required':_0x66a72[_0x315dd7(0xba)]})),'flags':_0x1c8474['flags'][_0x315dd7(0x10f)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1c8474),async 'dryRun'(_0x349e11){const _0x5b52ec=_0x315dd7,_0x357cfe=await compilePlan(_0x1c8474,_0x349e11);return{'method':_0x5b52ec(0xbc),'url':_0x1c8474[_0x5b52ec(0x119)],'body':{'target':targetPreview(_0x357cfe),'params':_0x357cfe[_0x5b52ec(0xcb)]},'description':_0x5b52ec(0x103)+_0x1c8474[_0x5b52ec(0x119)]};},async 'execute'(_0x127869){const _0x3f405b=_0x315dd7,_0x17c3b0=await compilePlan(_0x1c8474,_0x127869),_0x5c7745=Date[_0x3f405b(0xc9)](),_0x57c38e=await executePlan(_0x17c3b0,_0x1c8474,_0x127869),_0xd54de5=Date[_0x3f405b(0xc9)]()-_0x5c7745;return{'ok':!![],'data':{'service':_0x2e4b36[_0x3f405b(0xfd)],'command':_0x1c8474[_0x3f405b(0x119)],'target':targetPreview(_0x17c3b0),'result':_0x57c38e,'elapsed':_0xd54de5},'message':_0x3f405b(0xed)+_0x1c8474[_0x3f405b(0x119)]+'\x20completed\x20in\x20'+_0xd54de5+'ms'};}};}function a60_0xb3d3(_0x291b98,_0x1d7fe5){_0x291b98=_0x291b98-0xb2;const _0xf812ab=a60_0xf812();let _0xb3d345=_0xf812ab[_0x291b98];return _0xb3d345;}function buildDynamicConfirmationDescription(_0x26e325){const _0x3a99dc=a60_0xb3d3,_0x28aa4b=_0x26e325[_0x3a99dc(0xcd)]||_0x26e325['cliPath'],_0xbc02f=_0x26e325[_0x3a99dc(0x106)]===_0x3a99dc(0xe6)?'The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.':_0x3a99dc(0x109);return _0x3a99dc(0xc6)+_0x28aa4b+_0x3a99dc(0xe2)+_0xbc02f;}function dynamicCommandName(_0x462085){const _0x2b6cb8=a60_0xb3d3;return _0x462085[_0x2b6cb8(0xce)][_0x2b6cb8(0xe5)](0x1)[_0x2b6cb8(0xde)]('\x20');}function riskTag(_0x3e400a){return _0x3e400a==='read'?'':'\x20\x20['+_0x3e400a+']';}function flagToCommandFlag(_0x286be3){const _0x33ddf7=a60_0xb3d3;return{'name':_0x286be3[_0x33ddf7(0xbb)],'type':_0x286be3[_0x33ddf7(0xb2)]===_0x33ddf7(0x117)?_0x33ddf7(0xe8):_0x286be3[_0x33ddf7(0xb2)],'description':_0x286be3[_0x33ddf7(0xcd)]||_0x286be3[_0x33ddf7(0xf0)],'required':_0x286be3['required'],'default':isPrimitiveFlagDefault(_0x286be3[_0x33ddf7(0xf2)])?_0x286be3[_0x33ddf7(0xf2)]:undefined,'enum':_0x286be3[_0x33ddf7(0x102)]};}async function compilePlan(_0x256d22,_0x3ee8b5){const _0x30fc9b=a60_0xb3d3;return compileServiceTreeCommand(_0x256d22,{'flags':_0x3ee8b5[_0x30fc9b(0xdd)],'args':_0x3ee8b5[_0x30fc9b(0xcf)],'context':await buildServiceContext(_0x256d22,_0x3ee8b5)});}async function buildServiceContext(_0x2ef500,_0x11e36d){const _0x4aa5a4=a60_0xb3d3,_0x57f128={'appCode':_0x11e36d['appCode'],'env':_0x11e36d[_0x4aa5a4(0xc7)],'envName':_0x11e36d[_0x4aa5a4(0xc7)]};if(!usesRuntimeContext(_0x2ef500))return _0x57f128;const _0x5958c1=await getLoginUserInfo(),_0x2f77e4=pickFirst(_0x5958c1[_0x4aa5a4(0xea)],_0x5958c1['id']);return{..._0x57f128,'user':_0x5958c1,'userId':_0x2f77e4,'id':_0x5958c1['id'],'username':pickFirst(_0x5958c1[_0x4aa5a4(0xf1)],_0x5958c1['userName'],_0x5958c1[_0x4aa5a4(0xc4)]),'userName':_0x5958c1['userName'],'nickname':pickFirst(_0x5958c1[_0x4aa5a4(0xb8)],_0x5958c1[_0x4aa5a4(0x118)]),'nickName':_0x5958c1[_0x4aa5a4(0x118)],'tenantCode':_0x5958c1['tenantCode'],'employeeId':_0x5958c1[_0x4aa5a4(0x101)]};}function usesRuntimeContext(_0x1fd305){const _0x3bf1c8=a60_0xb3d3;return _0x1fd305[_0x3bf1c8(0xd2)]['some'](_0x3e4fa6=>typeof _0x3e4fa6[_0x3bf1c8(0xeb)]==='string'&&(_0x3e4fa6['source'][_0x3bf1c8(0x115)]('context.')||_0x3e4fa6['source'][_0x3bf1c8(0x115)](_0x3bf1c8(0xf3))));}function pickFirst(..._0x3e5ff4){const _0x52ccc3=a60_0xb3d3;return _0x3e5ff4[_0x52ccc3(0xbf)](_0x2aae1d=>_0x2aae1d!==undefined&&_0x2aae1d!==null);}async function executePlan(_0x3adf64,_0x13976d,_0x5697e9){const _0xff1894=a60_0xb3d3;if(_0x3adf64[_0xff1894(0xe0)]===_0xff1894(0xfe)){const _0x2665a5=await resolveDatasetCode(_0x3adf64,_0x13976d,_0x5697e9);return executeData(_0x2665a5,_0x3adf64[_0xff1894(0xdf)],_0x3adf64['params']);}if(_0x3adf64[_0xff1894(0xe0)]==='sql'){if(!_0x3adf64[_0xff1894(0xbe)])throw CliErrors[_0xff1894(0x104)](_0xff1894(0xed)+_0x13976d[_0xff1894(0x119)]+_0xff1894(0xd5));return executeSdkSql(_0x3adf64[_0xff1894(0xbe)],normalizeScalarParams(_0x3adf64['params']));}if(_0x3adf64[_0xff1894(0xe0)]==='bff'){const _0x498468=_0x3adf64[_0xff1894(0xe9)]||_0x3adf64[_0xff1894(0xc1)]||(_0x3adf64[_0xff1894(0xd8)]==null?'':String(_0x3adf64[_0xff1894(0xd8)]));if(!_0x498468)throw CliErrors['validation'](_0xff1894(0xed)+_0x13976d[_0xff1894(0x119)]+_0xff1894(0x10d));return executeSdkBff(_0x498468,_0x3adf64['params']);}throw CliErrors[_0xff1894(0x104)](_0xff1894(0xfc)+_0x3adf64[_0xff1894(0xe0)]);}async function resolveDatasetCode(_0x5f4429,_0x4180a8,_0xa2852c){const _0x2c4693=a60_0xb3d3;if(_0x5f4429[_0x2c4693(0xe7)])return _0x5f4429[_0x2c4693(0xe7)];if(!_0x5f4429[_0x2c4693(0xfb)])throw CliErrors[_0x2c4693(0x104)](_0x2c4693(0xed)+_0x4180a8[_0x2c4693(0x119)]+_0x2c4693(0xf5));const _0x2e2ed4=await listDatasets(_0xa2852c[_0x2c4693(0xe4)]),_0x4ad16e=_0x2e2ed4[_0x2c4693(0xbf)](_0x1f83af=>_0x1f83af[_0x2c4693(0x107)]?.[_0x2c4693(0xd1)]===_0x5f4429[_0x2c4693(0xfb)]);if(!_0x4ad16e?.[_0x2c4693(0xf9)])throw CliErrors['validation'](_0x2c4693(0x105)+_0x5f4429[_0x2c4693(0xfb)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0xa2852c[_0x2c4693(0xe4)]+'.',_0x2c4693(0x110));return _0x4ad16e['code'];}function applyAppBinding(_0x16e3a9,_0x331efa,_0x38cb49){const _0x5cd38a=a60_0xb3d3,_0x4b8ac5=_0x331efa[_0x5cd38a(0xda)][_0x5cd38a(0xb4)];if(!_0x4b8ac5)return;const _0x519f07=_0x16e3a9['appBindings'][_0x4b8ac5];if(!_0x519f07)throw CliErrors[_0x5cd38a(0x104)]('Unknown\x20appRef\x20\x22'+_0x4b8ac5+_0x5cd38a(0xd3)+_0x331efa[_0x5cd38a(0x119)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x25f11d=_0x519f07[_0x5cd38a(0x114)]||_0x519f07[_0x5cd38a(0xe4)];_0x25f11d&&!hasText(_0x38cb49[_0x5cd38a(0x114)])&&(_0x38cb49[_0x5cd38a(0x114)]=_0x25f11d),_0x519f07['app']&&!hasText(_0x38cb49[_0x5cd38a(0xb3)])&&!hasText(_0x38cb49[_0x5cd38a(0x114)])&&(_0x38cb49[_0x5cd38a(0xb3)]=_0x519f07[_0x5cd38a(0xb3)]),_0x519f07['env']&&!hasText(_0x38cb49['env'])&&(_0x38cb49[_0x5cd38a(0xc3)]=_0x519f07[_0x5cd38a(0xc3)]);}function renderDynamicCommandHelp(_0x1c4860){const _0x363cfe=a60_0xb3d3,_0x46f96f=[_0x363cfe(0x10b),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xe0)],_0x363cfe(0x111)+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xdf)]];if(_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xe7)])_0x46f96f['push'](_0x363cfe(0xdb)+_0x1c4860[_0x363cfe(0xda)]['datasetCode']);if(_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xfb)])_0x46f96f[_0x363cfe(0xfa)](_0x363cfe(0xc5)+_0x1c4860['target'][_0x363cfe(0xfb)]);if(_0x1c4860[_0x363cfe(0xda)]['sqlCode'])_0x46f96f['push'](_0x363cfe(0xd0)+_0x1c4860[_0x363cfe(0xda)][_0x363cfe(0xbe)]);if(_0x1c4860[_0x363cfe(0xda)]['scriptName'])_0x46f96f['push'](_0x363cfe(0xd9)+_0x1c4860[_0x363cfe(0xda)]['scriptName']);if(_0x1c4860[_0x363cfe(0xd2)]['length']>0x0){_0x46f96f[_0x363cfe(0xfa)]('','\x20\x20MAP\x20TO');for(const _0x479d36 of _0x1c4860[_0x363cfe(0xd2)]){_0x46f96f['push']('\x20\x20\x20\x20'+(_0x479d36[_0x363cfe(0xeb)]||_0x363cfe(0x10c))+_0x363cfe(0xe3)+_0x479d36[_0x363cfe(0xda)]+(_0x479d36[_0x363cfe(0x112)]?'.'+_0x479d36['operator']:''));}}return _0x46f96f[_0x363cfe(0xde)]('\x0a');}function targetPreview(_0x6cb80b){const _0x3fe9e7=a60_0xb3d3;return{'kind':_0x6cb80b[_0x3fe9e7(0xe0)],'command':_0x6cb80b['command'],'appRef':_0x6cb80b['appRef'],'datasetCode':_0x6cb80b[_0x3fe9e7(0xe7)],'datatable':_0x6cb80b['datatable'],'sqlCode':_0x6cb80b['sqlCode'],'bffCode':_0x6cb80b[_0x3fe9e7(0xc1)],'bffId':_0x6cb80b['bffId'],'functionName':_0x6cb80b[_0x3fe9e7(0xe9)]};}function normalizeScalarParams(_0x417c65){const _0x29ecbe=a60_0xb3d3;return Object[_0x29ecbe(0xec)](Object['entries'](_0x417c65)[_0x29ecbe(0x10e)](([,_0x2dc6fb])=>typeof _0x2dc6fb===_0x29ecbe(0xe8)||typeof _0x2dc6fb===_0x29ecbe(0xdc)));}function hasText(_0x15e3e6){const _0x322a63=a60_0xb3d3;return typeof _0x15e3e6===_0x322a63(0xe8)&&_0x15e3e6[_0x322a63(0xcc)]()[_0x322a63(0x10a)]>0x0;}function isPrimitiveFlagDefault(_0x4c3425){const _0x30c781=a60_0xb3d3;return _0x4c3425===undefined||typeof _0x4c3425==='string'||typeof _0x4c3425==='number'||typeof _0x4c3425===_0x30c781(0xe1);}function a60_0xf812(){const _0x42f7f5=['json','nickName','cliPath','type','app','appRef','10507761WwFgBQ','200EcXUXr','padEnd','nickname','1QCrcFU','required','cliName','SERVICE_TREE','flatMap','sqlCode','find','132330GrJsdQ','bffCode','remainingArgs','env','loginName','\x20\x20\x20\x20datatable:\x20','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','envName','`\x20to\x20inspect\x20the\x20manifest.','now','normalizedManifest','params','trim','description','fullPath','args','\x20\x20\x20\x20sqlCode:\x20','tableName','mapTo','\x22\x20in\x20service\x20command\x20','tree','\x20requires\x20target.sqlCode.','read','1329760MDLzzh','bffId','\x20\x20\x20\x20functionName:\x20','target','\x20\x20\x20\x20datasetCode:\x20','number','rawFlags','join','command','kind','boolean','\x22.\x20','\x20->\x20','appCode','slice','high-risk-write','datasetCode','string','scriptName','userId','source','fromEntries','Service\x20command\x20','Run\x20service\x20command\x20','\x20service\x20detail\x20--service\x20','name','username','default','ctx.','596368ShUMpP','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','1104195HoGkIM','3SEEpzA','9bVLNEY','code','push','datatable','Unsupported\x20service\x20target\x20kind:\x20','service','data','105441XqzNNp','Use\x20`','employeeId','enum','Preview\x20dynamic\x20service\x20command:\x20','validation','Cannot\x20resolve\x20datatable\x20\x22','risk','dbtableConfig','802852EillTC','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','length','\x20\x20SERVICE\x20TREE\x20TARGET','const','\x20requires\x20target.functionName.','filter','map','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20\x20\x20command:\x20','operator','\x20<command>\x20[flags]','appcode','startsWith','Commands:'];a60_0xf812=function(){return _0x42f7f5;};return a60_0xf812();}
1
+ (function(_0x32fad3,_0x3872de){const _0x587d6e=a60_0x39c7,_0x4234ea=_0x32fad3();while(!![]){try{const _0x5d84b0=parseInt(_0x587d6e(0x220))/0x1+parseInt(_0x587d6e(0x232))/0x2+-parseInt(_0x587d6e(0x1ec))/0x3*(-parseInt(_0x587d6e(0x205))/0x4)+parseInt(_0x587d6e(0x1fe))/0x5*(parseInt(_0x587d6e(0x1fc))/0x6)+-parseInt(_0x587d6e(0x20d))/0x7*(parseInt(_0x587d6e(0x1f2))/0x8)+-parseInt(_0x587d6e(0x1fb))/0x9*(-parseInt(_0x587d6e(0x235))/0xa)+-parseInt(_0x587d6e(0x21d))/0xb*(parseInt(_0x587d6e(0x1d1))/0xc);if(_0x5d84b0===_0x3872de)break;else _0x4234ea['push'](_0x4234ea['shift']());}catch(_0x36c3cd){_0x4234ea['push'](_0x4234ea['shift']());}}}(a60_0x56e4,0x6f82b));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(_0x4cdb9d,_0x24bb36){const _0xf6ea9c=a60_0x39c7,_0x39c1ba=listLocalServiceTrees();let _0x4f75e7;for(const _0xfc693e of _0x39c1ba){const _0x569e89=matchServiceTreeCommand(_0xfc693e,_0x4cdb9d);if(!_0x569e89)continue;(!_0x4f75e7||_0x569e89[_0xf6ea9c(0x213)][_0xf6ea9c(0x1ff)][_0xf6ea9c(0x1e8)]>_0x4f75e7[_0xf6ea9c(0x213)][_0xf6ea9c(0x1ff)]['length'])&&(_0x4f75e7={'tree':_0xfc693e,'command':_0x569e89[_0xf6ea9c(0x213)],'remainingArgs':_0x569e89['remainingArgs']});}if(!_0x4f75e7)return undefined;const _0x4362ff={..._0x24bb36};return applyAppBinding(_0x4f75e7[_0xf6ea9c(0x1f6)],_0x4f75e7['command'],_0x4362ff),{'definition':buildDynamicCommandDefinition(_0x4f75e7[_0xf6ea9c(0x1f6)],_0x4f75e7[_0xf6ea9c(0x213)]),'args':_0x4f75e7[_0xf6ea9c(0x200)],'flags':_0x4362ff,'tree':_0x4f75e7['tree'],'command':_0x4f75e7[_0xf6ea9c(0x213)]};}export function generateDynamicServiceHelp(_0x538457){const _0x25ebc1=a60_0x39c7,_0x3e6911=listLocalServiceTrees()[_0x25ebc1(0x219)](_0xe81980=>_0xe81980['service'][_0x25ebc1(0x1e3)]===_0x538457);if(!_0x3e6911)return undefined;const _0x3a8021=[CLI_BIN_NAME+'\x20'+_0x538457+_0x25ebc1(0x1e9),'',_0x3e6911[_0x25ebc1(0x1ed)]['name']||_0x538457,_0x3e6911['service'][_0x25ebc1(0x21c)]?'\x20\x20'+_0x3e6911[_0x25ebc1(0x1ed)][_0x25ebc1(0x21c)]:'','',_0x25ebc1(0x1e0),..._0x3e6911['commands'][_0x25ebc1(0x21f)](_0x57b071=>{const _0x4d807c=_0x25ebc1,_0x10c0b4=_0x57b071['fullPath'][_0x4d807c(0x201)](0x1)['join']('\x20'),_0xaa4da6=_0x57b071['risk']==='read'?'':'\x20['+_0x57b071[_0x4d807c(0x207)]+']';return'\x20\x20'+_0x10c0b4[_0x4d807c(0x227)](0x18)+'\x20'+(_0x57b071[_0x4d807c(0x21c)]||'')+_0xaa4da6;}),'',_0x25ebc1(0x204)+CLI_BIN_NAME+_0x25ebc1(0x1eb)+_0x538457+_0x25ebc1(0x1f5)]['filter'](Boolean);return _0x3a8021[_0x25ebc1(0x21b)]('\x0a');}export function listDynamicServiceEntries(){const _0x4f8a2b=a60_0x39c7;return listLocalServices()[_0x4f8a2b(0x21f)](_0x25420c=>{const _0x5921ba=_0x4f8a2b,_0x3fae8e=_0x25420c[_0x5921ba(0x1dc)];return{'service':_0x3fae8e[_0x5921ba(0x1ed)][_0x5921ba(0x1e3)],'label':_0x3fae8e['service'][_0x5921ba(0x203)]||_0x3fae8e[_0x5921ba(0x1ed)]['code'],'commands':_0x3fae8e[_0x5921ba(0x1f1)]['map'](_0x3542b1=>({'command':dynamicCommandName(_0x3542b1),'description':_0x3542b1['description']||_0x5921ba(0x224)+_0x3542b1[_0x5921ba(0x236)],'tag':riskTag(_0x3542b1[_0x5921ba(0x207)])}))};});}function a60_0x39c7(_0x187347,_0x4697d1){_0x187347=_0x187347-0x1d1;const _0x56e434=a60_0x56e4();let _0x39c786=_0x56e434[_0x187347];return _0x39c786;}function a60_0x56e4(){const _0x3811d7=['6uSHRpe','service','operator','datatable','nickname','commands','31016dHGLpK','appcode','app','`\x20to\x20inspect\x20the\x20manifest.','tree','tenantCode','userName','\x20\x20MAP\x20TO','Service\x20command\x20','9uVuPlo','52842dcxmPA','filter','315hKzVgJ','fullPath','remainingArgs','slice','Preview\x20dynamic\x20service\x20command:\x20','name','Use\x20`','1791508knVHso','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','risk','some','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','sqlCode','\x20\x20\x20\x20command:\x20','bffId','273tIJZgR','\x20\x20[','\x20\x20\x20\x20sqlCode:\x20','SERVICE_TREE','cliName','userId','command','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','read','bff','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','number','find','appCode','join','description','2926gsBlKV','flatMap','map','346301rfmcZB','default','rawFlags','flags','Run\x20service\x20command\x20','args','\x20\x20\x20\x20','padEnd','appRef','entries','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20functionName:\x20','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','required','source','push','target','605326zVCepX','now','params','1504090lHlSPD','cliPath','74076ZniAKn','dbtableConfig','env','nickName','bffCode','sql','\x20\x20\x20\x20datasetCode:\x20','startsWith','scriptName','string','employeeId','normalizedManifest','\x20requires\x20target.functionName.','mapTo','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','Commands:','validation','datasetCode','code','\x20\x20SERVICE\x20TREE\x20TARGET','kind','envName','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','length','\x20<command>\x20[flags]','\x20->\x20','\x20service\x20detail\x20--service\x20'];a60_0x56e4=function(){return _0x3811d7;};return a60_0x56e4();}export function getDynamicServiceEntry(_0x30d290){const _0x3951e1=a60_0x39c7;return listDynamicServiceEntries()[_0x3951e1(0x219)](_0x338fe5=>_0x338fe5[_0x3951e1(0x1ed)]===_0x30d290);}export function listDynamicServiceDefinitions(_0x24c9b5){const _0x371ddc=a60_0x39c7;return listLocalServiceTrees()[_0x371ddc(0x1fd)](_0x491388=>!_0x24c9b5||_0x491388[_0x371ddc(0x1ed)][_0x371ddc(0x1e3)]===_0x24c9b5)[_0x371ddc(0x21e)](_0x50114e=>_0x50114e[_0x371ddc(0x1f1)]['map'](_0x2b8ca5=>buildDynamicCommandDefinition(_0x50114e,_0x2b8ca5)));}export function getDynamicServiceDefinitions(_0x5a2392){const _0x2ec02e=a60_0x39c7,_0xfd7666=listDynamicServiceDefinitions(_0x5a2392);return _0xfd7666[_0x2ec02e(0x1e8)]>0x0?_0xfd7666:undefined;}export function findDynamicServiceDefinition(_0x2ed5b2,_0x36f173){const _0x6a5fc=a60_0x39c7;return listDynamicServiceDefinitions(_0x2ed5b2)[_0x6a5fc(0x219)](_0x1ac222=>_0x1ac222['command']===_0x36f173);}export function buildDynamicCommandDefinition(_0x366964,_0x2328a5){const _0xd059ea=a60_0x39c7;return{'service':_0x366964['service'][_0xd059ea(0x1e3)],'command':dynamicCommandName(_0x2328a5),'description':_0x2328a5['description']||_0xd059ea(0x224)+_0x2328a5['cliPath'],'risk':_0x2328a5[_0xd059ea(0x207)],..._0x2328a5[_0xd059ea(0x207)]==='read'?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x2328a5)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2328a5[_0xd059ea(0x225)]['map'](_0x502179=>({'name':_0x502179[_0xd059ea(0x203)],'description':_0x502179[_0xd059ea(0x21c)]||_0x502179['name'],'required':_0x502179[_0xd059ea(0x22e)]})),'flags':_0x2328a5[_0xd059ea(0x223)]['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2328a5),async 'dryRun'(_0xdb19e3){const _0x42ecd5=_0xd059ea,_0x2d0d85=await compilePlan(_0x2328a5,_0xdb19e3);return{'method':_0x42ecd5(0x210),'url':_0x2328a5[_0x42ecd5(0x236)],'body':{'target':targetPreview(_0x2d0d85),'params':_0x2d0d85[_0x42ecd5(0x234)]},'description':_0x42ecd5(0x202)+_0x2328a5[_0x42ecd5(0x236)]};},async 'execute'(_0x548f63){const _0x297d6f=_0xd059ea,_0x29326a=await compilePlan(_0x2328a5,_0x548f63),_0x381ddb=Date[_0x297d6f(0x233)](),_0x1c7dfd=await executePlan(_0x29326a,_0x2328a5,_0x548f63),_0x449363=Date[_0x297d6f(0x233)]()-_0x381ddb;return{'ok':!![],'data':{'service':_0x366964[_0x297d6f(0x1ed)],'command':_0x2328a5[_0x297d6f(0x236)],'target':targetPreview(_0x29326a),'result':_0x1c7dfd,'elapsed':_0x449363},'message':_0x297d6f(0x1fa)+_0x2328a5[_0x297d6f(0x236)]+'\x20completed\x20in\x20'+_0x449363+'ms'};}};}function buildDynamicConfirmationDescription(_0x7555ec){const _0x150057=a60_0x39c7,_0x2941a7=_0x7555ec[_0x150057(0x21c)]||_0x7555ec['cliPath'],_0x37b10c=_0x7555ec[_0x150057(0x207)]==='high-risk-write'?_0x150057(0x206):_0x150057(0x209);return _0x150057(0x1df)+_0x2941a7+'\x22.\x20'+_0x37b10c;}function dynamicCommandName(_0x46e12c){const _0x9e284a=a60_0x39c7;return _0x46e12c[_0x9e284a(0x1ff)]['slice'](0x1)[_0x9e284a(0x21b)]('\x20');}function riskTag(_0x7e76c6){const _0x310a00=a60_0x39c7;return _0x7e76c6===_0x310a00(0x215)?'':_0x310a00(0x20e)+_0x7e76c6+']';}function flagToCommandFlag(_0x1dc30a){const _0x21aaea=a60_0x39c7;return{'name':_0x1dc30a[_0x21aaea(0x211)],'type':_0x1dc30a['type']==='json'?_0x21aaea(0x1da):_0x1dc30a['type'],'description':_0x1dc30a[_0x21aaea(0x21c)]||_0x1dc30a[_0x21aaea(0x203)],'required':_0x1dc30a[_0x21aaea(0x22e)],'default':isPrimitiveFlagDefault(_0x1dc30a[_0x21aaea(0x221)])?_0x1dc30a[_0x21aaea(0x221)]:undefined,'enum':_0x1dc30a['enum']};}async function compilePlan(_0x43f065,_0x39933b){const _0xe2c704=a60_0x39c7;return compileServiceTreeCommand(_0x43f065,{'flags':_0x39933b[_0xe2c704(0x222)],'args':_0x39933b[_0xe2c704(0x225)],'context':await buildServiceContext(_0x43f065,_0x39933b)});}async function buildServiceContext(_0x311541,_0x43494a){const _0x2e242f=a60_0x39c7,_0x619db2={'appCode':_0x43494a['appCode'],'env':_0x43494a[_0x2e242f(0x1e6)],'envName':_0x43494a['envName']};if(!usesRuntimeContext(_0x311541))return _0x619db2;const _0x586a19=await getLoginUserInfo(),_0x308dea=pickFirst(_0x586a19[_0x2e242f(0x212)],_0x586a19['id']);return{..._0x619db2,'user':_0x586a19,'userId':_0x308dea,'id':_0x586a19['id'],'username':pickFirst(_0x586a19['username'],_0x586a19['userName'],_0x586a19['loginName']),'userName':_0x586a19[_0x2e242f(0x1f8)],'nickname':pickFirst(_0x586a19[_0x2e242f(0x1f0)],_0x586a19[_0x2e242f(0x1d4)]),'nickName':_0x586a19[_0x2e242f(0x1d4)],'tenantCode':_0x586a19[_0x2e242f(0x1f7)],'employeeId':_0x586a19[_0x2e242f(0x1db)]};}function usesRuntimeContext(_0x282913){const _0x392412=a60_0x39c7;return _0x282913[_0x392412(0x1de)][_0x392412(0x208)](_0x312b68=>typeof _0x312b68[_0x392412(0x22f)]===_0x392412(0x1da)&&(_0x312b68[_0x392412(0x22f)][_0x392412(0x1d8)]('context.')||_0x312b68['source'][_0x392412(0x1d8)]('ctx.')));}function pickFirst(..._0xc6cc55){const _0xd1f323=a60_0x39c7;return _0xc6cc55[_0xd1f323(0x219)](_0x244e03=>_0x244e03!==undefined&&_0x244e03!==null);}async function executePlan(_0x266cca,_0x173535,_0x5f23ca){const _0x275be3=a60_0x39c7;if(_0x266cca[_0x275be3(0x1e5)]==='data'){const _0x117408=await resolveDatasetCode(_0x266cca,_0x173535,_0x5f23ca);return executeData(_0x117408,_0x266cca['command'],_0x266cca[_0x275be3(0x234)]);}if(_0x266cca[_0x275be3(0x1e5)]===_0x275be3(0x1d6)){if(!_0x266cca[_0x275be3(0x20a)])throw CliErrors['validation'](_0x275be3(0x1fa)+_0x173535[_0x275be3(0x236)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x266cca[_0x275be3(0x20a)],normalizeScalarParams(_0x266cca[_0x275be3(0x234)]));}if(_0x266cca[_0x275be3(0x1e5)]===_0x275be3(0x216)){const _0x453d1d=_0x266cca['scriptName']||_0x266cca[_0x275be3(0x1d5)]||(_0x266cca[_0x275be3(0x20c)]==null?'':String(_0x266cca[_0x275be3(0x20c)]));if(!_0x453d1d)throw CliErrors[_0x275be3(0x1e1)]('Service\x20command\x20'+_0x173535[_0x275be3(0x236)]+_0x275be3(0x1dd));return executeSdkBff(_0x453d1d,_0x266cca[_0x275be3(0x234)]);}throw CliErrors[_0x275be3(0x1e1)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x266cca[_0x275be3(0x1e5)]);}async function resolveDatasetCode(_0x1169f3,_0x386a8b,_0x3b08bd){const _0x271706=a60_0x39c7;if(_0x1169f3[_0x271706(0x1e2)])return _0x1169f3[_0x271706(0x1e2)];if(!_0x1169f3['datatable'])throw CliErrors['validation']('Service\x20command\x20'+_0x386a8b[_0x271706(0x236)]+_0x271706(0x217));const _0x127a37=await listDatasets(_0x3b08bd[_0x271706(0x21a)]),_0x3e7949=_0x127a37[_0x271706(0x219)](_0x5b2c3e=>_0x5b2c3e[_0x271706(0x1d2)]?.['tableName']===_0x1169f3[_0x271706(0x1ef)]);if(!_0x3e7949?.[_0x271706(0x1e3)])throw CliErrors[_0x271706(0x1e1)]('Cannot\x20resolve\x20datatable\x20\x22'+_0x1169f3[_0x271706(0x1ef)]+_0x271706(0x1e7)+_0x3b08bd[_0x271706(0x21a)]+'.',_0x271706(0x214));return _0x3e7949[_0x271706(0x1e3)];}function applyAppBinding(_0x52227a,_0x2f40db,_0x547d6e){const _0x34ec34=a60_0x39c7,_0x4b2e6e=_0x2f40db['target'][_0x34ec34(0x228)];if(!_0x4b2e6e)return;const _0x2408aa=_0x52227a['appBindings'][_0x4b2e6e];if(!_0x2408aa)throw CliErrors['validation']('Unknown\x20appRef\x20\x22'+_0x4b2e6e+_0x34ec34(0x22b)+_0x2f40db[_0x34ec34(0x236)]+'.',_0x34ec34(0x22d));const _0x46e5a7=_0x2408aa[_0x34ec34(0x1f3)]||_0x2408aa['appCode'];_0x46e5a7&&!hasText(_0x547d6e['appcode'])&&(_0x547d6e[_0x34ec34(0x1f3)]=_0x46e5a7),_0x2408aa['app']&&!hasText(_0x547d6e['app'])&&!hasText(_0x547d6e['appcode'])&&(_0x547d6e[_0x34ec34(0x1f4)]=_0x2408aa[_0x34ec34(0x1f4)]),_0x2408aa[_0x34ec34(0x1d3)]&&!hasText(_0x547d6e[_0x34ec34(0x1d3)])&&(_0x547d6e[_0x34ec34(0x1d3)]=_0x2408aa[_0x34ec34(0x1d3)]);}function renderDynamicCommandHelp(_0x2d2349){const _0x51bb61=a60_0x39c7,_0x28971b=[_0x51bb61(0x1e4),_0x51bb61(0x22a)+_0x2d2349[_0x51bb61(0x231)]['kind'],_0x51bb61(0x20b)+_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x213)]];if(_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1e2)])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x1d7)+_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1e2)]);if(_0x2d2349[_0x51bb61(0x231)][_0x51bb61(0x1ef)])_0x28971b['push']('\x20\x20\x20\x20datatable:\x20'+_0x2d2349['target']['datatable']);if(_0x2d2349[_0x51bb61(0x231)]['sqlCode'])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x20f)+_0x2d2349['target'][_0x51bb61(0x20a)]);if(_0x2d2349['target']['scriptName'])_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x22c)+_0x2d2349['target'][_0x51bb61(0x1d9)]);if(_0x2d2349[_0x51bb61(0x1de)][_0x51bb61(0x1e8)]>0x0){_0x28971b[_0x51bb61(0x230)]('',_0x51bb61(0x1f9));for(const _0x1a3d99 of _0x2d2349[_0x51bb61(0x1de)]){_0x28971b[_0x51bb61(0x230)](_0x51bb61(0x226)+(_0x1a3d99[_0x51bb61(0x22f)]||'const')+_0x51bb61(0x1ea)+_0x1a3d99[_0x51bb61(0x231)]+(_0x1a3d99['operator']?'.'+_0x1a3d99[_0x51bb61(0x1ee)]:''));}}return _0x28971b[_0x51bb61(0x21b)]('\x0a');}function targetPreview(_0x61883){const _0x352a67=a60_0x39c7;return{'kind':_0x61883['kind'],'command':_0x61883[_0x352a67(0x213)],'appRef':_0x61883['appRef'],'datasetCode':_0x61883[_0x352a67(0x1e2)],'datatable':_0x61883[_0x352a67(0x1ef)],'sqlCode':_0x61883[_0x352a67(0x20a)],'bffCode':_0x61883[_0x352a67(0x1d5)],'bffId':_0x61883[_0x352a67(0x20c)],'functionName':_0x61883[_0x352a67(0x1d9)]};}function normalizeScalarParams(_0x125dbf){const _0x150b24=a60_0x39c7;return Object['fromEntries'](Object[_0x150b24(0x229)](_0x125dbf)['filter'](([,_0x26c00c])=>typeof _0x26c00c===_0x150b24(0x1da)||typeof _0x26c00c==='number'));}function hasText(_0x10dfef){const _0x5229bf=a60_0x39c7;return typeof _0x10dfef==='string'&&_0x10dfef['trim']()[_0x5229bf(0x1e8)]>0x0;}function isPrimitiveFlagDefault(_0x2d1105){const _0x47c0da=a60_0x39c7;return _0x2d1105===undefined||typeof _0x2d1105===_0x47c0da(0x1da)||typeof _0x2d1105===_0x47c0da(0x218)||typeof _0x2d1105==='boolean';}
@@ -1 +1 @@
1
- (function(_0x54521c,_0x1654b5){const _0xb002a=a61_0x13b7,_0x4a5489=_0x54521c();while(!![]){try{const _0x33acc0=-parseInt(_0xb002a(0x89))/0x1+parseInt(_0xb002a(0x72))/0x2*(-parseInt(_0xb002a(0x76))/0x3)+parseInt(_0xb002a(0x7e))/0x4+-parseInt(_0xb002a(0x7f))/0x5+parseInt(_0xb002a(0x83))/0x6+parseInt(_0xb002a(0x81))/0x7+parseInt(_0xb002a(0x7b))/0x8;if(_0x33acc0===_0x1654b5)break;else _0x4a5489['push'](_0x4a5489['shift']());}catch(_0x33dbbc){_0x4a5489['push'](_0x4a5489['shift']());}}}(a61_0x41b8,0x2bde6));export function adaptServiceTreeManifestForLegacyFramework(_0x1963ee){const _0x344cbe=a61_0x13b7,_0x2788ef=cloneJsonValue(_0x1963ee),_0x2afc87=[];if(!isObjectRecord(_0x2788ef))return{'manifest':_0x2788ef,'errors':_0x2afc87};return Array[_0x344cbe(0x86)](_0x2788ef[_0x344cbe(0x8f)])&&_0x2788ef['commands'][_0x344cbe(0x92)]((_0x38d1d9,_0x21f523)=>{const _0x3094b6=_0x344cbe;if(!isObjectRecord(_0x38d1d9))return;adaptBffTarget(_0x38d1d9['target'],_0x3094b6(0x90)+_0x21f523+'].target',_0x2afc87);}),adaptResources(_0x2788ef['resources'],_0x344cbe(0x82),_0x2afc87),{'manifest':_0x2788ef,'errors':_0x2afc87};}function a61_0x41b8(){const _0x4f0462=['entries','.target','commands','$.commands[','bff','forEach','.actions.','resources','functionName\x20must\x20be\x20a\x20non-empty\x20string.','3346rVkHCm','kind','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','prototype','303IVGUvr','map','trim','string','object','976168tEYgxh','functionName','error','453852uNwihX','64935nOGQyT','hasOwnProperty','1217643ThOXsU','$.resources','90954PCvKni','bff.exec','target','isArray','.resources','scriptName','62946lEQxPX','actions','action','call'];a61_0x41b8=function(){return _0x4f0462;};return a61_0x41b8();}export function toPublicServiceTreeTarget(_0x11433f){const _0x7b78cd=a61_0x13b7,{scriptName:_0x16fb60,..._0x125ce5}=_0x11433f;return typeof _0x16fb60==='string'&&_0x16fb60[_0x7b78cd(0x78)]()&&(_0x125ce5['functionName']=_0x16fb60),_0x125ce5;}export function toPublicNormalizedServiceTree(_0x4a16fa){const _0x172070=a61_0x13b7;return{..._0x4a16fa,'commands':_0x4a16fa[_0x172070(0x8f)][_0x172070(0x77)](_0x50ca49=>({..._0x50ca49,'target':toPublicServiceTreeTarget(_0x50ca49['target'])}))};}function adaptResources(_0x1e21ea,_0x13ee78,_0x5e9950){const _0x2d1f0c=a61_0x13b7;if(!isObjectRecord(_0x1e21ea))return;for(const [_0x59deba,_0x45688f]of Object[_0x2d1f0c(0x8d)](_0x1e21ea)){if(!isObjectRecord(_0x45688f))continue;const _0x571a9a=_0x13ee78+'.'+_0x59deba;if(isObjectRecord(_0x45688f[_0x2d1f0c(0x8a)]))for(const [_0x2c7073,_0x496931]of Object[_0x2d1f0c(0x8d)](_0x45688f[_0x2d1f0c(0x8a)])){if(!isObjectRecord(_0x496931))continue;const _0x53f2ce=_0x571a9a+_0x2d1f0c(0x93)+_0x2c7073,_0x560dcb=isObjectRecord(_0x496931[_0x2d1f0c(0x85)])&&_0x496931['target'][_0x2d1f0c(0x73)]===_0x2d1f0c(0x91);adaptBffTarget(_0x496931[_0x2d1f0c(0x85)],_0x53f2ce+_0x2d1f0c(0x8e),_0x5e9950),(_0x560dcb||isBffAction(_0x496931))&&adaptFunctionNameField(_0x496931,_0x53f2ce,_0x5e9950);}adaptResources(_0x45688f[_0x2d1f0c(0x94)],_0x571a9a+_0x2d1f0c(0x87),_0x5e9950);}}function adaptBffTarget(_0x8e1e9b,_0x3a0e1d,_0x805bec){const _0x2ce405=a61_0x13b7;if(!isObjectRecord(_0x8e1e9b)||_0x8e1e9b['kind']!==_0x2ce405(0x91))return;adaptFunctionNameField(_0x8e1e9b,_0x3a0e1d,_0x805bec);}function adaptFunctionNameField(_0x28d4b2,_0x1605db,_0x59b0d4){const _0x2af7bf=a61_0x13b7;Object[_0x2af7bf(0x75)]['hasOwnProperty'][_0x2af7bf(0x8c)](_0x28d4b2,_0x2af7bf(0x88))&&_0x59b0d4['push']({'level':_0x2af7bf(0x7d),'path':_0x1605db+'.scriptName','message':_0x2af7bf(0x74)});if(Object[_0x2af7bf(0x75)][_0x2af7bf(0x80)]['call'](_0x28d4b2,_0x2af7bf(0x7c))){if(typeof _0x28d4b2[_0x2af7bf(0x7c)]!==_0x2af7bf(0x79)||!_0x28d4b2[_0x2af7bf(0x7c)][_0x2af7bf(0x78)]()){_0x59b0d4['push']({'level':_0x2af7bf(0x7d),'path':_0x1605db+'.functionName','message':_0x2af7bf(0x95)}),delete _0x28d4b2['functionName'];return;}_0x28d4b2[_0x2af7bf(0x88)]=_0x28d4b2[_0x2af7bf(0x7c)],delete _0x28d4b2['functionName'];}}function a61_0x13b7(_0x1b160e,_0x41d6e3){_0x1b160e=_0x1b160e-0x72;const _0x41b82f=a61_0x41b8();let _0x13b71f=_0x41b82f[_0x1b160e];return _0x13b71f;}function isBffAction(_0x3bc4d3){const _0x3afdad=a61_0x13b7;return _0x3bc4d3[_0x3afdad(0x73)]==='bff'||_0x3bc4d3[_0x3afdad(0x8b)]==='bff.exec'||_0x3bc4d3[_0x3afdad(0x85)]===_0x3afdad(0x84);}function cloneJsonValue(_0x35e36c){const _0x46af33=a61_0x13b7;if(Array[_0x46af33(0x86)](_0x35e36c))return _0x35e36c[_0x46af33(0x77)](_0x18ac9a=>cloneJsonValue(_0x18ac9a));if(isObjectRecord(_0x35e36c))return Object['fromEntries'](Object[_0x46af33(0x8d)](_0x35e36c)['map'](([_0x5576e7,_0x486ef0])=>[_0x5576e7,cloneJsonValue(_0x486ef0)]));return _0x35e36c;}function isObjectRecord(_0x57212e){const _0x2bc9c2=a61_0x13b7;return Boolean(_0x57212e)&&typeof _0x57212e===_0x2bc9c2(0x7a)&&!Array[_0x2bc9c2(0x86)](_0x57212e);}
1
+ (function(_0x2ea2d5,_0xbd191a){const _0x2aadc7=a61_0x5980,_0x26bd75=_0x2ea2d5();while(!![]){try{const _0x481b5e=parseInt(_0x2aadc7(0x1e4))/0x1*(-parseInt(_0x2aadc7(0x1e1))/0x2)+-parseInt(_0x2aadc7(0x1cf))/0x3*(parseInt(_0x2aadc7(0x1ce))/0x4)+-parseInt(_0x2aadc7(0x1d6))/0x5*(-parseInt(_0x2aadc7(0x1d2))/0x6)+parseInt(_0x2aadc7(0x1f3))/0x7+parseInt(_0x2aadc7(0x1e0))/0x8+parseInt(_0x2aadc7(0x1d3))/0x9*(-parseInt(_0x2aadc7(0x1f2))/0xa)+parseInt(_0x2aadc7(0x1ee))/0xb;if(_0x481b5e===_0xbd191a)break;else _0x26bd75['push'](_0x26bd75['shift']());}catch(_0x49dcbd){_0x26bd75['push'](_0x26bd75['shift']());}}}(a61_0x169d,0x80e7a));export function adaptServiceTreeManifestForLegacyFramework(_0x54028a){const _0x4b731d=a61_0x5980,_0x30e29c=cloneJsonValue(_0x54028a),_0x5cea19=[];if(!isObjectRecord(_0x30e29c))return{'manifest':_0x30e29c,'errors':_0x5cea19};return Array[_0x4b731d(0x1e5)](_0x30e29c[_0x4b731d(0x1d8)])&&_0x30e29c[_0x4b731d(0x1d8)][_0x4b731d(0x1df)]((_0x517e23,_0xb3b2d2)=>{const _0x926308=_0x4b731d;if(!isObjectRecord(_0x517e23))return;adaptBffTarget(_0x517e23[_0x926308(0x1cd)],_0x926308(0x1ef)+_0xb3b2d2+_0x926308(0x1f1),_0x5cea19);}),adaptResources(_0x30e29c[_0x4b731d(0x1ec)],_0x4b731d(0x1f5),_0x5cea19),{'manifest':_0x30e29c,'errors':_0x5cea19};}export function toPublicServiceTreeTarget(_0x5f559c){const _0x1bcbf1=a61_0x5980,{scriptName:_0x1b0951,..._0x34cffa}=_0x5f559c;return typeof _0x1b0951===_0x1bcbf1(0x1d5)&&_0x1b0951['trim']()&&(_0x34cffa[_0x1bcbf1(0x1dd)]=_0x1b0951),_0x34cffa;}export function toPublicNormalizedServiceTree(_0x3bc3e8){const _0x1d3511=a61_0x5980;return{..._0x3bc3e8,'commands':_0x3bc3e8[_0x1d3511(0x1d8)][_0x1d3511(0x1f4)](_0x2fccb2=>({..._0x2fccb2,'target':toPublicServiceTreeTarget(_0x2fccb2[_0x1d3511(0x1cd)])}))};}function adaptResources(_0x614f85,_0x5e112b,_0x3a36b9){const _0x353066=a61_0x5980;if(!isObjectRecord(_0x614f85))return;for(const [_0x432783,_0x1f45e2]of Object[_0x353066(0x1d0)](_0x614f85)){if(!isObjectRecord(_0x1f45e2))continue;const _0x5940db=_0x5e112b+'.'+_0x432783;if(isObjectRecord(_0x1f45e2[_0x353066(0x1d7)]))for(const [_0x2e6cfd,_0x5e226f]of Object[_0x353066(0x1d0)](_0x1f45e2[_0x353066(0x1d7)])){if(!isObjectRecord(_0x5e226f))continue;const _0xbd268a=_0x5940db+_0x353066(0x1e3)+_0x2e6cfd,_0x431e00=isObjectRecord(_0x5e226f[_0x353066(0x1cd)])&&_0x5e226f['target'][_0x353066(0x1e7)]===_0x353066(0x1e6);adaptBffTarget(_0x5e226f[_0x353066(0x1cd)],_0xbd268a+_0x353066(0x1d9),_0x3a36b9),(_0x431e00||isBffAction(_0x5e226f))&&adaptFunctionNameField(_0x5e226f,_0xbd268a,_0x3a36b9);}adaptResources(_0x1f45e2[_0x353066(0x1ec)],_0x5940db+_0x353066(0x1f0),_0x3a36b9);}}function adaptBffTarget(_0x3c2736,_0xc83c,_0x1aab65){const _0x2c74d7=a61_0x5980;if(!isObjectRecord(_0x3c2736)||_0x3c2736[_0x2c74d7(0x1e7)]!==_0x2c74d7(0x1e6))return;adaptFunctionNameField(_0x3c2736,_0xc83c,_0x1aab65);}function adaptFunctionNameField(_0x5a10fb,_0x170397,_0x41bdab){const _0x360142=a61_0x5980;Object[_0x360142(0x1eb)][_0x360142(0x1e8)][_0x360142(0x1db)](_0x5a10fb,_0x360142(0x1e9))&&_0x41bdab[_0x360142(0x1dc)]({'level':_0x360142(0x1d1),'path':_0x170397+'.scriptName','message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0x360142(0x1eb)][_0x360142(0x1e8)][_0x360142(0x1db)](_0x5a10fb,'functionName')){if(typeof _0x5a10fb[_0x360142(0x1dd)]!==_0x360142(0x1d5)||!_0x5a10fb[_0x360142(0x1dd)][_0x360142(0x1de)]()){_0x41bdab[_0x360142(0x1dc)]({'level':_0x360142(0x1d1),'path':_0x170397+_0x360142(0x1da),'message':_0x360142(0x1ea)}),delete _0x5a10fb[_0x360142(0x1dd)];return;}_0x5a10fb[_0x360142(0x1e9)]=_0x5a10fb[_0x360142(0x1dd)],delete _0x5a10fb[_0x360142(0x1dd)];}}function isBffAction(_0x473526){const _0x8095ff=a61_0x5980;return _0x473526[_0x8095ff(0x1e7)]===_0x8095ff(0x1e6)||_0x473526[_0x8095ff(0x1e2)]===_0x8095ff(0x1d4)||_0x473526['target']===_0x8095ff(0x1d4);}function a61_0x169d(){const _0x4669fc=['$.resources','target','8woGjgZ','1326165KRPPMJ','entries','error','18mCgdwo','547938wnFRtg','bff.exec','string','1197830gTIEHb','actions','commands','.target','.functionName','call','push','functionName','trim','forEach','5123736NQPzGB','126606MGkSbt','action','.actions.','5YPcePu','isArray','bff','kind','hasOwnProperty','scriptName','functionName\x20must\x20be\x20a\x20non-empty\x20string.','prototype','resources','fromEntries','3705108OSCxPU','$.commands[','.resources','].target','120bdKjDf','5342470QQYrAX','map'];a61_0x169d=function(){return _0x4669fc;};return a61_0x169d();}function cloneJsonValue(_0x31e37f){const _0x5371d1=a61_0x5980;if(Array[_0x5371d1(0x1e5)](_0x31e37f))return _0x31e37f['map'](_0x313b3f=>cloneJsonValue(_0x313b3f));if(isObjectRecord(_0x31e37f))return Object[_0x5371d1(0x1ed)](Object['entries'](_0x31e37f)['map'](([_0x3854c2,_0x700547])=>[_0x3854c2,cloneJsonValue(_0x700547)]));return _0x31e37f;}function a61_0x5980(_0x345ae0,_0x175752){_0x345ae0=_0x345ae0-0x1cd;const _0x169d06=a61_0x169d();let _0x598091=_0x169d06[_0x345ae0];return _0x598091;}function isObjectRecord(_0x2168c1){const _0x51e156=a61_0x5980;return Boolean(_0x2168c1)&&typeof _0x2168c1==='object'&&!Array[_0x51e156(0x1e5)](_0x2168c1);}
@@ -1 +1 @@
1
- const a62_0xba388b=a62_0x9cf6;(function(_0x4102ec,_0x413af9){const _0xfa27dc=a62_0x9cf6,_0x25b4c6=_0x4102ec();while(!![]){try{const _0x2d6a2c=parseInt(_0xfa27dc(0x214))/0x1*(parseInt(_0xfa27dc(0x222))/0x2)+-parseInt(_0xfa27dc(0x1fd))/0x3*(parseInt(_0xfa27dc(0x227))/0x4)+parseInt(_0xfa27dc(0x1ea))/0x5*(-parseInt(_0xfa27dc(0x216))/0x6)+-parseInt(_0xfa27dc(0x228))/0x7*(parseInt(_0xfa27dc(0x1ec))/0x8)+-parseInt(_0xfa27dc(0x1fc))/0x9+parseInt(_0xfa27dc(0x225))/0xa*(-parseInt(_0xfa27dc(0x1f6))/0xb)+parseInt(_0xfa27dc(0x1ed))/0xc;if(_0x2d6a2c===_0x413af9)break;else _0x25b4c6['push'](_0x25b4c6['shift']());}catch(_0x3769c5){_0x25b4c6['push'](_0x25b4c6['shift']());}}}(a62_0x2821,0x59b15));function a62_0x2821(){const _0x120dd7=['file','length','detail','2Vhsxnq','normalizedManifest','14754pFOmVF','Removed\x20service\x20','Updated','list','description','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','risk','write','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','updated','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','cliName','12344gQIMBe','map','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','110DDlGtA','commands','400588JmlVUD','7ydWQrJ','kind','validate','read','entry','flags','service','lower\x20kebab-case\x20service\x20code','Imported\x20','registryServiceCode','importedAt','manifest','WRITE','manifests','registry','535JziDUQ','source','207608tkMClL','24067296QIJaOo','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','report','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','target','type','warnings','errors','filePath','617276SFOfdJ','hash','string','serviceCount','version','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','5796756jmKWYU','3AFxKiR','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','\x20service\x20','cliPath','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Service\x20Tree\x20manifest\x20file\x20path','Service\x20registry\x20validation\x20passed.','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20manifest\x20validation\x20passed.','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','replaced','registryPath','serviceCode','str','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','reduce','name','export','Local\x20service\x20code,\x20for\x20example\x20crm','imported'];a62_0x2821=function(){return _0x120dd7;};return a62_0x2821();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';function a62_0x9cf6(_0x2852bd,_0x30bf7f){_0x2852bd=_0x2852bd-0x1e9;const _0x282174=a62_0x2821();let _0x9cf6fd=_0x282174[_0x2852bd];return _0x9cf6fd;}import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a62_0xba388b(0x211),'type':a62_0xba388b(0x1f8),'required':!![],'description':a62_0xba388b(0x202)},SERVICE_FLAG={'name':'service','type':a62_0xba388b(0x1f8),'required':!![],'description':a62_0xba388b(0x20f),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a62_0xba388b(0x22f)}};function summarizeService(_0x505d92){const _0x48d2f4=a62_0xba388b;return{'serviceCode':_0x505d92[_0x48d2f4(0x209)],'name':_0x505d92[_0x48d2f4(0x215)][_0x48d2f4(0x22e)][_0x48d2f4(0x20d)],'version':_0x505d92[_0x48d2f4(0x1fa)],'importedAt':_0x505d92[_0x48d2f4(0x232)],'source':_0x505d92[_0x48d2f4(0x1eb)],'commandCount':_0x505d92['normalizedManifest'][_0x48d2f4(0x226)]['length'],'commands':_0x505d92['normalizedManifest'][_0x48d2f4(0x226)][_0x48d2f4(0x223)](_0x29cd5a=>({'path':_0x29cd5a[_0x48d2f4(0x200)],'description':_0x29cd5a[_0x48d2f4(0x21a)],'risk':_0x29cd5a[_0x48d2f4(0x21c)],'target':toPublicServiceTreeTarget(_0x29cd5a[_0x48d2f4(0x1f1)]),'flags':_0x29cd5a[_0x48d2f4(0x22d)][_0x48d2f4(0x223)](_0x2efb78=>({'name':_0x2efb78[_0x48d2f4(0x20d)],'cliName':_0x2efb78[_0x48d2f4(0x221)],'type':_0x2efb78[_0x48d2f4(0x1f2)],'required':_0x2efb78['required']===!![]}))}))};}function summarizeLoadedManifest(_0x57d36d){const _0x35d2e6=a62_0xba388b;return{'service':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x22e)],'version':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x1fa)],'commandCount':_0x57d36d[_0x35d2e6(0x215)]?.[_0x35d2e6(0x226)][_0x35d2e6(0x212)]??0x0,'commands':_0x57d36d['normalizedManifest']?.['commands'][_0x35d2e6(0x223)](_0x3b6d3d=>({'path':_0x3b6d3d[_0x35d2e6(0x200)],'risk':_0x3b6d3d[_0x35d2e6(0x21c)],'target':toPublicServiceTreeTarget(_0x3b6d3d[_0x35d2e6(0x1f1)])}))??[],'registryIndex':_0x57d36d['registryIndex'],'registryServiceCode':_0x57d36d[_0x35d2e6(0x231)],'errors':_0x57d36d[_0x35d2e6(0x1ef)][_0x35d2e6(0x1f4)],'warnings':_0x57d36d['report'][_0x35d2e6(0x1f3)]};}export const serviceDefinitions=[{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x22a),'description':a62_0xba388b(0x220),'risk':a62_0xba388b(0x22b),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x16d622){const _0x1326d7=a62_0xba388b,_0x29140d=loadServiceManifestFromFile(_0x16d622[_0x1326d7(0x20a)]('file'));if(!_0x29140d['report']['ok'])return{'ok':![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d[_0x1326d7(0x229)],'serviceCount':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x212)],'services':_0x29140d['manifests'][_0x1326d7(0x223)](summarizeLoadedManifest),'errors':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f4)],'warnings':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f3)]},'message':formatValidationFailure(_0x29140d[_0x1326d7(0x1ef)])};if(_0x29140d[_0x1326d7(0x229)]===_0x1326d7(0x1e9)||_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x212)]!==0x1)return{'ok':!![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d['kind'],'serviceCount':_0x29140d['manifests'][_0x1326d7(0x212)],'commandCount':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x20c)]((_0x183eaf,_0x54ec87)=>_0x183eaf+(_0x54ec87['normalizedManifest']?.[_0x1326d7(0x226)]['length']??0x0),0x0),'services':_0x29140d[_0x1326d7(0x235)][_0x1326d7(0x223)](summarizeLoadedManifest),'warnings':_0x29140d['report'][_0x1326d7(0x1f3)]},'message':_0x1326d7(0x203)};return{'ok':!![],'data':{'file':_0x29140d[_0x1326d7(0x1f5)],'hash':_0x29140d['hash'],'kind':_0x29140d[_0x1326d7(0x229)],'service':_0x29140d[_0x1326d7(0x215)]?.[_0x1326d7(0x22e)],'version':_0x29140d[_0x1326d7(0x215)]?.['version'],'commandCount':_0x29140d[_0x1326d7(0x215)]?.['commands'][_0x1326d7(0x212)]??0x0,'commands':_0x29140d[_0x1326d7(0x215)]?.[_0x1326d7(0x226)]['map'](_0x116571=>({'path':_0x116571[_0x1326d7(0x200)],'risk':_0x116571[_0x1326d7(0x21c)],'target':toPublicServiceTreeTarget(_0x116571[_0x1326d7(0x1f1)])})),'warnings':_0x29140d[_0x1326d7(0x1ef)][_0x1326d7(0x1f3)]},'message':_0x1326d7(0x205)};}},{'service':a62_0xba388b(0x22e),'command':'import','description':a62_0xba388b(0x20b),'risk':a62_0xba388b(0x21d),'confirmationDescription':a62_0xba388b(0x21e),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0xde0fb){const _0x45eedb=a62_0xba388b,_0x145430=loadServiceManifestFromFile(_0xde0fb[_0x45eedb(0x20a)](_0x45eedb(0x211)));return{'method':_0x45eedb(0x234),'url':getServiceRegistryPath(),'body':{'file':_0x145430[_0x45eedb(0x1f5)],'hash':_0x145430[_0x45eedb(0x1f7)],'kind':_0x145430['kind'],'ok':_0x145430[_0x45eedb(0x1ef)]['ok'],'service':_0x145430[_0x45eedb(0x215)]?.[_0x45eedb(0x22e)],'version':_0x145430[_0x45eedb(0x215)]?.[_0x45eedb(0x1fa)],'serviceCount':_0x145430[_0x45eedb(0x235)][_0x45eedb(0x212)],'services':_0x145430['manifests']['map'](_0x30e96e=>({'service':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x22e)],'version':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x1fa)],'commandCount':_0x30e96e[_0x45eedb(0x215)]?.[_0x45eedb(0x226)][_0x45eedb(0x212)]??0x0,'errors':_0x30e96e[_0x45eedb(0x1ef)][_0x45eedb(0x1f4)]})),'errors':_0x145430[_0x45eedb(0x1ef)]['errors'],'commandCount':_0x145430['normalizedManifest']?.[_0x45eedb(0x226)][_0x45eedb(0x212)]??0x0},'description':_0x45eedb(0x201)};},async 'execute'(_0x502e9f){const _0x37fdd7=a62_0xba388b,_0x1b723c=importServiceManifest(_0x502e9f['str'](_0x37fdd7(0x211)));if(_0x1b723c['entries'][_0x37fdd7(0x212)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1b723c[_0x37fdd7(0x208)],'imported':_0x1b723c[_0x37fdd7(0x210)],'updated':_0x1b723c[_0x37fdd7(0x21f)],'serviceCount':_0x1b723c[_0x37fdd7(0x1f9)],'services':_0x1b723c['entries'][_0x37fdd7(0x223)](summarizeService)},'message':_0x37fdd7(0x230)+_0x1b723c[_0x37fdd7(0x210)]+'\x20service(s),\x20updated\x20'+_0x1b723c['updated']+'\x20service(s).'};return{'ok':!![],'data':{'registryPath':_0x1b723c[_0x37fdd7(0x208)],'replaced':_0x1b723c[_0x37fdd7(0x207)],'imported':_0x1b723c['imported'],'updated':_0x1b723c[_0x37fdd7(0x21f)],'serviceCount':_0x1b723c[_0x37fdd7(0x1f9)],'service':summarizeService(_0x1b723c[_0x37fdd7(0x22c)])},'message':(_0x1b723c[_0x37fdd7(0x207)]?_0x37fdd7(0x218):'Imported')+_0x37fdd7(0x1ff)+_0x1b723c[_0x37fdd7(0x22c)]['serviceCode']+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x20e),'description':a62_0xba388b(0x1ee),'risk':a62_0xba388b(0x21d),'confirmationDescription':a62_0xba388b(0x1f0),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x4144e6){const _0x308289=a62_0xba388b,_0x3add5c=getLocalServiceEntry(_0x4144e6[_0x308289(0x20a)](_0x308289(0x22e)));return{'method':_0x308289(0x234),'url':_0x4144e6[_0x308289(0x20a)](_0x308289(0x211)),'body':{'service':_0x4144e6['str']('service'),'found':Boolean(_0x3add5c),'version':_0x3add5c?.[_0x308289(0x1fa)],'source':_0x3add5c?.[_0x308289(0x1eb)]},'description':_0x308289(0x1fe)};},async 'execute'(_0x1ad5fb){const _0x5f0e60=a62_0xba388b,_0x577db9=exportServiceManifest(_0x1ad5fb[_0x5f0e60(0x20a)]('service'),_0x1ad5fb[_0x5f0e60(0x20a)]('file'));return{'ok':!![],'data':{'registryPath':_0x577db9[_0x5f0e60(0x208)],'file':_0x577db9[_0x5f0e60(0x1f5)],'service':summarizeService(_0x577db9[_0x5f0e60(0x22c)])},'message':'Exported\x20service\x20'+_0x577db9[_0x5f0e60(0x22c)][_0x5f0e60(0x209)]+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x219),'description':a62_0xba388b(0x224),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xfef007=a62_0xba388b,_0x2a510c=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2a510c['length'],'services':_0x2a510c[_0xfef007(0x223)](summarizeService)}};}},{'service':a62_0xba388b(0x22e),'command':'remove','description':a62_0xba388b(0x204),'risk':'write','confirmationDescription':a62_0xba388b(0x21b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5c2d27){const _0x5a3fb4=a62_0xba388b,_0x550793=getLocalServiceEntry(_0x5c2d27['str'](_0x5a3fb4(0x22e)));return{'method':_0x5a3fb4(0x234),'url':getServiceRegistryPath(),'body':{'service':_0x5c2d27['str'](_0x5a3fb4(0x22e)),'found':Boolean(_0x550793),'version':_0x550793?.[_0x5a3fb4(0x1fa)],'source':_0x550793?.[_0x5a3fb4(0x1eb)]},'description':_0x5a3fb4(0x206)};},async 'execute'(_0x391ace){const _0x302903=a62_0xba388b,_0x532919=removeServiceManifest(_0x391ace[_0x302903(0x20a)](_0x302903(0x22e)));return{'ok':!![],'data':{'registryPath':_0x532919[_0x302903(0x208)],'serviceCount':_0x532919[_0x302903(0x1f9)],'service':summarizeService(_0x532919[_0x302903(0x22c)])},'message':_0x302903(0x217)+_0x532919[_0x302903(0x22c)][_0x302903(0x209)]+'.'};}},{'service':a62_0xba388b(0x22e),'command':a62_0xba388b(0x213),'description':a62_0xba388b(0x1fb),'risk':a62_0xba388b(0x22b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2adca6){const _0x166c52=a62_0xba388b,_0x30ce29=getLocalServiceEntry(_0x2adca6['str']('service'));if(!_0x30ce29)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2adca6[_0x166c52(0x20a)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x2adca6[_0x166c52(0x20a)](_0x166c52(0x22e))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x30ce29),'manifest':_0x30ce29[_0x166c52(0x233)],'normalizedManifest':toPublicNormalizedServiceTree(_0x30ce29[_0x166c52(0x215)])}};}}];
1
+ function a62_0x2556(_0x55d576,_0x2abe12){_0x55d576=_0x55d576-0x169;const _0x803913=a62_0x8039();let _0x2556ac=_0x803913[_0x55d576];return _0x2556ac;}const a62_0x257f4a=a62_0x2556;(function(_0x47261e,_0x1b3911){const _0x495fca=a62_0x2556,_0x5def8e=_0x47261e();while(!![]){try{const _0x2bf9bd=parseInt(_0x495fca(0x19f))/0x1*(parseInt(_0x495fca(0x1af))/0x2)+parseInt(_0x495fca(0x185))/0x3+-parseInt(_0x495fca(0x183))/0x4+parseInt(_0x495fca(0x1b0))/0x5+parseInt(_0x495fca(0x1a9))/0x6*(-parseInt(_0x495fca(0x17e))/0x7)+-parseInt(_0x495fca(0x19c))/0x8*(-parseInt(_0x495fca(0x18d))/0x9)+-parseInt(_0x495fca(0x186))/0xa*(parseInt(_0x495fca(0x16f))/0xb);if(_0x2bf9bd===_0x1b3911)break;else _0x5def8e['push'](_0x5def8e['shift']());}catch(_0x54cff0){_0x5def8e['push'](_0x5def8e['shift']());}}}(a62_0x8039,0x99004));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':'file','type':a62_0x257f4a(0x184),'required':!![],'description':a62_0x257f4a(0x199)},SERVICE_FLAG={'name':a62_0x257f4a(0x1a7),'type':a62_0x257f4a(0x184),'required':!![],'description':a62_0x257f4a(0x1b1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x30dd95){const _0x5deb0d=a62_0x257f4a;return{'serviceCode':_0x30dd95[_0x5deb0d(0x1ae)],'name':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1a7)][_0x5deb0d(0x192)],'version':_0x30dd95[_0x5deb0d(0x1a1)],'importedAt':_0x30dd95[_0x5deb0d(0x188)],'source':_0x30dd95[_0x5deb0d(0x1ad)],'commandCount':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1ab)][_0x5deb0d(0x172)],'commands':_0x30dd95[_0x5deb0d(0x1a3)][_0x5deb0d(0x1ab)][_0x5deb0d(0x17c)](_0x2a4484=>({'path':_0x2a4484[_0x5deb0d(0x174)],'description':_0x2a4484['description'],'risk':_0x2a4484[_0x5deb0d(0x182)],'target':toPublicServiceTreeTarget(_0x2a4484[_0x5deb0d(0x181)]),'flags':_0x2a4484[_0x5deb0d(0x18f)][_0x5deb0d(0x17c)](_0x1fe0ef=>({'name':_0x1fe0ef[_0x5deb0d(0x192)],'cliName':_0x1fe0ef[_0x5deb0d(0x1a0)],'type':_0x1fe0ef[_0x5deb0d(0x18e)],'required':_0x1fe0ef['required']===!![]}))}))};}function summarizeLoadedManifest(_0x1fe2c5){const _0x33e253=a62_0x257f4a;return{'service':_0x1fe2c5[_0x33e253(0x1a3)]?.[_0x33e253(0x1a7)],'version':_0x1fe2c5[_0x33e253(0x1a3)]?.['version'],'commandCount':_0x1fe2c5[_0x33e253(0x1a3)]?.['commands'][_0x33e253(0x172)]??0x0,'commands':_0x1fe2c5[_0x33e253(0x1a3)]?.[_0x33e253(0x1ab)][_0x33e253(0x17c)](_0x568274=>({'path':_0x568274[_0x33e253(0x174)],'risk':_0x568274[_0x33e253(0x182)],'target':toPublicServiceTreeTarget(_0x568274[_0x33e253(0x181)])}))??[],'registryIndex':_0x1fe2c5[_0x33e253(0x1ac)],'registryServiceCode':_0x1fe2c5[_0x33e253(0x1a5)],'errors':_0x1fe2c5[_0x33e253(0x195)][_0x33e253(0x193)],'warnings':_0x1fe2c5[_0x33e253(0x195)][_0x33e253(0x16d)]};}export const serviceDefinitions=[{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x1a4),'description':a62_0x257f4a(0x1b2),'risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x146ba8){const _0x12fc8c=a62_0x257f4a,_0x140804=loadServiceManifestFromFile(_0x146ba8['str']('file'));if(!_0x140804[_0x12fc8c(0x195)]['ok'])return{'ok':![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804['hash'],'kind':_0x140804['kind'],'serviceCount':_0x140804['manifests']['length'],'services':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x17c)](summarizeLoadedManifest),'errors':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x193)],'warnings':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x16d)]},'message':formatValidationFailure(_0x140804[_0x12fc8c(0x195)])};if(_0x140804['kind']===_0x12fc8c(0x189)||_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x172)]!==0x1)return{'ok':!![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804[_0x12fc8c(0x180)],'kind':_0x140804[_0x12fc8c(0x197)],'serviceCount':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x172)],'commandCount':_0x140804[_0x12fc8c(0x16c)]['reduce']((_0x4fd7b7,_0x4e30d8)=>_0x4fd7b7+(_0x4e30d8['normalizedManifest']?.['commands'][_0x12fc8c(0x172)]??0x0),0x0),'services':_0x140804[_0x12fc8c(0x16c)][_0x12fc8c(0x17c)](summarizeLoadedManifest),'warnings':_0x140804[_0x12fc8c(0x195)]['warnings']},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x140804[_0x12fc8c(0x179)],'hash':_0x140804[_0x12fc8c(0x180)],'kind':_0x140804[_0x12fc8c(0x197)],'service':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1a7)],'version':_0x140804[_0x12fc8c(0x1a3)]?.['version'],'commandCount':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1ab)][_0x12fc8c(0x172)]??0x0,'commands':_0x140804[_0x12fc8c(0x1a3)]?.[_0x12fc8c(0x1ab)][_0x12fc8c(0x17c)](_0x515a9b=>({'path':_0x515a9b[_0x12fc8c(0x174)],'risk':_0x515a9b[_0x12fc8c(0x182)],'target':toPublicServiceTreeTarget(_0x515a9b[_0x12fc8c(0x181)])})),'warnings':_0x140804[_0x12fc8c(0x195)][_0x12fc8c(0x16d)]},'message':_0x12fc8c(0x19e)};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x1a6),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x194),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x50ee44){const _0x1c6ccb=a62_0x257f4a,_0x3a9a7e=loadServiceManifestFromFile(_0x50ee44[_0x1c6ccb(0x17b)]('file'));return{'method':_0x1c6ccb(0x17d),'url':getServiceRegistryPath(),'body':{'file':_0x3a9a7e[_0x1c6ccb(0x179)],'hash':_0x3a9a7e[_0x1c6ccb(0x180)],'kind':_0x3a9a7e[_0x1c6ccb(0x197)],'ok':_0x3a9a7e['report']['ok'],'service':_0x3a9a7e[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a7)],'version':_0x3a9a7e[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a1)],'serviceCount':_0x3a9a7e['manifests'][_0x1c6ccb(0x172)],'services':_0x3a9a7e[_0x1c6ccb(0x16c)][_0x1c6ccb(0x17c)](_0x312ffa=>({'service':_0x312ffa[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a7)],'version':_0x312ffa[_0x1c6ccb(0x1a3)]?.[_0x1c6ccb(0x1a1)],'commandCount':_0x312ffa[_0x1c6ccb(0x1a3)]?.['commands']['length']??0x0,'errors':_0x312ffa[_0x1c6ccb(0x195)][_0x1c6ccb(0x193)]})),'errors':_0x3a9a7e[_0x1c6ccb(0x195)][_0x1c6ccb(0x193)],'commandCount':_0x3a9a7e['normalizedManifest']?.[_0x1c6ccb(0x1ab)][_0x1c6ccb(0x172)]??0x0},'description':_0x1c6ccb(0x18b)};},async 'execute'(_0x36d34e){const _0x4106be=a62_0x257f4a,_0x42e17b=importServiceManifest(_0x36d34e[_0x4106be(0x17b)]('file'));if(_0x42e17b[_0x4106be(0x177)][_0x4106be(0x172)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x42e17b[_0x4106be(0x173)],'imported':_0x42e17b[_0x4106be(0x1aa)],'updated':_0x42e17b[_0x4106be(0x19b)],'serviceCount':_0x42e17b['serviceCount'],'services':_0x42e17b[_0x4106be(0x177)][_0x4106be(0x17c)](summarizeService)},'message':_0x4106be(0x18c)+_0x42e17b[_0x4106be(0x1aa)]+_0x4106be(0x17a)+_0x42e17b[_0x4106be(0x19b)]+_0x4106be(0x190)};return{'ok':!![],'data':{'registryPath':_0x42e17b['registryPath'],'replaced':_0x42e17b[_0x4106be(0x171)],'imported':_0x42e17b[_0x4106be(0x1aa)],'updated':_0x42e17b[_0x4106be(0x19b)],'serviceCount':_0x42e17b[_0x4106be(0x175)],'service':summarizeService(_0x42e17b[_0x4106be(0x169)])},'message':(_0x42e17b[_0x4106be(0x171)]?_0x4106be(0x187):_0x4106be(0x19a))+'\x20service\x20'+_0x42e17b[_0x4106be(0x169)][_0x4106be(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x196),'description':'Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x170),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x32580f){const _0x2c7aa6=a62_0x257f4a,_0x52ce50=getLocalServiceEntry(_0x32580f[_0x2c7aa6(0x17b)](_0x2c7aa6(0x1a7)));return{'method':'WRITE','url':_0x32580f['str'](_0x2c7aa6(0x16b)),'body':{'service':_0x32580f[_0x2c7aa6(0x17b)](_0x2c7aa6(0x1a7)),'found':Boolean(_0x52ce50),'version':_0x52ce50?.[_0x2c7aa6(0x1a1)],'source':_0x52ce50?.['source']},'description':_0x2c7aa6(0x1a2)};},async 'execute'(_0x497be){const _0x3959d8=a62_0x257f4a,_0x1d0b7c=exportServiceManifest(_0x497be[_0x3959d8(0x17b)](_0x3959d8(0x1a7)),_0x497be['str'](_0x3959d8(0x16b)));return{'ok':!![],'data':{'registryPath':_0x1d0b7c['registryPath'],'file':_0x1d0b7c[_0x3959d8(0x179)],'service':summarizeService(_0x1d0b7c[_0x3959d8(0x169)])},'message':_0x3959d8(0x16a)+_0x1d0b7c[_0x3959d8(0x169)][_0x3959d8(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x537791=a62_0x257f4a,_0x1fd6e0=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1fd6e0[_0x537791(0x172)],'services':_0x1fd6e0[_0x537791(0x17c)](summarizeService)}};}},{'service':a62_0x257f4a(0x1a7),'command':a62_0x257f4a(0x178),'description':a62_0x257f4a(0x198),'risk':a62_0x257f4a(0x1a8),'confirmationDescription':a62_0x257f4a(0x17f),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x54002e){const _0x1fc972=a62_0x257f4a,_0x2f5c95=getLocalServiceEntry(_0x54002e[_0x1fc972(0x17b)](_0x1fc972(0x1a7)));return{'method':_0x1fc972(0x17d),'url':getServiceRegistryPath(),'body':{'service':_0x54002e[_0x1fc972(0x17b)](_0x1fc972(0x1a7)),'found':Boolean(_0x2f5c95),'version':_0x2f5c95?.[_0x1fc972(0x1a1)],'source':_0x2f5c95?.[_0x1fc972(0x1ad)]},'description':_0x1fc972(0x19d)};},async 'execute'(_0x1aed8d){const _0x590d2d=a62_0x257f4a,_0x2c300c=removeServiceManifest(_0x1aed8d[_0x590d2d(0x17b)](_0x590d2d(0x1a7)));return{'ok':!![],'data':{'registryPath':_0x2c300c[_0x590d2d(0x173)],'serviceCount':_0x2c300c[_0x590d2d(0x175)],'service':summarizeService(_0x2c300c[_0x590d2d(0x169)])},'message':'Removed\x20service\x20'+_0x2c300c[_0x590d2d(0x169)][_0x590d2d(0x1ae)]+'.'};}},{'service':a62_0x257f4a(0x1a7),'command':'detail','description':a62_0x257f4a(0x191),'risk':a62_0x257f4a(0x18a),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x5a3a45){const _0x1cf69d=a62_0x257f4a,_0x3aad68=getLocalServiceEntry(_0x5a3a45[_0x1cf69d(0x17b)](_0x1cf69d(0x1a7)));if(!_0x3aad68)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x5a3a45[_0x1cf69d(0x17b)](_0x1cf69d(0x1a7))},'message':_0x1cf69d(0x176)+_0x5a3a45['str'](_0x1cf69d(0x1a7))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3aad68),'manifest':_0x3aad68[_0x1cf69d(0x16e)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3aad68[_0x1cf69d(0x1a3)])}};}}];function a62_0x8039(){const _0x25884d=['Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','hash','target','risk','1955068wjtZPX','string','3320877wRYbjU','18476870FymlLd','Updated','importedAt','registry','read','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Imported\x20','578727KVPqmv','type','flags','\x20service(s).','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','name','errors','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.','report','export','kind','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','Service\x20Tree\x20manifest\x20file\x20path','Imported','updated','152RrVDnP','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Service\x20manifest\x20validation\x20passed.','6TEMFUO','cliName','version','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','normalizedManifest','validate','registryServiceCode','import','service','write','12yVbwWp','imported','commands','registryIndex','source','serviceCode','226454DwQFgr','3401960BKCwpu','Local\x20service\x20code,\x20for\x20example\x20crm','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','entry','Exported\x20service\x20','file','manifests','warnings','manifest','11KsxHJm','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.','replaced','length','registryPath','cliPath','serviceCount','Local\x20service\x20not\x20found:\x20','entries','remove','filePath','\x20service(s),\x20updated\x20','str','map','WRITE','2538634KidOkJ'];a62_0x8039=function(){return _0x25884d;};return a62_0x8039();}
@@ -1 +1 @@
1
- (function(_0x6a205c,_0x1be0fe){const _0x4a0000=a63_0x3d1e,_0x54d3fd=_0x6a205c();while(!![]){try{const _0x3cb2bb=parseInt(_0x4a0000(0x1a4))/0x1+-parseInt(_0x4a0000(0x1f7))/0x2+parseInt(_0x4a0000(0x1b2))/0x3*(parseInt(_0x4a0000(0x1c4))/0x4)+parseInt(_0x4a0000(0x1b5))/0x5+-parseInt(_0x4a0000(0x1c6))/0x6*(parseInt(_0x4a0000(0x1d8))/0x7)+-parseInt(_0x4a0000(0x1a9))/0x8+parseInt(_0x4a0000(0x1ae))/0x9*(parseInt(_0x4a0000(0x1f1))/0xa);if(_0x3cb2bb===_0x1be0fe)break;else _0x54d3fd['push'](_0x54d3fd['shift']());}catch(_0x44b236){_0x54d3fd['push'](_0x54d3fd['shift']());}}}(a63_0x4cc4,0xd4a0c));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';function a63_0x4cc4(){const _0x5e97f3=['1782905SjPGFY','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','description','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','parse','services\x20must\x20be\x20an\x20array','command','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Remove\x20or\x20migrate\x20','manifests','length','serviceCode','splice','source','updatedAt','6040372XAyubn','version','79188HVEbMr','bff\x20target\x20requires\x20functionName.','importedAt','Service\x20manifest\x20validation\x20failed:\x0a','sha256','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','].manifest.','path','.tmp','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','service','flatMap','errors','map','code','commands','startsWith','services','658uLHVsb','message','name','validation','].manifest','hex','report','Invalid\x20service\x20manifest\x20JSON:\x20','CliError','string','filePath','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','Service\x20manifest\x20file\x20not\x20found:\x20','missing','kind','warnings','stringify','push','now','homeDir','Cannot\x20write\x20service\x20registry:\x20','target','findIndex','Unsupported\x20schemaVersion:\x20','invalid','3937420wWtXwe','schemaVersion','join','sort','manifest','sourceHash','1377360IzdfiK','Unsupported\x20service\x20registry\x20schemaVersion:\x20','reduce','slice','empty','update','registryIndex','object','256343ACokcT','cliPath','localeCompare','Local\x20service\x20not\x20found:\x20','$.services[','10332088HjmsKQ','utf8','find','file','normalizedManifest','45WbVpFA','Invalid\x20service\x20registry\x20JSON:\x20','trim','ENOENT','3NoBoZd','toISOString','isArray'];a63_0x4cc4=function(){return _0x5e97f3;};return a63_0x4cc4();}export function getServiceRegistryPath(_0x3d92ee={}){const _0x5ef5a5=a63_0x3d1e;return resolve(_0x3d92ee[_0x5ef5a5(0x1eb)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}function a63_0x3d1e(_0x1ecb44,_0x23043b){_0x1ecb44=_0x1ecb44-0x19d;const _0x4cc4a4=a63_0x4cc4();let _0x3d1edf=_0x4cc4a4[_0x1ecb44];return _0x3d1edf;}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3e5525={}){const _0x503d93=a63_0x3d1e,_0x2ba3bb=getServiceRegistryPath(_0x3e5525);if(!existsSync(_0x2ba3bb))return emptyServiceRegistry();try{const _0x325447=readFileSync(_0x2ba3bb,_0x503d93(0x1aa));if(!_0x325447[_0x503d93(0x1b0)]())return emptyServiceRegistry();const _0x381d66=JSON['parse'](_0x325447);if(_0x381d66[_0x503d93(0x1f2)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x503d93(0x1db)](_0x503d93(0x19d)+String(_0x381d66[_0x503d93(0x1f2)]),_0x503d93(0x1bd)+_0x2ba3bb+'.');if(!Array[_0x503d93(0x1b4)](_0x381d66[_0x503d93(0x1d7)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x381d66[_0x503d93(0x1c3)],'services':_0x381d66[_0x503d93(0x1d7)]};}catch(_0xd7f4a3){if(_0xd7f4a3 instanceof Error&&_0xd7f4a3[_0x503d93(0x1da)]===_0x503d93(0x1e0))throw _0xd7f4a3;throw CliErrors[_0x503d93(0x1db)](_0x503d93(0x1af)+_0x2ba3bb,_0x503d93(0x1bc));}}export function writeServiceRegistry(_0x518bdc,_0x1e5295={}){const _0x2dcaa5=a63_0x3d1e,_0x5c27ab=getServiceRegistryPath(_0x1e5295),_0x1114ac=dirname(_0x5c27ab);!existsSync(_0x1114ac)&&mkdirSync(_0x1114ac,{'recursive':!![]});const _0x1eee40=_0x5c27ab+_0x2dcaa5(0x1ce);try{writeFileSync(_0x1eee40,JSON[_0x2dcaa5(0x1e8)](_0x518bdc,null,0x2)+'\x0a',{'encoding':_0x2dcaa5(0x1aa),'mode':0x180}),renameSync(_0x1eee40,_0x5c27ab);}catch(_0x7f2c47){try{unlinkSync(_0x1eee40);}catch{}if(_0x7f2c47?.[_0x2dcaa5(0x1d4)]===_0x2dcaa5(0x1b1))throw CliErrors[_0x2dcaa5(0x1db)](_0x2dcaa5(0x1ec)+_0x5c27ab);throw _0x7f2c47;}return _0x5c27ab;}export function loadServiceManifestFromFile(_0x1c82d7){const _0x223a6b=a63_0x3d1e,_0x4d4a0e=resolve(_0x1c82d7);if(!existsSync(_0x4d4a0e))throw CliErrors['validation'](_0x223a6b(0x1e4)+_0x1c82d7);let _0x4b3346;const _0x5d6cc3=readFileSync(_0x4d4a0e,_0x223a6b(0x1aa));try{_0x4b3346=JSON[_0x223a6b(0x1b9)](_0x5d6cc3);}catch{throw CliErrors[_0x223a6b(0x1db)](_0x223a6b(0x1df)+_0x1c82d7,_0x223a6b(0x1cf));}const _0x214719=sha256(_0x5d6cc3),_0x1d6326=extractLoadedServiceManifests(_0x4b3346,_0x214719),_0x3fcd3a=aggregateValidationReports(_0x1d6326),_0x3e9da5=_0x1d6326[0x0];return{'filePath':_0x4d4a0e,'hash':_0x214719,'kind':isServiceRegistryLike(_0x4b3346)?'registry':'manifest','manifest':_0x3e9da5?.[_0x223a6b(0x1f5)]??_0x4b3346,'report':_0x3fcd3a,'normalizedManifest':_0x1d6326[_0x223a6b(0x1bf)]===0x1?_0x3e9da5?.[_0x223a6b(0x1ad)]:undefined,'manifests':_0x1d6326};}export function importServiceManifest(_0x5c1d63,_0x3b6cbc={}){const _0x546929=a63_0x3d1e,_0x574826=loadServiceManifestFromFile(_0x5c1d63);if(!_0x574826[_0x546929(0x1de)]['ok'])throw CliErrors[_0x546929(0x1db)](formatValidationFailure(_0x574826[_0x546929(0x1de)]),_0x546929(0x1b8));if(_0x574826[_0x546929(0x1be)][_0x546929(0x1bf)]===0x0)throw CliErrors[_0x546929(0x1db)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x546929(0x1cb));const _0x4c6c01=readServiceRegistry(_0x3b6cbc),_0x355580=(_0x3b6cbc[_0x546929(0x1ea)]??(()=>new Date()))()[_0x546929(0x1b3)](),_0x44de96=[];let _0x38da2a=0x0,_0x4d28c3=0x0;for(const _0x1b6ca4 of _0x574826[_0x546929(0x1be)]){if(!_0x1b6ca4[_0x546929(0x1ad)])continue;const _0x3e307c=_0x1b6ca4[_0x546929(0x1ad)][_0x546929(0x1d0)][_0x546929(0x1d4)],_0x5abec6={'serviceCode':_0x3e307c,'version':_0x1b6ca4['normalizedManifest'][_0x546929(0x1c5)],'importedAt':_0x355580,'source':{'type':_0x546929(0x1ac),'path':_0x574826[_0x546929(0x1e2)],'hash':_0x1b6ca4[_0x546929(0x1f6)]},'manifest':_0x1b6ca4[_0x546929(0x1f5)],'normalizedManifest':_0x1b6ca4['normalizedManifest']},_0x2ef65c=_0x4c6c01[_0x546929(0x1d7)]['findIndex'](_0x1ecd58=>_0x1ecd58[_0x546929(0x1c0)]===_0x3e307c);_0x2ef65c>=0x0?(_0x4c6c01['services'][_0x2ef65c]=_0x5abec6,_0x4d28c3++):(_0x4c6c01[_0x546929(0x1d7)][_0x546929(0x1e9)](_0x5abec6),_0x38da2a++),_0x44de96['push'](_0x5abec6);}_0x4c6c01[_0x546929(0x1d7)][_0x546929(0x1f4)]((_0x5ce57e,_0x1d5d60)=>_0x5ce57e['serviceCode'][_0x546929(0x1a6)](_0x1d5d60[_0x546929(0x1c0)])),_0x4c6c01['updatedAt']=_0x355580;const _0x4dcb2c=writeServiceRegistry(_0x4c6c01,_0x3b6cbc);return{'registryPath':_0x4dcb2c,'entry':_0x44de96[0x0],'replaced':_0x44de96[_0x546929(0x1bf)]===0x1?_0x4d28c3===0x1:_0x4d28c3>0x0,'entries':_0x44de96,'imported':_0x38da2a,'updated':_0x4d28c3,'serviceCount':_0x4c6c01[_0x546929(0x1d7)]['length']};}export function exportServiceManifest(_0x465608,_0x53107a,_0x55406c={}){const _0x4df261=a63_0x3d1e,_0x4dd956=getServiceRegistryPath(_0x55406c),_0x2a8629=getLocalServiceEntry(_0x465608,_0x55406c);if(!_0x2a8629)throw CliErrors[_0x4df261(0x1db)](_0x4df261(0x1a7)+_0x465608,_0x4df261(0x1b6));const _0x547170=resolve(_0x53107a),_0x45a9d9=dirname(_0x547170);return!existsSync(_0x45a9d9)&&mkdirSync(_0x45a9d9,{'recursive':!![]}),writeFileSync(_0x547170,JSON['stringify'](_0x2a8629[_0x4df261(0x1f5)],null,0x2)+'\x0a',{'encoding':_0x4df261(0x1aa),'mode':0x180}),{'registryPath':_0x4dd956,'filePath':_0x547170,'entry':_0x2a8629};}export function removeServiceManifest(_0x403dbc,_0x372d6c={}){const _0x5a02e2=a63_0x3d1e,_0x3c0118=readServiceRegistry(_0x372d6c),_0x4d5fe9=_0x403dbc[_0x5a02e2(0x1b0)](),_0x589540=_0x3c0118[_0x5a02e2(0x1d7)][_0x5a02e2(0x1ee)](_0x47524a=>_0x47524a[_0x5a02e2(0x1c0)]===_0x4d5fe9);if(_0x589540<0x0)throw CliErrors[_0x5a02e2(0x1db)](_0x5a02e2(0x1a7)+_0x4d5fe9,_0x5a02e2(0x1b6));const [_0x29d712]=_0x3c0118[_0x5a02e2(0x1d7)][_0x5a02e2(0x1c1)](_0x589540,0x1),_0x2e3ada=(_0x372d6c['now']??(()=>new Date()))()['toISOString']();_0x3c0118[_0x5a02e2(0x1c3)]=_0x2e3ada;const _0x56859a=writeServiceRegistry(_0x3c0118,_0x372d6c);return{'registryPath':_0x56859a,'entry':_0x29d712,'serviceCount':_0x3c0118['services'][_0x5a02e2(0x1bf)]};}export function listLocalServices(_0x4df3e9={}){return readServiceRegistry(_0x4df3e9)['services'];}export function getLocalServiceEntry(_0x5535f5,_0x4cfae3={}){const _0x55f738=a63_0x3d1e;return readServiceRegistry(_0x4cfae3)[_0x55f738(0x1d7)][_0x55f738(0x1ab)](_0xc8edb1=>_0xc8edb1[_0x55f738(0x1c0)]===_0x5535f5[_0x55f738(0x1b0)]());}export function listLocalServiceTrees(_0xa42bc9={}){const _0x3023ec=a63_0x3d1e;return readServiceRegistry(_0xa42bc9)[_0x3023ec(0x1d7)][_0x3023ec(0x1d3)](_0x450661=>_0x450661[_0x3023ec(0x1ad)]);}export function inspectServiceRegistry(_0x3fd7ed={}){const _0x6038a8=a63_0x3d1e,_0x362250=getServiceRegistryPath(_0x3fd7ed);if(!existsSync(_0x362250))return emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1e5),![]);try{const _0x46c70c=readFileSync(_0x362250,_0x6038a8(0x1aa));if(!_0x46c70c[_0x6038a8(0x1b0)]())return emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1a0),!![]);const _0x14428b=JSON['parse'](_0x46c70c);if(_0x14428b['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'schemaVersion':_0x14428b[_0x6038a8(0x1f2)],'message':_0x6038a8(0x1ef)+String(_0x14428b['schemaVersion'])};if(!Array[_0x6038a8(0x1b4)](_0x14428b['services']))return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x14428b['updatedAt'],'message':_0x6038a8(0x1ba)};const _0x2e2d26=_0x14428b['services'][_0x6038a8(0x1d3)](summarizeLocalServiceEntry);return{'registryPath':_0x362250,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x14428b[_0x6038a8(0x1c3)],'serviceCount':_0x2e2d26[_0x6038a8(0x1bf)],'commandCount':_0x2e2d26[_0x6038a8(0x19e)]((_0x3f7398,_0x45afa2)=>_0x3f7398+_0x45afa2['commandCount'],0x0),'services':_0x2e2d26};}catch(_0x5c6971){return{...emptyServiceRegistryInspection(_0x362250,_0x6038a8(0x1f0),!![]),'message':_0x5c6971 instanceof Error?_0x5c6971[_0x6038a8(0x1d9)]:String(_0x5c6971)};}}export function formatValidationFailure(_0x356e41){const _0x340a76=a63_0x3d1e,_0x3029c7=_0x356e41[_0x340a76(0x1d2)][_0x340a76(0x1d3)](_0x4f832e=>_0x4f832e[_0x340a76(0x1cd)]+':\x20'+_0x4f832e['message']);return _0x340a76(0x1c9)+_0x3029c7[_0x340a76(0x1f3)]('\x0a');}function extractLoadedServiceManifests(_0x47d6fe,_0x3e4908){const _0x29bacd=a63_0x3d1e;if(!isServiceRegistryLike(_0x47d6fe)){const _0x19e3b2=_0x47d6fe,{manifest:_0x461b85,errors:_0x4a8f0c}=adaptServiceTreeManifestForLegacyFramework(_0x19e3b2),_0x24080d=validateServiceTreeManifest(_0x461b85),_0x771057=mergeValidationErrors(_0x24080d,_0x4a8f0c);return[{'manifest':_0x19e3b2,'report':_0x771057,'normalizedManifest':_0x771057['ok']?normalizeServiceTreeManifest(_0x461b85):undefined,'sourceHash':_0x3e4908}];}return _0x47d6fe[_0x29bacd(0x1d7)][_0x29bacd(0x1d3)]((_0x1977c1,_0x5839ce)=>{const _0x5586ca=_0x29bacd,_0x2fda70=isObjectRecord(_0x1977c1)?_0x1977c1[_0x5586ca(0x1f5)]:undefined,{manifest:_0x37796f,errors:_0x49d1df}=adaptServiceTreeManifestForLegacyFramework(_0x2fda70),_0x4ab013=validateServiceTreeManifest(_0x37796f),_0x1df018=mergeValidationErrors(_0x4ab013,_0x49d1df),_0x2a20f4=isObjectRecord(_0x1977c1)&&typeof _0x1977c1['serviceCode']===_0x5586ca(0x1e1)?_0x1977c1[_0x5586ca(0x1c0)]:undefined;return{'manifest':_0x2fda70,'report':_0x1df018,'normalizedManifest':_0x1df018['ok']?normalizeServiceTreeManifest(_0x37796f):undefined,'sourceHash':sha256(JSON[_0x5586ca(0x1e8)](_0x2fda70,null,0x2)+'\x0a'),'registryIndex':_0x5839ce,'registryServiceCode':_0x2a20f4};});}function mergeValidationErrors(_0x3efbc7,_0x95f612){const _0x2bea74=a63_0x3d1e,_0x3a401e=_0x3efbc7[_0x2bea74(0x1d2)][_0x2bea74(0x1d3)](_0x424e05=>_0x424e05[_0x2bea74(0x1d9)]===_0x2bea74(0x1e3)?{..._0x424e05,'message':_0x2bea74(0x1c7)}:_0x424e05),_0x5e22e5=[..._0x95f612,..._0x3a401e];return{'ok':_0x5e22e5[_0x2bea74(0x1bf)]===0x0,'errors':_0x5e22e5,'warnings':_0x3efbc7['warnings']};}function aggregateValidationReports(_0x2e5413){const _0x2ce941=a63_0x3d1e,_0x4b592c=_0x2e5413[_0x2ce941(0x1d1)](_0x160170=>_0x160170[_0x2ce941(0x1a2)]===undefined?_0x160170[_0x2ce941(0x1de)][_0x2ce941(0x1d2)]:_0x160170[_0x2ce941(0x1de)]['errors'][_0x2ce941(0x1d3)](_0x4971a2=>({..._0x4971a2,'path':prefixRegistryIssuePath(_0x160170[_0x2ce941(0x1a2)],_0x4971a2['path'])}))),_0x5e2adc=_0x2e5413[_0x2ce941(0x1d1)](_0x2d6e6c=>_0x2d6e6c[_0x2ce941(0x1a2)]===undefined?_0x2d6e6c['report'][_0x2ce941(0x1e7)]:_0x2d6e6c[_0x2ce941(0x1de)][_0x2ce941(0x1e7)][_0x2ce941(0x1d3)](_0x57b23e=>({..._0x57b23e,'path':prefixRegistryIssuePath(_0x2d6e6c[_0x2ce941(0x1a2)],_0x57b23e[_0x2ce941(0x1cd)])})));return{'ok':_0x4b592c[_0x2ce941(0x1bf)]===0x0,'errors':_0x4b592c,'warnings':_0x5e2adc};}function prefixRegistryIssuePath(_0x2666e0,_0x2e4d5a){const _0xabd49f=a63_0x3d1e;if(_0x2e4d5a==='$')return _0xabd49f(0x1a8)+_0x2666e0+'].manifest';if(_0x2e4d5a[_0xabd49f(0x1d6)]('$.'))return _0xabd49f(0x1a8)+_0x2666e0+_0xabd49f(0x1dc)+_0x2e4d5a[_0xabd49f(0x19f)](0x1);if(_0x2e4d5a[_0xabd49f(0x1d6)]('$['))return _0xabd49f(0x1a8)+_0x2666e0+'].manifest'+_0x2e4d5a['slice'](0x1);return'$.services['+_0x2666e0+_0xabd49f(0x1cc)+_0x2e4d5a;}function isServiceRegistryLike(_0x175987){const _0x1acf9b=a63_0x3d1e;return isObjectRecord(_0x175987)&&_0x175987['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x175987[_0x1acf9b(0x1d7)]);}function isObjectRecord(_0x85bb00){const _0x4f8e5e=a63_0x3d1e;return Boolean(_0x85bb00)&&typeof _0x85bb00===_0x4f8e5e(0x1a3)&&!Array['isArray'](_0x85bb00);}function emptyServiceRegistryInspection(_0xf87c68,_0x1c7ee0,_0x1e22f0){return{'registryPath':_0xf87c68,'exists':_0x1e22f0,'status':_0x1c7ee0,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x733adc){const _0x2c672e=a63_0x3d1e,_0x3e44a1=_0x733adc['normalizedManifest'],_0x3aebac=_0x3e44a1[_0x2c672e(0x1d5)][_0x2c672e(0x1d3)](_0x40deaa=>({'path':_0x40deaa[_0x2c672e(0x1a5)],'description':_0x40deaa[_0x2c672e(0x1b7)],'risk':_0x40deaa['risk'],'targetKind':_0x40deaa[_0x2c672e(0x1ed)][_0x2c672e(0x1e6)],'targetCommand':_0x40deaa['target'][_0x2c672e(0x1bb)]}));return{'serviceCode':_0x733adc[_0x2c672e(0x1c0)],'name':_0x3e44a1[_0x2c672e(0x1d0)]['name'],'description':_0x3e44a1[_0x2c672e(0x1d0)][_0x2c672e(0x1b7)],'version':_0x733adc['version'],'importedAt':_0x733adc[_0x2c672e(0x1c8)],'source':_0x733adc[_0x2c672e(0x1c2)],'commandCount':_0x3aebac[_0x2c672e(0x1bf)],'commands':_0x3aebac};}function sha256(_0x3e8399){const _0x28a286=a63_0x3d1e;return createHash(_0x28a286(0x1ca))[_0x28a286(0x1a1)](_0x3e8399)['digest'](_0x28a286(0x1dd));}
1
+ const a63_0x10a473=a63_0x416b;(function(_0x3d916b,_0x328783){const _0x583331=a63_0x416b,_0x2e9c9d=_0x3d916b();while(!![]){try{const _0x20a661=-parseInt(_0x583331(0x185))/0x1*(-parseInt(_0x583331(0x190))/0x2)+-parseInt(_0x583331(0x153))/0x3+-parseInt(_0x583331(0x177))/0x4*(parseInt(_0x583331(0x167))/0x5)+-parseInt(_0x583331(0x194))/0x6*(-parseInt(_0x583331(0x198))/0x7)+-parseInt(_0x583331(0x188))/0x8*(-parseInt(_0x583331(0x19b))/0x9)+-parseInt(_0x583331(0x16f))/0xa+-parseInt(_0x583331(0x186))/0xb;if(_0x20a661===_0x328783)break;else _0x2e9c9d['push'](_0x2e9c9d['shift']());}catch(_0x11fd4a){_0x2e9c9d['push'](_0x2e9c9d['shift']());}}}(a63_0x12cb,0x7eb8e));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a63_0x10a473(0x16d);export function getServiceRegistryPath(_0x759778={}){const _0x5ddc51=a63_0x10a473;return resolve(_0x759778[_0x5ddc51(0x182)]??homedir(),PRODUCT_CONFIG[_0x5ddc51(0x19a)],SERVICE_REGISTRY_FILE_NAME);}function a63_0x416b(_0x24c86b,_0x8c350e){_0x24c86b=_0x24c86b-0x151;const _0x12cb43=a63_0x12cb();let _0x416bb3=_0x12cb43[_0x24c86b];return _0x416bb3;}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x3cadfc={}){const _0x1ff2ff=a63_0x10a473,_0x5b158a=getServiceRegistryPath(_0x3cadfc);if(!existsSync(_0x5b158a))return emptyServiceRegistry();try{const _0x425742=readFileSync(_0x5b158a,'utf8');if(!_0x425742[_0x1ff2ff(0x155)]())return emptyServiceRegistry();const _0x5eb073=JSON['parse'](_0x425742);if(_0x5eb073[_0x1ff2ff(0x196)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x1ff2ff(0x18d)](_0x1ff2ff(0x156)+String(_0x5eb073[_0x1ff2ff(0x196)]),_0x1ff2ff(0x176)+_0x5b158a+'.');if(!Array['isArray'](_0x5eb073[_0x1ff2ff(0x159)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x5eb073[_0x1ff2ff(0x154)],'services':_0x5eb073[_0x1ff2ff(0x159)]};}catch(_0x4bfec2){if(_0x4bfec2 instanceof Error&&_0x4bfec2[_0x1ff2ff(0x189)]===_0x1ff2ff(0x191))throw _0x4bfec2;throw CliErrors[_0x1ff2ff(0x18d)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x5b158a,_0x1ff2ff(0x195));}}export function writeServiceRegistry(_0x3d315f,_0x460713={}){const _0x9cc2d8=a63_0x10a473,_0x321cae=getServiceRegistryPath(_0x460713),_0x9933f2=dirname(_0x321cae);!existsSync(_0x9933f2)&&mkdirSync(_0x9933f2,{'recursive':!![]});const _0x2edf9e=_0x321cae+'.tmp';try{writeFileSync(_0x2edf9e,JSON[_0x9cc2d8(0x180)](_0x3d315f,null,0x2)+'\x0a',{'encoding':_0x9cc2d8(0x152),'mode':0x180}),renameSync(_0x2edf9e,_0x321cae);}catch(_0x2c8e0e){try{unlinkSync(_0x2edf9e);}catch{}if(_0x2c8e0e?.['code']==='ENOENT')throw CliErrors[_0x9cc2d8(0x18d)](_0x9cc2d8(0x19e)+_0x321cae);throw _0x2c8e0e;}return _0x321cae;}export function loadServiceManifestFromFile(_0x17bca5){const _0x276ed6=a63_0x10a473,_0x5b058a=resolve(_0x17bca5);if(!existsSync(_0x5b058a))throw CliErrors[_0x276ed6(0x18d)](_0x276ed6(0x160)+_0x17bca5);let _0x47da7d;const _0x4be80d=readFileSync(_0x5b058a,'utf8');try{_0x47da7d=JSON[_0x276ed6(0x16b)](_0x4be80d);}catch{throw CliErrors['validation'](_0x276ed6(0x17b)+_0x17bca5,_0x276ed6(0x16e));}const _0x187f6a=sha256(_0x4be80d),_0x399491=extractLoadedServiceManifests(_0x47da7d,_0x187f6a),_0x5cb92e=aggregateValidationReports(_0x399491),_0x176513=_0x399491[0x0];return{'filePath':_0x5b058a,'hash':_0x187f6a,'kind':isServiceRegistryLike(_0x47da7d)?_0x276ed6(0x18a):'manifest','manifest':_0x176513?.[_0x276ed6(0x151)]??_0x47da7d,'report':_0x5cb92e,'normalizedManifest':_0x399491['length']===0x1?_0x176513?.['normalizedManifest']:undefined,'manifests':_0x399491};}export function importServiceManifest(_0x401390,_0x49a02c={}){const _0x414f16=a63_0x10a473,_0x4d7f29=loadServiceManifestFromFile(_0x401390);if(!_0x4d7f29[_0x414f16(0x165)]['ok'])throw CliErrors[_0x414f16(0x18d)](formatValidationFailure(_0x4d7f29['report']),_0x414f16(0x184));if(_0x4d7f29[_0x414f16(0x15e)][_0x414f16(0x18b)]===0x0)throw CliErrors['validation']('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x414f16(0x1a0));const _0x3f0620=readServiceRegistry(_0x49a02c),_0x568b49=(_0x49a02c[_0x414f16(0x175)]??(()=>new Date()))()[_0x414f16(0x174)](),_0x1b14bc=[];let _0x504ba4=0x0,_0x5329e6=0x0;for(const _0x2219f0 of _0x4d7f29[_0x414f16(0x15e)]){if(!_0x2219f0[_0x414f16(0x18e)])continue;const _0x453aec=_0x2219f0[_0x414f16(0x18e)][_0x414f16(0x161)][_0x414f16(0x178)],_0x33f847={'serviceCode':_0x453aec,'version':_0x2219f0['normalizedManifest']['version'],'importedAt':_0x568b49,'source':{'type':_0x414f16(0x162),'path':_0x4d7f29[_0x414f16(0x158)],'hash':_0x2219f0[_0x414f16(0x157)]},'manifest':_0x2219f0[_0x414f16(0x151)],'normalizedManifest':_0x2219f0['normalizedManifest']},_0x3668c5=_0x3f0620[_0x414f16(0x159)][_0x414f16(0x171)](_0x5871e3=>_0x5871e3[_0x414f16(0x168)]===_0x453aec);_0x3668c5>=0x0?(_0x3f0620[_0x414f16(0x159)][_0x3668c5]=_0x33f847,_0x5329e6++):(_0x3f0620['services'][_0x414f16(0x170)](_0x33f847),_0x504ba4++),_0x1b14bc[_0x414f16(0x170)](_0x33f847);}_0x3f0620['services'][_0x414f16(0x17d)]((_0x2aed46,_0x1bd7f6)=>_0x2aed46['serviceCode'][_0x414f16(0x19c)](_0x1bd7f6[_0x414f16(0x168)])),_0x3f0620[_0x414f16(0x154)]=_0x568b49;const _0x17a570=writeServiceRegistry(_0x3f0620,_0x49a02c);return{'registryPath':_0x17a570,'entry':_0x1b14bc[0x0],'replaced':_0x1b14bc[_0x414f16(0x18b)]===0x1?_0x5329e6===0x1:_0x5329e6>0x0,'entries':_0x1b14bc,'imported':_0x504ba4,'updated':_0x5329e6,'serviceCount':_0x3f0620[_0x414f16(0x159)][_0x414f16(0x18b)]};}export function exportServiceManifest(_0x3e0663,_0x3c7a51,_0x388a79={}){const _0x99493f=a63_0x10a473,_0x55d447=getServiceRegistryPath(_0x388a79),_0x32237b=getLocalServiceEntry(_0x3e0663,_0x388a79);if(!_0x32237b)throw CliErrors[_0x99493f(0x18d)](_0x99493f(0x173)+_0x3e0663,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x152b82=resolve(_0x3c7a51),_0xf11fde=dirname(_0x152b82);return!existsSync(_0xf11fde)&&mkdirSync(_0xf11fde,{'recursive':!![]}),writeFileSync(_0x152b82,JSON['stringify'](_0x32237b['manifest'],null,0x2)+'\x0a',{'encoding':_0x99493f(0x152),'mode':0x180}),{'registryPath':_0x55d447,'filePath':_0x152b82,'entry':_0x32237b};}export function removeServiceManifest(_0xcead95,_0x25ed11={}){const _0xfb4eb6=a63_0x10a473,_0x456ae5=readServiceRegistry(_0x25ed11),_0x505626=_0xcead95[_0xfb4eb6(0x155)](),_0x8c88fc=_0x456ae5['services']['findIndex'](_0x443820=>_0x443820[_0xfb4eb6(0x168)]===_0x505626);if(_0x8c88fc<0x0)throw CliErrors['validation']('Local\x20service\x20not\x20found:\x20'+_0x505626,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4b4ee9]=_0x456ae5[_0xfb4eb6(0x159)]['splice'](_0x8c88fc,0x1),_0x53ea20=(_0x25ed11[_0xfb4eb6(0x175)]??(()=>new Date()))()[_0xfb4eb6(0x174)]();_0x456ae5[_0xfb4eb6(0x154)]=_0x53ea20;const _0x544a93=writeServiceRegistry(_0x456ae5,_0x25ed11);return{'registryPath':_0x544a93,'entry':_0x4b4ee9,'serviceCount':_0x456ae5[_0xfb4eb6(0x159)][_0xfb4eb6(0x18b)]};}export function listLocalServices(_0x4d50cc={}){return readServiceRegistry(_0x4d50cc)['services'];}export function getLocalServiceEntry(_0x395094,_0x49f29a={}){const _0x4e6333=a63_0x10a473;return readServiceRegistry(_0x49f29a)[_0x4e6333(0x159)][_0x4e6333(0x179)](_0x438c53=>_0x438c53[_0x4e6333(0x168)]===_0x395094[_0x4e6333(0x155)]());}export function listLocalServiceTrees(_0x44702b={}){const _0x1bed93=a63_0x10a473;return readServiceRegistry(_0x44702b)[_0x1bed93(0x159)][_0x1bed93(0x17f)](_0x4304f2=>_0x4304f2['normalizedManifest']);}export function inspectServiceRegistry(_0x12f1c4={}){const _0x30d266=a63_0x10a473,_0x5e34c5=getServiceRegistryPath(_0x12f1c4);if(!existsSync(_0x5e34c5))return emptyServiceRegistryInspection(_0x5e34c5,'missing',![]);try{const _0xfd22ed=readFileSync(_0x5e34c5,_0x30d266(0x152));if(!_0xfd22ed[_0x30d266(0x155)]())return emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x169),!![]);const _0x436b65=JSON[_0x30d266(0x16b)](_0xfd22ed);if(_0x436b65['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'schemaVersion':_0x436b65['schemaVersion'],'message':_0x30d266(0x164)+String(_0x436b65[_0x30d266(0x196)])};if(!Array[_0x30d266(0x16a)](_0x436b65[_0x30d266(0x159)]))return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x436b65[_0x30d266(0x154)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4d7f73=_0x436b65[_0x30d266(0x159)][_0x30d266(0x17f)](summarizeLocalServiceEntry);return{'registryPath':_0x5e34c5,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x436b65[_0x30d266(0x154)],'serviceCount':_0x4d7f73[_0x30d266(0x18b)],'commandCount':_0x4d7f73['reduce']((_0x3e8f08,_0x2e27d0)=>_0x3e8f08+_0x2e27d0[_0x30d266(0x16c)],0x0),'services':_0x4d7f73};}catch(_0x309d5f){return{...emptyServiceRegistryInspection(_0x5e34c5,_0x30d266(0x192),!![]),'message':_0x309d5f instanceof Error?_0x309d5f[_0x30d266(0x15c)]:String(_0x309d5f)};}}export function formatValidationFailure(_0x2cf60e){const _0x590314=a63_0x10a473,_0x585d2b=_0x2cf60e[_0x590314(0x15b)]['map'](_0x30839f=>_0x30839f[_0x590314(0x18c)]+':\x20'+_0x30839f['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x585d2b['join']('\x0a');}function extractLoadedServiceManifests(_0xfcc77e,_0x4fedbd){const _0x98d297=a63_0x10a473;if(!isServiceRegistryLike(_0xfcc77e)){const _0x1120ce=_0xfcc77e,{manifest:_0x21f691,errors:_0x408f79}=adaptServiceTreeManifestForLegacyFramework(_0x1120ce),_0x37999e=validateServiceTreeManifest(_0x21f691),_0x4ddd83=mergeValidationErrors(_0x37999e,_0x408f79);return[{'manifest':_0x1120ce,'report':_0x4ddd83,'normalizedManifest':_0x4ddd83['ok']?normalizeServiceTreeManifest(_0x21f691):undefined,'sourceHash':_0x4fedbd}];}return _0xfcc77e[_0x98d297(0x159)][_0x98d297(0x17f)]((_0x447d3e,_0x3b2470)=>{const _0x2b5d18=_0x98d297,_0x3dfc66=isObjectRecord(_0x447d3e)?_0x447d3e[_0x2b5d18(0x151)]:undefined,{manifest:_0x54e028,errors:_0x1eea96}=adaptServiceTreeManifestForLegacyFramework(_0x3dfc66),_0x1e35df=validateServiceTreeManifest(_0x54e028),_0x3fe2ae=mergeValidationErrors(_0x1e35df,_0x1eea96),_0x27932a=isObjectRecord(_0x447d3e)&&typeof _0x447d3e[_0x2b5d18(0x168)]==='string'?_0x447d3e[_0x2b5d18(0x168)]:undefined;return{'manifest':_0x3dfc66,'report':_0x3fe2ae,'normalizedManifest':_0x3fe2ae['ok']?normalizeServiceTreeManifest(_0x54e028):undefined,'sourceHash':sha256(JSON[_0x2b5d18(0x180)](_0x3dfc66,null,0x2)+'\x0a'),'registryIndex':_0x3b2470,'registryServiceCode':_0x27932a};});}function mergeValidationErrors(_0x9dcf15,_0x3ffb98){const _0x492e3e=a63_0x10a473,_0x473f49=_0x9dcf15['errors'][_0x492e3e(0x17f)](_0x3e6fa7=>_0x3e6fa7['message']==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x3e6fa7,'message':'bff\x20target\x20requires\x20functionName.'}:_0x3e6fa7),_0x43982b=[..._0x3ffb98,..._0x473f49];return{'ok':_0x43982b['length']===0x0,'errors':_0x43982b,'warnings':_0x9dcf15[_0x492e3e(0x187)]};}function a63_0x12cb(){const _0x266f8f=['empty','isArray','parse','commandCount','service.json','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','1925370eNqVhj','push','findIndex','digest','Local\x20service\x20not\x20found:\x20','toISOString','now','Remove\x20or\x20migrate\x20','10416yWXOOL','code','find','cliPath','Invalid\x20service\x20manifest\x20JSON:\x20','risk','sort','sha256','map','stringify','object','homeDir','kind','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','1fKQCdY','6570608nkxGZJ','warnings','718792TmTFmS','name','registry','length','path','validation','normalizedManifest','registryIndex','292770FifcwF','CliError','invalid','version','30318naVhuZ','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','schemaVersion','commands','1351XwjoyE','flatMap','homeDirName','90mokmtS','localeCompare','target','Cannot\x20write\x20service\x20registry:\x20','].manifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','manifest','utf8','1125807GvVxOX','updatedAt','trim','Unsupported\x20service\x20registry\x20schemaVersion:\x20','sourceHash','filePath','services','command','errors','message','update','manifests','hex','Service\x20manifest\x20file\x20not\x20found:\x20','service','file','$.services[','Unsupported\x20schemaVersion:\x20','report','startsWith','645wQaMep','serviceCode'];a63_0x12cb=function(){return _0x266f8f;};return a63_0x12cb();}function aggregateValidationReports(_0x189fc3){const _0x3d32a6=a63_0x10a473,_0x4a3260=_0x189fc3[_0x3d32a6(0x199)](_0x4baae6=>_0x4baae6[_0x3d32a6(0x18f)]===undefined?_0x4baae6['report'][_0x3d32a6(0x15b)]:_0x4baae6[_0x3d32a6(0x165)][_0x3d32a6(0x15b)][_0x3d32a6(0x17f)](_0x4115e7=>({..._0x4115e7,'path':prefixRegistryIssuePath(_0x4baae6[_0x3d32a6(0x18f)],_0x4115e7[_0x3d32a6(0x18c)])}))),_0xf26ce7=_0x189fc3[_0x3d32a6(0x199)](_0x3002e9=>_0x3002e9[_0x3d32a6(0x18f)]===undefined?_0x3002e9[_0x3d32a6(0x165)][_0x3d32a6(0x187)]:_0x3002e9[_0x3d32a6(0x165)]['warnings']['map'](_0xca2137=>({..._0xca2137,'path':prefixRegistryIssuePath(_0x3002e9[_0x3d32a6(0x18f)],_0xca2137['path'])})));return{'ok':_0x4a3260['length']===0x0,'errors':_0x4a3260,'warnings':_0xf26ce7};}function prefixRegistryIssuePath(_0x5942d3,_0x857b9f){const _0x15c79e=a63_0x10a473;if(_0x857b9f==='$')return'$.services['+_0x5942d3+_0x15c79e(0x19f);if(_0x857b9f[_0x15c79e(0x166)]('$.'))return'$.services['+_0x5942d3+'].manifest'+_0x857b9f['slice'](0x1);if(_0x857b9f[_0x15c79e(0x166)]('$['))return'$.services['+_0x5942d3+'].manifest'+_0x857b9f['slice'](0x1);return _0x15c79e(0x163)+_0x5942d3+'].manifest.'+_0x857b9f;}function isServiceRegistryLike(_0x13181f){const _0x5769ec=a63_0x10a473;return isObjectRecord(_0x13181f)&&_0x13181f[_0x5769ec(0x196)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x5769ec(0x16a)](_0x13181f[_0x5769ec(0x159)]);}function isObjectRecord(_0x259f7a){const _0xd3099a=a63_0x10a473;return Boolean(_0x259f7a)&&typeof _0x259f7a===_0xd3099a(0x181)&&!Array[_0xd3099a(0x16a)](_0x259f7a);}function emptyServiceRegistryInspection(_0x1b1ccf,_0x51655e,_0x3cdc4f){return{'registryPath':_0x1b1ccf,'exists':_0x3cdc4f,'status':_0x51655e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x18ae46){const _0x5c7bee=a63_0x10a473,_0x1fc3d2=_0x18ae46[_0x5c7bee(0x18e)],_0x530f30=_0x1fc3d2[_0x5c7bee(0x197)][_0x5c7bee(0x17f)](_0x2488a0=>({'path':_0x2488a0[_0x5c7bee(0x17a)],'description':_0x2488a0['description'],'risk':_0x2488a0[_0x5c7bee(0x17c)],'targetKind':_0x2488a0[_0x5c7bee(0x19d)][_0x5c7bee(0x183)],'targetCommand':_0x2488a0[_0x5c7bee(0x19d)][_0x5c7bee(0x15a)]}));return{'serviceCode':_0x18ae46[_0x5c7bee(0x168)],'name':_0x1fc3d2['service'][_0x5c7bee(0x189)],'description':_0x1fc3d2['service']['description'],'version':_0x18ae46[_0x5c7bee(0x193)],'importedAt':_0x18ae46['importedAt'],'source':_0x18ae46['source'],'commandCount':_0x530f30[_0x5c7bee(0x18b)],'commands':_0x530f30};}function sha256(_0x5d5966){const _0x3d5587=a63_0x10a473;return createHash(_0x3d5587(0x17e))[_0x3d5587(0x15d)](_0x5d5966)[_0x3d5587(0x172)](_0x3d5587(0x15f));}
@@ -1 +1 @@
1
- const a64_0x1dd959=a64_0x4d86;(function(_0x1e4143,_0x45e8d6){const _0x29bdaa=a64_0x4d86,_0x3da450=_0x1e4143();while(!![]){try{const _0x26631d=-parseInt(_0x29bdaa(0x140))/0x1+parseInt(_0x29bdaa(0x152))/0x2+-parseInt(_0x29bdaa(0x151))/0x3*(-parseInt(_0x29bdaa(0x154))/0x4)+-parseInt(_0x29bdaa(0x14b))/0x5*(parseInt(_0x29bdaa(0x138))/0x6)+parseInt(_0x29bdaa(0x143))/0x7*(parseInt(_0x29bdaa(0x146))/0x8)+parseInt(_0x29bdaa(0x14c))/0x9*(-parseInt(_0x29bdaa(0x14d))/0xa)+parseInt(_0x29bdaa(0x155))/0xb;if(_0x26631d===_0x45e8d6)break;else _0x3da450['push'](_0x3da450['shift']());}catch(_0x4b9758){_0x3da450['push'](_0x3da450['shift']());}}}(a64_0x2783,0xbefc3));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a64_0x2783(){const _0x5eb5bb=['force','7TzGkOF','str','rendered','412896xglSyt','isSymbolicLink','validation','files','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','5cfbZgt','3411mbMBhx','20210Egprrx','map','skill','WRITE','296358OTtLMV','2851860hmWMAR','trim','56LCOKPU','6365766USQYMu','target','skillName','Skill\x20directory\x20already\x20exists:\x20','8185908xhnsaa','Created\x20local\x20Skill\x20draft\x20','content','type','path','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','name','utf8','526700dVLiuz','skillDir'];a64_0x2783=function(){return _0x5eb5bb;};return a64_0x2783();}import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a64_0x4d86(_0xc86d0c,_0x2cae2a){_0xc86d0c=_0xc86d0c-0x135;const _0x278389=a64_0x2783();let _0x4d86d2=_0x278389[_0xc86d0c];return _0x4d86d2;}export const createCommand={'service':a64_0x1dd959(0x14f),'command':'create','description':a64_0x1dd959(0x14a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x16c4ec){const _0x214c49=a64_0x1dd959,_0xde599=buildSkillCreatePlan(_0x16c4ec[_0x214c49(0x144)](_0x214c49(0x13e)),_0x16c4ec[_0x214c49(0x144)](_0x214c49(0x13b)),_0x16c4ec['str'](_0x214c49(0x135)));return{'method':_0x214c49(0x150),'url':_0xde599[_0x214c49(0x141)],'body':{'skillName':_0xde599[_0x214c49(0x145)][_0x214c49(0x136)],'type':_0xde599[_0x214c49(0x145)][_0x214c49(0x13b)],'selfContained':!![],'files':_0xde599[_0x214c49(0x145)][_0x214c49(0x149)][_0x214c49(0x14e)](_0x3bcd43=>_0x3bcd43[_0x214c49(0x13c)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x572fdc){const _0xb16e8=a64_0x1dd959,_0x402cdf=buildSkillCreatePlan(_0x572fdc['str'](_0xb16e8(0x13e)),_0x572fdc[_0xb16e8(0x144)](_0xb16e8(0x13b)),_0x572fdc[_0xb16e8(0x144)](_0xb16e8(0x135)));return writeSkillDraft(_0x402cdf,_0x572fdc['bool'](_0xb16e8(0x142))),{'ok':!![],'data':{'skillName':_0x402cdf[_0xb16e8(0x145)]['skillName'],'type':_0x402cdf['rendered'][_0xb16e8(0x13b)],'dir':_0x402cdf[_0xb16e8(0x141)],'files':_0x402cdf[_0xb16e8(0x145)]['files'][_0xb16e8(0x14e)](_0x5df83e=>_0x5df83e[_0xb16e8(0x13c)])},'message':_0xb16e8(0x139)+_0x402cdf[_0xb16e8(0x145)][_0xb16e8(0x136)]};}};function buildSkillCreatePlan(_0x50ebbe,_0x5ff76f,_0x30e2ea){const _0x55643e=a64_0x1dd959,_0x165865=_0x5ff76f[_0x55643e(0x153)](),_0x13561e=renderSkillTemplate({'skillName':_0x50ebbe,'type':_0x165865});!_0x165865&&writeCliSideChannelLine('Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.');const _0x51a3ce=resolve(normalizeSkillTarget(_0x30e2ea));return{'rendered':_0x13561e,'targetRoot':_0x51a3ce,'skillDir':resolve(_0x51a3ce,_0x13561e[_0x55643e(0x136)])};}function normalizeSkillTarget(_0x5760ce){const _0x1a1b3a=a64_0x1dd959;return(_0x5760ce||DEFAULT_SKILL_TARGET)[_0x1a1b3a(0x153)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x32bfdf,_0x536462){const _0x40aee8=a64_0x1dd959;if(existsSync(_0x32bfdf['skillDir'])){const _0x19edd8=lstatSync(_0x32bfdf[_0x40aee8(0x141)]);if(!_0x19edd8['isDirectory']()||_0x19edd8[_0x40aee8(0x147)]())throw CliErrors[_0x40aee8(0x148)](_0x40aee8(0x13d)+_0x32bfdf[_0x40aee8(0x141)]);if(!_0x536462)throw CliErrors[_0x40aee8(0x148)](_0x40aee8(0x137)+_0x32bfdf[_0x40aee8(0x141)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x39d054 of _0x32bfdf['rendered']['files']){const _0x3b3660=resolve(_0x32bfdf[_0x40aee8(0x141)],_0x39d054[_0x40aee8(0x13c)]),_0x48302f=dirname(_0x3b3660);mkdirSync(_0x48302f,{'recursive':!![]});if(existsSync(_0x3b3660)&&lstatSync(_0x3b3660)['isSymbolicLink']())throw CliErrors[_0x40aee8(0x148)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x3b3660);writeFileSync(_0x3b3660,_0x39d054[_0x40aee8(0x13a)],_0x40aee8(0x13f));}}
1
+ const a64_0xadbb4e=a64_0x26ef;(function(_0x50ce8a,_0x11fe60){const _0x567076=a64_0x26ef,_0x397eca=_0x50ce8a();while(!![]){try{const _0x8be36a=parseInt(_0x567076(0x162))/0x1+parseInt(_0x567076(0x14e))/0x2+parseInt(_0x567076(0x155))/0x3*(parseInt(_0x567076(0x14a))/0x4)+parseInt(_0x567076(0x142))/0x5*(parseInt(_0x567076(0x152))/0x6)+-parseInt(_0x567076(0x15b))/0x7*(-parseInt(_0x567076(0x151))/0x8)+-parseInt(_0x567076(0x143))/0x9+parseInt(_0x567076(0x158))/0xa*(-parseInt(_0x567076(0x156))/0xb);if(_0x8be36a===_0x11fe60)break;else _0x397eca['push'](_0x397eca['shift']());}catch(_0x32a81b){_0x397eca['push'](_0x397eca['shift']());}}}(a64_0x562b,0x9f5e4));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a64_0x26ef(_0x313dee,_0x356d0e){_0x313dee=_0x313dee-0x141;const _0x562b09=a64_0x562b();let _0x26ef61=_0x562b09[_0x313dee];return _0x26ef61;}import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a64_0xadbb4e(0x160),'command':a64_0xadbb4e(0x153),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x43f8db){const _0x2a703b=a64_0xadbb4e,_0x51fe29=buildSkillCreatePlan(_0x43f8db[_0x2a703b(0x154)]('name'),_0x43f8db['str'](_0x2a703b(0x145)),_0x43f8db[_0x2a703b(0x154)](_0x2a703b(0x149)));return{'method':_0x2a703b(0x147),'url':_0x51fe29[_0x2a703b(0x14c)],'body':{'skillName':_0x51fe29[_0x2a703b(0x15d)][_0x2a703b(0x157)],'type':_0x51fe29['rendered']['type'],'selfContained':!![],'files':_0x51fe29[_0x2a703b(0x15d)][_0x2a703b(0x14b)]['map'](_0x1ecad9=>_0x1ecad9[_0x2a703b(0x148)])},'description':_0x2a703b(0x146)};},async 'execute'(_0x229c67){const _0xa03d5b=a64_0xadbb4e,_0x5f7150=buildSkillCreatePlan(_0x229c67[_0xa03d5b(0x154)](_0xa03d5b(0x14f)),_0x229c67[_0xa03d5b(0x154)](_0xa03d5b(0x145)),_0x229c67[_0xa03d5b(0x154)](_0xa03d5b(0x149)));return writeSkillDraft(_0x5f7150,_0x229c67[_0xa03d5b(0x15c)]('force')),{'ok':!![],'data':{'skillName':_0x5f7150[_0xa03d5b(0x15d)][_0xa03d5b(0x157)],'type':_0x5f7150[_0xa03d5b(0x15d)][_0xa03d5b(0x145)],'dir':_0x5f7150[_0xa03d5b(0x14c)],'files':_0x5f7150[_0xa03d5b(0x15d)][_0xa03d5b(0x14b)][_0xa03d5b(0x144)](_0x2e5c35=>_0x2e5c35[_0xa03d5b(0x148)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x5f7150['rendered'][_0xa03d5b(0x157)]};}};function buildSkillCreatePlan(_0x463d85,_0x48a262,_0x27a87a){const _0x561805=a64_0xadbb4e,_0x5e1148=_0x48a262[_0x561805(0x15f)](),_0x36d99d=renderSkillTemplate({'skillName':_0x463d85,'type':_0x5e1148});!_0x5e1148&&writeCliSideChannelLine(_0x561805(0x150));const _0x582302=resolve(normalizeSkillTarget(_0x27a87a));return{'rendered':_0x36d99d,'targetRoot':_0x582302,'skillDir':resolve(_0x582302,_0x36d99d['skillName'])};}function a64_0x562b(){const _0x58f1dd=['10068490sRfPPG','content','Skill\x20directory\x20already\x20exists:\x20','574BocPpA','bool','rendered','isDirectory','trim','skill','isSymbolicLink','173739QfRjUF','utf8','validation','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','40HXIOBK','7031331LNwODV','map','type','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','WRITE','path','target','957332FlQvFd','files','skillDir','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','2082080JmcVAK','name','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','61568NCUxxQ','266772iRRPTW','create','str','3inCoNw','11NMkTHO','skillName'];a64_0x562b=function(){return _0x58f1dd;};return a64_0x562b();}function normalizeSkillTarget(_0x9de9c5){const _0x548803=a64_0xadbb4e;return(_0x9de9c5||DEFAULT_SKILL_TARGET)[_0x548803(0x15f)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x5289f5,_0x256ce0){const _0x13eea0=a64_0xadbb4e;if(existsSync(_0x5289f5[_0x13eea0(0x14c)])){const _0x1cffd4=lstatSync(_0x5289f5[_0x13eea0(0x14c)]);if(!_0x1cffd4[_0x13eea0(0x15e)]()||_0x1cffd4[_0x13eea0(0x161)]())throw CliErrors[_0x13eea0(0x164)](_0x13eea0(0x14d)+_0x5289f5['skillDir']);if(!_0x256ce0)throw CliErrors[_0x13eea0(0x164)](_0x13eea0(0x15a)+_0x5289f5['skillDir'],_0x13eea0(0x141));}for(const _0x1e793a of _0x5289f5[_0x13eea0(0x15d)][_0x13eea0(0x14b)]){const _0x4868d4=resolve(_0x5289f5[_0x13eea0(0x14c)],_0x1e793a[_0x13eea0(0x148)]),_0x18afe5=dirname(_0x4868d4);mkdirSync(_0x18afe5,{'recursive':!![]});if(existsSync(_0x4868d4)&&lstatSync(_0x4868d4)[_0x13eea0(0x161)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x4868d4);writeFileSync(_0x4868d4,_0x1e793a[_0x13eea0(0x159)],_0x13eea0(0x163));}}
@@ -1 +1 @@
1
- const a65_0x4e7f63=a65_0x4d93;(function(_0x57f2d1,_0x4c2f22){const _0x450913=a65_0x4d93,_0x5a085b=_0x57f2d1();while(!![]){try{const _0x1f3d3c=parseInt(_0x450913(0xac))/0x1+parseInt(_0x450913(0xb9))/0x2+-parseInt(_0x450913(0xb6))/0x3*(parseInt(_0x450913(0xbf))/0x4)+parseInt(_0x450913(0xd0))/0x5+-parseInt(_0x450913(0xcc))/0x6*(-parseInt(_0x450913(0xce))/0x7)+-parseInt(_0x450913(0xb5))/0x8+-parseInt(_0x450913(0xb1))/0x9;if(_0x1f3d3c===_0x4c2f22)break;else _0x5a085b['push'](_0x5a085b['shift']());}catch(_0x201df4){_0x5a085b['push'](_0x5a085b['shift']());}}}(a65_0x5597,0xd2ff2));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';function a65_0x4d93(_0x3c9045,_0x1ff990){_0x3c9045=_0x3c9045-0xa9;const _0x559777=a65_0x5597();let _0x4d9358=_0x559777[_0x3c9045];return _0x4d9358;}import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';function a65_0x5597(){const _0x4234b1=['unchanged','\x20is\x20unchanged.','232184znvpUH',';\x20first\x20write\x20expects\x20revision\x20','found','expected-diagram-revision','Updated','15269733JLZImY','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','test','isInteger','1790728dPbjBZ','106986fLymAg','Skill\x20diagram\x20validation\x20passed\x20for\x20','diagram-push','2867272GTtWAC','Found\x20Skill\x20diagram\x20for\x20','version','appCode','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','personal','160SxkJOL','num','Created','source-fingerprint','trim','action','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','validation','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','diagram-file','str','read','skill-code','6483498ekPfXS','\x20Skill\x20diagram\x20for\x20','7QcnhwL','Skill\x20diagram\x20for\x20','7323985jbEdwS','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.','scope','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','skillCode','skill','diagram-show','diagram-validate','expectedDiagramRevision'];a65_0x5597=function(){return _0x4234b1;};return a65_0x5597();}const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x1a86a5){const _0x57abc6=a65_0x4d93,_0x2c556a=_0x1a86a5[_0x57abc6(0xc9)](_0x57abc6(0xcb))[_0x57abc6(0xc3)](),_0x286773=_0x1a86a5['str']('version')['trim'](),_0x2e5f60=_0x1a86a5['str']('scope');if(!_0x2c556a||!_0x286773||_0x2e5f60!==_0x57abc6(0xbe)&&_0x2e5f60!=='company')throw CliErrors[_0x57abc6(0xc6)](_0x57abc6(0xd1));return{'skillCode':_0x2c556a,'version':_0x286773,'scope':_0x2e5f60};}async function readDiagramWriteInput(_0x29d64c){const _0x3f5928=a65_0x4d93,_0x1c6db6=_0x29d64c[_0x3f5928(0xc0)](_0x3f5928(0xaf)),_0x4dc775=_0x29d64c[_0x3f5928(0xc9)](_0x3f5928(0xc2))['trim']();if(!Number[_0x3f5928(0xb4)](_0x1c6db6)||_0x1c6db6<0x0)throw CliErrors['validation'](_0x3f5928(0xd3));if(!/^sha256:[0-9a-f]{64}$/[_0x3f5928(0xb3)](_0x4dc775))throw CliErrors[_0x3f5928(0xc6)]('--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.');return{'expectedDiagramRevision':_0x1c6db6,'sourceFingerprint':_0x4dc775,'diagram':await readRequiredSkillDiagram(_0x29d64c[_0x3f5928(0xc9)](_0x3f5928(0xc8)))};}export const diagramValidateCommand={'service':'skill','command':a65_0x4e7f63(0xd7),'description':a65_0x4e7f63(0xbd),'risk':a65_0x4e7f63(0xca),'flags':WRITE_FLAGS,async 'execute'(_0xf8ff0b){const _0x3cc208=a65_0x4e7f63,_0x49e28d=readDiagramTarget(_0xf8ff0b),_0x714481=await validateRuntimeSkillVersionDiagram(_0xf8ff0b[_0x3cc208(0xbc)],_0x49e28d[_0x3cc208(0xd4)],_0x49e28d[_0x3cc208(0xbb)],_0x49e28d['scope'],await readDiagramWriteInput(_0xf8ff0b));return{'ok':!![],'data':_0x714481,'message':_0x3cc208(0xb7)+_0x49e28d[_0x3cc208(0xd4)]+'@'+_0x49e28d[_0x3cc208(0xbb)]+'.'};}};export const diagramPushCommand={'service':a65_0x4e7f63(0xd5),'command':a65_0x4e7f63(0xb8),'description':a65_0x4e7f63(0xc5),'risk':'write','confirmationDescription':a65_0x4e7f63(0xb2),'flags':WRITE_FLAGS,async 'execute'(_0x4b60b7){const _0x57a0ba=a65_0x4e7f63,_0xc8262f=readDiagramTarget(_0x4b60b7),_0x59b7c1=await putRuntimeSkillVersionDiagram(_0x4b60b7[_0x57a0ba(0xbc)],_0xc8262f[_0x57a0ba(0xd4)],_0xc8262f[_0x57a0ba(0xbb)],_0xc8262f[_0x57a0ba(0xd2)],await readDiagramWriteInput(_0x4b60b7));return{'ok':!![],'data':_0x59b7c1,'message':_0x59b7c1[_0x57a0ba(0xc4)]===_0x57a0ba(0xaa)?_0x57a0ba(0xcf)+_0xc8262f['skillCode']+'@'+_0xc8262f['version']+_0x57a0ba(0xab):(_0x59b7c1[_0x57a0ba(0xc4)]==='created'?_0x57a0ba(0xc1):_0x57a0ba(0xb0))+_0x57a0ba(0xcd)+_0xc8262f[_0x57a0ba(0xd4)]+'@'+_0xc8262f['version']+'.'};}};export const diagramShowCommand={'service':a65_0x4e7f63(0xd5),'command':a65_0x4e7f63(0xd6),'description':'Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','risk':a65_0x4e7f63(0xca),'flags':TARGET_FLAGS,async 'execute'(_0x223e55){const _0x3589d0=a65_0x4e7f63,_0x2f2612=readDiagramTarget(_0x223e55),_0x32db40=await getRuntimeSkillVersionDiagram(_0x223e55[_0x3589d0(0xbc)],_0x2f2612[_0x3589d0(0xd4)],_0x2f2612[_0x3589d0(0xbb)],_0x2f2612[_0x3589d0(0xd2)]);return{'ok':!![],'data':_0x32db40,'message':_0x32db40[_0x3589d0(0xae)]?_0x3589d0(0xba)+_0x2f2612[_0x3589d0(0xd4)]+'@'+_0x2f2612[_0x3589d0(0xbb)]+';\x20next\x20write\x20expects\x20revision\x20'+_0x32db40['expectedDiagramRevision']+'.':_0x3589d0(0xc7)+_0x2f2612[_0x3589d0(0xd4)]+'@'+_0x2f2612[_0x3589d0(0xbb)]+_0x3589d0(0xad)+_0x32db40[_0x3589d0(0xa9)]+'.'};}};
1
+ function a65_0x3448(_0x25afcf,_0x576212){_0x25afcf=_0x25afcf-0x1f0;const _0x528ad1=a65_0x528a();let _0x3448c1=_0x528ad1[_0x25afcf];return _0x3448c1;}const a65_0x15c857=a65_0x3448;(function(_0x517aa3,_0x86cca7){const _0x4b44c1=a65_0x3448,_0xcb79b4=_0x517aa3();while(!![]){try{const _0xa2ddf5=-parseInt(_0x4b44c1(0x1f0))/0x1*(-parseInt(_0x4b44c1(0x1f2))/0x2)+-parseInt(_0x4b44c1(0x215))/0x3*(parseInt(_0x4b44c1(0x1f1))/0x4)+parseInt(_0x4b44c1(0x1f9))/0x5+parseInt(_0x4b44c1(0x1fb))/0x6*(parseInt(_0x4b44c1(0x218))/0x7)+-parseInt(_0x4b44c1(0x20b))/0x8*(parseInt(_0x4b44c1(0x204))/0x9)+-parseInt(_0x4b44c1(0x214))/0xa+parseInt(_0x4b44c1(0x206))/0xb;if(_0xa2ddf5===_0x86cca7)break;else _0xcb79b4['push'](_0xcb79b4['shift']());}catch(_0x3ccf15){_0xcb79b4['push'](_0xcb79b4['shift']());}}}(a65_0x528a,0x6169a));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';function a65_0x528a(){const _0x39e1db=['1737290qLarIG','company','1240392rtLZuT','trim','diagram-show','Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','Skill\x20diagram\x20validation\x20passed\x20for\x20','found','action',';\x20next\x20write\x20expects\x20revision\x20','source-fingerprint','4335507sIExla','created','8447197eQQgIB','skillCode','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','version','str','8rISWhM','expectedDiagramRevision',';\x20first\x20write\x20expects\x20revision\x20','diagram-file','Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','skill','diagram-push','validation','Found\x20Skill\x20diagram\x20for\x20','5350200obzunG','24AJNbyv','read','Updated','14RWeXwq','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','\x20is\x20unchanged.','scope','write','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','skill-code','542JEYeEU','239748zfDhJy','1352BUwodp','appCode','unchanged','Skill\x20diagram\x20for\x20','expected-diagram-revision','personal','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.'];a65_0x528a=function(){return _0x39e1db;};return a65_0x528a();}import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x1ebf37){const _0x3f05c0=a65_0x3448,_0x2ea12d=_0x1ebf37[_0x3f05c0(0x20a)](_0x3f05c0(0x21e))[_0x3f05c0(0x1fc)](),_0x3a2396=_0x1ebf37[_0x3f05c0(0x20a)](_0x3f05c0(0x209))[_0x3f05c0(0x1fc)](),_0x3ea771=_0x1ebf37[_0x3f05c0(0x20a)](_0x3f05c0(0x21b));if(!_0x2ea12d||!_0x3a2396||_0x3ea771!==_0x3f05c0(0x1f7)&&_0x3ea771!==_0x3f05c0(0x1fa))throw CliErrors[_0x3f05c0(0x212)](_0x3f05c0(0x1f8));return{'skillCode':_0x2ea12d,'version':_0x3a2396,'scope':_0x3ea771};}async function readDiagramWriteInput(_0x327728){const _0x5c0311=a65_0x3448,_0x1278cf=_0x327728['num'](_0x5c0311(0x1f6)),_0x4211ac=_0x327728['str'](_0x5c0311(0x203))[_0x5c0311(0x1fc)]();if(!Number['isInteger'](_0x1278cf)||_0x1278cf<0x0)throw CliErrors[_0x5c0311(0x212)]('--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.');if(!/^sha256:[0-9a-f]{64}$/['test'](_0x4211ac))throw CliErrors['validation']('--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.');return{'expectedDiagramRevision':_0x1278cf,'sourceFingerprint':_0x4211ac,'diagram':await readRequiredSkillDiagram(_0x327728[_0x5c0311(0x20a)](_0x5c0311(0x20e)))};}export const diagramValidateCommand={'service':a65_0x15c857(0x210),'command':'diagram-validate','description':a65_0x15c857(0x20f),'risk':a65_0x15c857(0x216),'flags':WRITE_FLAGS,async 'execute'(_0x30cfc1){const _0xea622c=a65_0x15c857,_0x92e67a=readDiagramTarget(_0x30cfc1),_0x581e14=await validateRuntimeSkillVersionDiagram(_0x30cfc1[_0xea622c(0x1f3)],_0x92e67a['skillCode'],_0x92e67a[_0xea622c(0x209)],_0x92e67a[_0xea622c(0x21b)],await readDiagramWriteInput(_0x30cfc1));return{'ok':!![],'data':_0x581e14,'message':_0xea622c(0x1ff)+_0x92e67a['skillCode']+'@'+_0x92e67a[_0xea622c(0x209)]+'.'};}};export const diagramPushCommand={'service':'skill','command':a65_0x15c857(0x211),'description':a65_0x15c857(0x1fe),'risk':a65_0x15c857(0x21c),'confirmationDescription':a65_0x15c857(0x208),'flags':WRITE_FLAGS,async 'execute'(_0x15fee0){const _0x39dc94=a65_0x15c857,_0x2feb3d=readDiagramTarget(_0x15fee0),_0x5596f8=await putRuntimeSkillVersionDiagram(_0x15fee0[_0x39dc94(0x1f3)],_0x2feb3d['skillCode'],_0x2feb3d['version'],_0x2feb3d[_0x39dc94(0x21b)],await readDiagramWriteInput(_0x15fee0));return{'ok':!![],'data':_0x5596f8,'message':_0x5596f8[_0x39dc94(0x201)]===_0x39dc94(0x1f4)?_0x39dc94(0x1f5)+_0x2feb3d[_0x39dc94(0x207)]+'@'+_0x2feb3d[_0x39dc94(0x209)]+_0x39dc94(0x21a):(_0x5596f8['action']===_0x39dc94(0x205)?'Created':_0x39dc94(0x217))+'\x20Skill\x20diagram\x20for\x20'+_0x2feb3d[_0x39dc94(0x207)]+'@'+_0x2feb3d[_0x39dc94(0x209)]+'.'};}};export const diagramShowCommand={'service':a65_0x15c857(0x210),'command':a65_0x15c857(0x1fd),'description':a65_0x15c857(0x219),'risk':a65_0x15c857(0x216),'flags':TARGET_FLAGS,async 'execute'(_0x273eb2){const _0x39c108=a65_0x15c857,_0x4fdc29=readDiagramTarget(_0x273eb2),_0x246550=await getRuntimeSkillVersionDiagram(_0x273eb2['appCode'],_0x4fdc29['skillCode'],_0x4fdc29[_0x39c108(0x209)],_0x4fdc29[_0x39c108(0x21b)]);return{'ok':!![],'data':_0x246550,'message':_0x246550[_0x39c108(0x200)]?_0x39c108(0x213)+_0x4fdc29[_0x39c108(0x207)]+'@'+_0x4fdc29[_0x39c108(0x209)]+_0x39c108(0x202)+_0x246550[_0x39c108(0x20c)]+'.':_0x39c108(0x21d)+_0x4fdc29[_0x39c108(0x207)]+'@'+_0x4fdc29['version']+_0x39c108(0x20d)+_0x246550[_0x39c108(0x20c)]+'.'};}};