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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/approval/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/init.d.ts +1 -1
  26. package/lib/commands/config/init.js +1 -1
  27. package/lib/commands/config/shared.js +1 -1
  28. package/lib/commands/data/import-excel.js +1 -1
  29. package/lib/commands/data/index.js +1 -1
  30. package/lib/commands/dataset/detail.js +1 -1
  31. package/lib/commands/dataset/index.js +1 -1
  32. package/lib/commands/dataset/list.js +1 -1
  33. package/lib/commands/dataset/sdk-doc.js +1 -1
  34. package/lib/commands/doctor.js +1 -1
  35. package/lib/commands/file/index.js +1 -1
  36. package/lib/commands/init.js +1 -1
  37. package/lib/commands/kb/index.js +1 -1
  38. package/lib/commands/logs/index.js +1 -1
  39. package/lib/commands/notification/config-list.js +1 -1
  40. package/lib/commands/notification/index.js +1 -1
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.d.ts +32 -6
  59. package/lib/commands/role/shared.js +1 -1
  60. package/lib/commands/role/update.js +1 -1
  61. package/lib/commands/role/user-add.js +1 -1
  62. package/lib/commands/role/user-remove.js +1 -1
  63. package/lib/commands/schedule/index.js +1 -1
  64. package/lib/commands/schema.js +1 -1
  65. package/lib/commands/service/dynamic.js +1 -1
  66. package/lib/commands/service/function-name-adapter.js +1 -1
  67. package/lib/commands/service/index.js +1 -1
  68. package/lib/commands/service/registry.js +1 -1
  69. package/lib/commands/skill/commands/create.js +1 -1
  70. package/lib/commands/skill/commands/diagram.js +1 -1
  71. package/lib/commands/skill/commands/install.js +1 -1
  72. package/lib/commands/skill/commands/list.js +1 -1
  73. package/lib/commands/skill/commands/push.js +1 -1
  74. package/lib/commands/skill/commands/validate.js +1 -1
  75. package/lib/commands/skill/diagram.js +1 -1
  76. package/lib/commands/skill/flags.js +1 -1
  77. package/lib/commands/skill/index.js +1 -1
  78. package/lib/commands/skill/manifest-helpers.js +1 -1
  79. package/lib/commands/skill/push-execute.js +1 -1
  80. package/lib/commands/skill/push-flow-helpers.js +1 -1
  81. package/lib/commands/skill/push-retarget.js +1 -1
  82. package/lib/commands/skill/scopes.js +1 -1
  83. package/lib/commands/skill/summary.js +1 -1
  84. package/lib/commands/skill/templates.js +1 -1
  85. package/lib/commands/skill/validate.js +1 -1
  86. package/lib/commands/sql/detail.js +1 -1
  87. package/lib/commands/sql/exec.d.ts +2 -4
  88. package/lib/commands/sql/exec.js +1 -1
  89. package/lib/commands/sql/index.js +1 -1
  90. package/lib/commands/update.js +1 -1
  91. package/lib/commands/user-account/bind.js +1 -1
  92. package/lib/commands/user-account/index.js +1 -1
  93. package/lib/commands/workspace/index.js +1 -1
  94. package/lib/config/domain-config.js +1 -1
  95. package/lib/config/schema.js +1 -1
  96. package/lib/constant/app.js +1 -1
  97. package/lib/constant/auth-mode.js +1 -1
  98. package/lib/constant/cli.js +1 -1
  99. package/lib/constant/defaults.js +1 -1
  100. package/lib/constant/distribution.js +1 -1
  101. package/lib/constant/domain.js +1 -1
  102. package/lib/constant/env.js +1 -1
  103. package/lib/constant/output.js +1 -1
  104. package/lib/constant/product.js +1 -1
  105. package/lib/constant/region.js +1 -1
  106. package/lib/constant/risk.js +1 -1
  107. package/lib/constant/url.js +1 -1
  108. package/lib/context.js +1 -1
  109. package/lib/core/api-client.d.ts +20 -340
  110. package/lib/core/api-client.js +1 -1
  111. package/lib/core/db-resolver.js +1 -1
  112. package/lib/core/kb-management-client.js +1 -1
  113. package/lib/core/kb-search-client.js +1 -1
  114. package/lib/core/sdk-client.d.ts +7 -10
  115. package/lib/core/sdk-client.js +1 -1
  116. package/lib/errors.js +1 -1
  117. package/lib/framework/access-error.js +1 -1
  118. package/lib/framework/build-all-flags.js +1 -1
  119. package/lib/framework/dryrun.js +1 -1
  120. package/lib/framework/flags.js +1 -1
  121. package/lib/framework/help.js +1 -1
  122. package/lib/framework/index.js +1 -1
  123. package/lib/framework/output.js +1 -1
  124. package/lib/framework/preparse.js +1 -1
  125. package/lib/framework/rate-limit.js +1 -1
  126. package/lib/framework/raw-flags.js +1 -1
  127. package/lib/framework/response.js +1 -1
  128. package/lib/framework/runner-confirmation.js +1 -1
  129. package/lib/framework/runner-error.js +1 -1
  130. package/lib/framework/runner.js +1 -1
  131. package/lib/framework/schema-export.js +1 -1
  132. package/lib/framework/service-order.js +1 -1
  133. package/lib/framework/types.js +1 -1
  134. package/lib/generated/build-info.d.ts +4 -4
  135. package/lib/generated/build-info.js +1 -1
  136. package/lib/generated/official-routing.js +1 -1
  137. package/lib/generated/routing-contract.js +1 -1
  138. package/lib/help.js +1 -1
  139. package/lib/postinstall.js +1 -1
  140. package/lib/runtime/confirmation.js +1 -1
  141. package/lib/runtime/event.js +1 -1
  142. package/lib/runtime/index.js +1 -1
  143. package/lib/runtime/queue.js +1 -1
  144. package/lib/runtime/resolve.js +1 -1
  145. package/lib/services/dataset-import/auto-id-runner.js +1 -1
  146. package/lib/services/dataset-import/excel-reader.js +1 -1
  147. package/lib/services/dataset-import/image-bytes.js +1 -1
  148. package/lib/services/dataset-import/image-ooxml.js +1 -1
  149. package/lib/services/dataset-import/image-runner.js +1 -1
  150. package/lib/services/dataset-import/metadata.js +1 -1
  151. package/lib/services/dataset-import/preview.js +1 -1
  152. package/lib/services/dataset-import/runner.js +1 -1
  153. package/lib/skills/builtin-skill.js +1 -1
  154. package/lib/skills/npx-skills-add.js +1 -1
  155. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  156. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  157. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  158. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  159. package/lib/skills/runtime-skill-sync/links.js +1 -1
  160. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  161. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  162. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  163. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  164. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  165. package/lib/skills/runtime-skill-sync/push.js +1 -1
  166. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  167. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  168. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  169. package/lib/skills/runtime-skill-sync.js +1 -1
  170. package/lib/skills/skill-presence.js +1 -1
  171. package/lib/utils/access-key-redaction.js +1 -1
  172. package/lib/utils/apply-jq-filter.js +1 -1
  173. package/lib/utils/cli-version-check.js +1 -1
  174. package/lib/utils/cli-version-policy.js +1 -1
  175. package/lib/utils/logger.js +1 -1
  176. package/lib/utils/lossless-json.js +1 -1
  177. package/lib/utils/params.js +1 -1
  178. package/lib/utils/positive-safe-integer.js +1 -1
  179. package/lib/utils/redaction.js +1 -1
  180. package/lib/utils/runtime-user-id.d.ts +2 -0
  181. package/lib/utils/runtime-user-id.js +1 -0
  182. package/lib/utils/update-notice.js +1 -1
  183. package/lib/utils/version.js +1 -1
  184. package/lib/utils/write-cli-side-channel.js +1 -1
  185. package/package.json +2 -2
  186. package/skills/lovrabet/SKILL.md +1 -1
  187. package/skills/lovrabet/guides/role-and-permission-workflow.md +3 -2
  188. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- (function(_0xa3b1da,_0x16f89d){const _0x55ae35=a79_0x127b,_0x2883a0=_0xa3b1da();while(!![]){try{const _0x331fd0=-parseInt(_0x55ae35(0x1f1))/0x1+parseInt(_0x55ae35(0x1f8))/0x2+-parseInt(_0x55ae35(0x1f4))/0x3*(parseInt(_0x55ae35(0x1ef))/0x4)+-parseInt(_0x55ae35(0x1f0))/0x5*(-parseInt(_0x55ae35(0x1f5))/0x6)+parseInt(_0x55ae35(0x1ed))/0x7+-parseInt(_0x55ae35(0x1f6))/0x8*(parseInt(_0x55ae35(0x1eb))/0x9)+-parseInt(_0x55ae35(0x1f9))/0xa*(-parseInt(_0x55ae35(0x1f2))/0xb);if(_0x331fd0===_0x16f89d)break;else _0x2883a0['push'](_0x2883a0['shift']());}catch(_0x2f15ba){_0x2883a0['push'](_0x2883a0['shift']());}}}(a79_0x5643,0x39f6a));import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x223f25){const _0x240b46=a79_0x127b,_0xb60ae8=_0x223f25[_0x240b46(0x1f3)]();if(!_0xb60ae8||_0xb60ae8===_0x240b46(0x1ec))return['personal',_0x240b46(0x1ee)];if(_0xb60ae8===_0x240b46(0x1f7)||_0xb60ae8===_0x240b46(0x1ee))return[_0xb60ae8];throw CliErrors[_0x240b46(0x1ea)](_0x240b46(0x1fa)+_0x223f25);}export function normalizeListScope(_0x3ae6ff){const _0x44f4ec=a79_0x127b,_0x14823c=_0x3ae6ff[_0x44f4ec(0x1f3)]();if(!_0x14823c)return'all';if(_0x14823c===_0x44f4ec(0x1f7)||_0x14823c===_0x44f4ec(0x1ee)||_0x14823c===_0x44f4ec(0x1ec))return _0x14823c;throw CliErrors[_0x44f4ec(0x1ea)]('Unsupported\x20Skill\x20list\x20scope:\x20'+_0x3ae6ff);}export function shouldListScope(_0x3fbef9,_0x20d757){const _0x4e9adf=a79_0x127b;if(_0x3fbef9===_0x4e9adf(0x1ec))return!![];return _0x3fbef9===_0x20d757;}export function listScopeToRuntimeScopes(_0x12100f){const _0x32f33c=a79_0x127b;if(_0x12100f===_0x32f33c(0x1ec))return['personal',_0x32f33c(0x1ee)];return[_0x12100f===_0x32f33c(0x1ee)?'company':_0x12100f];}export function listScopeToRemoteScope(_0x547bbb){return _0x547bbb;}function a79_0x127b(_0x36f226,_0x51fcef){_0x36f226=_0x36f226-0x1ea;const _0x56432a=a79_0x5643();let _0x127b85=_0x56432a[_0x36f226];return _0x127b85;}function a79_0x5643(){const _0x26ae69=['1891218xSBRCJ','company','4GmPrGg','5210KKBhgn','195235zJOBpx','231uhJlij','trim','1373898IQLUBk','2208tnQZyo','8UuoTYQ','personal','210998sNhDwW','182870tiqyAF','Unsupported\x20Skill\x20sync\x20scope:\x20','validation','2272833aeeMCn','all'];a79_0x5643=function(){return _0x26ae69;};return a79_0x5643();}
1
+ function a79_0x3bd5(){const _0x297573=['all','5DaOrHG','1375398euaLdV','9374520hzefTW','30OFCZww','validation','673809fVBJGp','1615797TkLRHR','105941zVyoEl','personal','8dJUWKd','7GLtdvr','705224TQMIjD','Unsupported\x20Skill\x20list\x20scope:\x20','3EzRjeT','company','92232ipdXIE','trim'];a79_0x3bd5=function(){return _0x297573;};return a79_0x3bd5();}(function(_0x38d1b3,_0x2f0bfa){const _0x2fd28b=a79_0x55b2,_0x2ec408=_0x38d1b3();while(!![]){try{const _0x3a761a=parseInt(_0x2fd28b(0xbc))/0x1*(parseInt(_0x2fd28b(0xbe))/0x2)+parseInt(_0x2fd28b(0xc6))/0x3+-parseInt(_0x2fd28b(0xba))/0x4*(-parseInt(_0x2fd28b(0xc1))/0x5)+parseInt(_0x2fd28b(0xc2))/0x6*(parseInt(_0x2fd28b(0xb9))/0x7)+parseInt(_0x2fd28b(0xb8))/0x8*(parseInt(_0x2fd28b(0xb5))/0x9)+-parseInt(_0x2fd28b(0xc4))/0xa*(parseInt(_0x2fd28b(0xb6))/0xb)+-parseInt(_0x2fd28b(0xc3))/0xc;if(_0x3a761a===_0x2f0bfa)break;else _0x2ec408['push'](_0x2ec408['shift']());}catch(_0x52ece0){_0x2ec408['push'](_0x2ec408['shift']());}}}(a79_0x3bd5,0x21ac0));import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x4cc697){const _0x50343f=a79_0x55b2,_0x49522c=_0x4cc697[_0x50343f(0xbf)]();if(!_0x49522c||_0x49522c==='all')return[_0x50343f(0xb7),_0x50343f(0xbd)];if(_0x49522c===_0x50343f(0xb7)||_0x49522c==='company')return[_0x49522c];throw CliErrors[_0x50343f(0xc5)]('Unsupported\x20Skill\x20sync\x20scope:\x20'+_0x4cc697);}function a79_0x55b2(_0x7f2fd9,_0x139803){_0x7f2fd9=_0x7f2fd9-0xb5;const _0x3bd5ff=a79_0x3bd5();let _0x55b27c=_0x3bd5ff[_0x7f2fd9];return _0x55b27c;}export function normalizeListScope(_0x26aee7){const _0x29c82c=a79_0x55b2,_0x13e9f3=_0x26aee7[_0x29c82c(0xbf)]();if(!_0x13e9f3)return _0x29c82c(0xc0);if(_0x13e9f3===_0x29c82c(0xb7)||_0x13e9f3===_0x29c82c(0xbd)||_0x13e9f3===_0x29c82c(0xc0))return _0x13e9f3;throw CliErrors[_0x29c82c(0xc5)](_0x29c82c(0xbb)+_0x26aee7);}export function shouldListScope(_0x44b96e,_0x369778){const _0xec84d4=a79_0x55b2;if(_0x44b96e===_0xec84d4(0xc0))return!![];return _0x44b96e===_0x369778;}export function listScopeToRuntimeScopes(_0x54649a){const _0x20ef33=a79_0x55b2;if(_0x54649a===_0x20ef33(0xc0))return[_0x20ef33(0xb7),_0x20ef33(0xbd)];return[_0x54649a===_0x20ef33(0xbd)?_0x20ef33(0xbd):_0x54649a];}export function listScopeToRemoteScope(_0x36bac3){return _0x36bac3;}
@@ -1 +1 @@
1
- (function(_0x191611,_0x54bf5e){var _0x4d9318=a80_0x4942,_0x1683e8=_0x191611();while(!![]){try{var _0x39d1de=parseInt(_0x4d9318(0x15a))/0x1+parseInt(_0x4d9318(0x156))/0x2*(parseInt(_0x4d9318(0x152))/0x3)+-parseInt(_0x4d9318(0x155))/0x4+parseInt(_0x4d9318(0x150))/0x5+-parseInt(_0x4d9318(0x159))/0x6+-parseInt(_0x4d9318(0x163))/0x7*(-parseInt(_0x4d9318(0x153))/0x8)+-parseInt(_0x4d9318(0x161))/0x9;if(_0x39d1de===_0x54bf5e)break;else _0x1683e8['push'](_0x1683e8['shift']());}catch(_0x35bf58){_0x1683e8['push'](_0x1683e8['shift']());}}}(a80_0xb156,0x29c8c));function a80_0x4942(_0x1a1f6f,_0x58d19a){_0x1a1f6f=_0x1a1f6f-0x150;var _0xb15672=a80_0xb156();var _0x49422a=_0xb15672[_0x1a1f6f];return _0x49422a;}export function summarizeRuntimeSkill(_0x4f6b71){var _0x5a3f22=a80_0x4942;return{'id':_0x4f6b71['id'],'skillCode':_0x4f6b71[_0x5a3f22(0x15d)],'skillName':_0x4f6b71['skillName'],'scope':_0x4f6b71[_0x5a3f22(0x15b)],'version':_0x4f6b71[_0x5a3f22(0x151)],'readonly':_0x4f6b71[_0x5a3f22(0x15f)]};}export function summarizeLocalRuntimeSkill(_0xd1e6f7){var _0x2709de=a80_0x4942;return{'id':_0xd1e6f7['id'],'skillCode':_0xd1e6f7[_0x2709de(0x15d)],'skillName':_0xd1e6f7['skillName'],'scope':_0xd1e6f7[_0x2709de(0x15b)],'appCode':_0xd1e6f7['appCode'],'version':_0xd1e6f7[_0x2709de(0x151)],'status':_0xd1e6f7[_0x2709de(0x157)],'readonly':_0xd1e6f7['readonly'],'tags':_0xd1e6f7[_0x2709de(0x154)],'dir':_0xd1e6f7[_0x2709de(0x160)],'cacheDir':_0xd1e6f7[_0x2709de(0x15c)],'skillMdPath':_0xd1e6f7['skillMdPath'],'metadataPath':_0xd1e6f7[_0x2709de(0x15e)],'linkedPaths':_0xd1e6f7[_0x2709de(0x158)],'contentHash':_0xd1e6f7[_0x2709de(0x162)],'treeHash':_0xd1e6f7['treeHash'],'pulledAt':_0xd1e6f7['pulledAt']};}function a80_0xb156(){var _0x23d630=['status','linkedPaths','1979850Qurcjy','300858KFzueC','scope','cacheDir','skillCode','metadataPath','readonly','dir','1394082DqutzO','contentHash','207865Ojazyf','272780rMnbcB','version','9NFxoOw','80VARDkW','tags','198864GorCAY','35582pzogly'];a80_0xb156=function(){return _0x23d630;};return a80_0xb156();}
1
+ (function(_0x272334,_0x11aac5){var _0xfe4273=a80_0xd61a,_0x14d0ee=_0x272334();while(!![]){try{var _0x5e6398=-parseInt(_0xfe4273(0xa8))/0x1+parseInt(_0xfe4273(0xaa))/0x2*(parseInt(_0xfe4273(0xac))/0x3)+-parseInt(_0xfe4273(0xb1))/0x4*(parseInt(_0xfe4273(0xb0))/0x5)+-parseInt(_0xfe4273(0xa9))/0x6+-parseInt(_0xfe4273(0xae))/0x7+parseInt(_0xfe4273(0xb3))/0x8+parseInt(_0xfe4273(0xb5))/0x9*(parseInt(_0xfe4273(0xb7))/0xa);if(_0x5e6398===_0x11aac5)break;else _0x14d0ee['push'](_0x14d0ee['shift']());}catch(_0x133c4a){_0x14d0ee['push'](_0x14d0ee['shift']());}}}(a80_0x1e32,0x67b13));function a80_0x1e32(){var _0xa3a63d=['skillMdPath','3LPxozW','skillCode','5051802FMtaoz','readonly','95lucGFb','177708QWSULv','skillName','3865272ibEaTF','cacheDir','9eLQdcw','scope','24961600jyHWcE','tags','contentHash','status','appCode','linkedPaths','metadataPath','version','dir','789729HVgVVX','3396678McaqeH','734090jPDNDR'];a80_0x1e32=function(){return _0xa3a63d;};return a80_0x1e32();}function a80_0xd61a(_0x163997,_0xa39d40){_0x163997=_0x163997-0xa0;var _0x1e3250=a80_0x1e32();var _0xd61a9f=_0x1e3250[_0x163997];return _0xd61a9f;}export function summarizeRuntimeSkill(_0x4a03a5){var _0xc6d5b0=a80_0xd61a;return{'id':_0x4a03a5['id'],'skillCode':_0x4a03a5[_0xc6d5b0(0xad)],'skillName':_0x4a03a5[_0xc6d5b0(0xb2)],'scope':_0x4a03a5[_0xc6d5b0(0xb6)],'version':_0x4a03a5[_0xc6d5b0(0xa6)],'readonly':_0x4a03a5[_0xc6d5b0(0xaf)]};}export function summarizeLocalRuntimeSkill(_0x124917){var _0x5edc7e=a80_0xd61a;return{'id':_0x124917['id'],'skillCode':_0x124917[_0x5edc7e(0xad)],'skillName':_0x124917['skillName'],'scope':_0x124917[_0x5edc7e(0xb6)],'appCode':_0x124917[_0x5edc7e(0xa3)],'version':_0x124917['version'],'status':_0x124917[_0x5edc7e(0xa2)],'readonly':_0x124917[_0x5edc7e(0xaf)],'tags':_0x124917[_0x5edc7e(0xa0)],'dir':_0x124917[_0x5edc7e(0xa7)],'cacheDir':_0x124917[_0x5edc7e(0xb4)],'skillMdPath':_0x124917[_0x5edc7e(0xab)],'metadataPath':_0x124917[_0x5edc7e(0xa5)],'linkedPaths':_0x124917[_0x5edc7e(0xa4)],'contentHash':_0x124917[_0x5edc7e(0xa1)],'treeHash':_0x124917['treeHash'],'pulledAt':_0x124917['pulledAt']};}
@@ -1 +1 @@
1
- const a81_0x109488=a81_0xb177;(function(_0x2a4a5f,_0x77048e){const _0x4a3a14=a81_0xb177,_0x5a7f7c=_0x2a4a5f();while(!![]){try{const _0x2210d1=-parseInt(_0x4a3a14(0x1ba))/0x1*(-parseInt(_0x4a3a14(0x1c3))/0x2)+parseInt(_0x4a3a14(0x1be))/0x3*(-parseInt(_0x4a3a14(0x1b5))/0x4)+-parseInt(_0x4a3a14(0x1ac))/0x5+-parseInt(_0x4a3a14(0x1cc))/0x6+-parseInt(_0x4a3a14(0x1bb))/0x7+parseInt(_0x4a3a14(0x1c5))/0x8*(-parseInt(_0x4a3a14(0x1b0))/0x9)+parseInt(_0x4a3a14(0x1ae))/0xa;if(_0x2210d1===_0x77048e)break;else _0x5a7f7c['push'](_0x5a7f7c['shift']());}catch(_0x38fb25){_0x5a7f7c['push'](_0x5a7f7c['shift']());}}}(a81_0x1570,0xcadb7));function a81_0x1570(){const _0x26080a=['#\x20Output\x20Contract\x0a\x0a','6404MLSeTa','read','Invalid\x20Skill\x20name:\x20','references/runtime-contract.md','\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a','1iyzhaR','8953819RMqBuQ','---\x0aname:\x20','skillName','117XcxMod','toISOString','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','trim','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','1780734XMnpOf','type','6877352njdeQO','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','Unsupported\x20Skill\x20type:\x20','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、Backend\x20Function\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','write','9889152xARsWK','.agents/skills','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20Backend\x20Function\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','timestamp','Use\x20one\x20of:\x20','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20Backend\x20Function、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','4482585BQtVHt','\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a','46864700SVgqhx','validation','9FzVxrb','\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a','references/output-contract.md','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。'];a81_0x1570=function(){return _0x26080a;};return a81_0x1570();}import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a81_0x109488(0x1cb),a81_0x109488(0x1b6)];export const DEFAULT_SKILL_TARGET=a81_0x109488(0x1cd);export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function a81_0xb177(_0x557550,_0x42094d){_0x557550=_0x557550-0x1ac;const _0x1570b3=a81_0x1570();let _0xb177d4=_0x1570b3[_0x557550];return _0xb177d4;}export const RUNTIME_CONTRACT_FILE=a81_0x109488(0x1b8);export const OUTPUT_CONTRACT_FILE=a81_0x109488(0x1b2);export function validateSkillName(_0x466da1){const _0x106a50=a81_0x109488,_0x2ca686=_0x466da1[_0x106a50(0x1c1)]();if(!SKILL_NAME_PATTERN['test'](_0x2ca686))throw CliErrors[_0x106a50(0x1af)](_0x106a50(0x1b7)+_0x466da1+_0x106a50(0x1c7),'Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.');return _0x2ca686;}export function normalizeSkillTemplateType(_0x314193){const _0x517da4=a81_0x109488,_0x501990=(_0x314193||_0x517da4(0x1cb))['trim']()||_0x517da4(0x1cb);if(SKILL_TYPES['includes'](_0x501990))return _0x501990;throw CliErrors['validation'](_0x517da4(0x1c9)+_0x314193,_0x517da4(0x1d1)+SKILL_TYPES['join'](',\x20')+'.');}export function renderSkillTemplate(_0xe2dbc0){const _0x5d03e7=a81_0x109488,_0x16984e=validateSkillName(_0xe2dbc0[_0x5d03e7(0x1bd)]),_0x340c8c=normalizeSkillTemplateType(_0xe2dbc0[_0x5d03e7(0x1c4)]),_0x47e788=_0xe2dbc0[_0x5d03e7(0x1d0)]??new Date()[_0x5d03e7(0x1bf)]();return{'skillName':_0x16984e,'type':_0x340c8c,'files':[{'path':'SKILL.md','content':renderSkillMd(_0x16984e,_0x340c8c,_0x47e788)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x16984e,_0x340c8c)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x16984e,_0x340c8c)}]};}function renderSkillMd(_0xe4b9d8,_0x4aa560,_0x4ec389){const _0x2ada5d=a81_0x109488,_0x5df931=typeWorkflow(_0x4aa560);return _0x2ada5d(0x1bc)+_0xe4b9d8+'\x0a#\x20displayName:\x20\x22<填写符合用户实际诉求的人类可读展示名>\x22\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0a#\x20example:\x20\x22<填写一句用户可以直接说出的最简触发话术>\x22\x0ametadata:\x0a\x20\x20type:\x20'+_0x4aa560+'\x0a\x20\x20created:\x20\x22'+_0x4ec389+_0x2ada5d(0x1c0)+_0xe4b9d8+_0x2ada5d(0x1ca)+_0x5df931+'\x0a\x0a'+businessStateSection(_0x4aa560)+_0x2ada5d(0x1b9);}function renderRuntimeContract(_0x586688,_0x1e6bd6){const _0x1f2fa=a81_0x109488,_0x5e1af7=_0x1e6bd6===_0x1f2fa(0x1cb)?'##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a':'';return _0x1f2fa(0x1b3)+_0x586688+'\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type='+_0x1e6bd6+_0x1f2fa(0x1cf)+_0x5e1af7+_0x1f2fa(0x1b1);}function renderOutputContract(_0x4b893d,_0x5e2348){const _0x136741=a81_0x109488,_0xd9649f=_0x5e2348==='write'?_0x136741(0x1ce):_0x5e2348+_0x136741(0x1c6);return _0x136741(0x1b4)+_0x4b893d+_0x136741(0x1ad)+_0xd9649f+_0x136741(0x1c8);}function typeWorkflow(_0x4e7d29){const _0x3c45b0=a81_0x109488;if(_0x4e7d29===_0x3c45b0(0x1b6))return _0x3c45b0(0x1c2);return'1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】';}function businessStateSection(_0x406964){const _0x444c4b=a81_0x109488;if(_0x406964!==_0x444c4b(0x1cb))return'';return _0x444c4b(0x1d2);}
1
+ const a81_0x4537c0=a81_0x22d4;(function(_0x3ef0c9,_0x3c7ecf){const _0x2b391d=a81_0x22d4,_0x2627e5=_0x3ef0c9();while(!![]){try{const _0x4149f1=-parseInt(_0x2b391d(0x9e))/0x1*(-parseInt(_0x2b391d(0xa4))/0x2)+parseInt(_0x2b391d(0xb8))/0x3+-parseInt(_0x2b391d(0x93))/0x4+-parseInt(_0x2b391d(0xae))/0x5*(-parseInt(_0x2b391d(0xaf))/0x6)+parseInt(_0x2b391d(0xab))/0x7*(-parseInt(_0x2b391d(0xb7))/0x8)+parseInt(_0x2b391d(0xb4))/0x9*(-parseInt(_0x2b391d(0xaa))/0xa)+parseInt(_0x2b391d(0xa1))/0xb;if(_0x4149f1===_0x3c7ecf)break;else _0x2627e5['push'](_0x2627e5['shift']());}catch(_0x14cdf0){_0x2627e5['push'](_0x2627e5['shift']());}}}(a81_0x41af,0xa3b27));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a81_0x4537c0(0xb5),a81_0x4537c0(0xa3)];export const DEFAULT_SKILL_TARGET=a81_0x4537c0(0x9d);export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE=a81_0x4537c0(0x98);export const OUTPUT_CONTRACT_FILE=a81_0x4537c0(0x94);export function validateSkillName(_0xe891d0){const _0x323501=a81_0x4537c0,_0x39595c=_0xe891d0['trim']();if(!SKILL_NAME_PATTERN['test'](_0x39595c))throw CliErrors[_0x323501(0xa6)](_0x323501(0x9f)+_0xe891d0+'.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.',_0x323501(0x9c));return _0x39595c;}export function normalizeSkillTemplateType(_0x4433d5){const _0x57ab89=a81_0x4537c0,_0x2b51fd=(_0x4433d5||'write')[_0x57ab89(0x9a)]()||_0x57ab89(0xb5);if(SKILL_TYPES['includes'](_0x2b51fd))return _0x2b51fd;throw CliErrors[_0x57ab89(0xa6)]('Unsupported\x20Skill\x20type:\x20'+_0x4433d5,_0x57ab89(0x97)+SKILL_TYPES[_0x57ab89(0xa2)](',\x20')+'.');}function a81_0x22d4(_0x3d280e,_0x3ab45a){_0x3d280e=_0x3d280e-0x91;const _0x41af04=a81_0x41af();let _0x22d4c6=_0x41af04[_0x3d280e];return _0x22d4c6;}export function renderSkillTemplate(_0xbaba76){const _0x2d55ae=a81_0x4537c0,_0x22c756=validateSkillName(_0xbaba76['skillName']),_0x481338=normalizeSkillTemplateType(_0xbaba76[_0x2d55ae(0xa8)]),_0x15a851=_0xbaba76[_0x2d55ae(0xb6)]??new Date()['toISOString']();return{'skillName':_0x22c756,'type':_0x481338,'files':[{'path':'SKILL.md','content':renderSkillMd(_0x22c756,_0x481338,_0x15a851)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x22c756,_0x481338)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x22c756,_0x481338)}]};}function a81_0x41af(){const _0x166f4f=['references/runtime-contract.md','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','trim','\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','.agents/skills','282223gUUZBx','Invalid\x20Skill\x20name:\x20','##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a','10394472xmCZAn','join','read','2CTRbjR','\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a','validation','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20Backend\x20Function\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','type','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','1140SVZlxX','6714792RvCgQY','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','\x0a#\x20displayName:\x20\x22<填写符合用户实际诉求的人类可读展示名>\x22\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0a#\x20example:\x20\x22<填写一句用户可以直接说出的最简触发话术>\x22\x0ametadata:\x0a\x20\x20type:\x20','15zRpNWX','743586KfWWyJ','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type=','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、Backend\x20Function\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','93015HJDROM','write','timestamp','8goGZtO','3658299sEgbLS','\x0a\x20\x20created:\x20\x22','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','41808xoQKRE','references/output-contract.md','\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20Backend\x20Function、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','Use\x20one\x20of:\x20'];a81_0x41af=function(){return _0x166f4f;};return a81_0x41af();}function renderSkillMd(_0x5996ea,_0x2ebb27,_0xe5e6a8){const _0x50a7a3=a81_0x4537c0,_0x21fc2a=typeWorkflow(_0x2ebb27);return'---\x0aname:\x20'+_0x5996ea+_0x50a7a3(0xad)+_0x2ebb27+_0x50a7a3(0x91)+_0xe5e6a8+_0x50a7a3(0x99)+_0x5996ea+_0x50a7a3(0xb3)+_0x21fc2a+'\x0a\x0a'+businessStateSection(_0x2ebb27)+_0x50a7a3(0x9b);}function renderRuntimeContract(_0x58dac8,_0x116567){const _0x3643f7=a81_0x4537c0,_0x5a783d=_0x116567===_0x3643f7(0xb5)?_0x3643f7(0xa0):'';return _0x3643f7(0xb0)+_0x58dac8+_0x3643f7(0xb2)+_0x116567+_0x3643f7(0xa7)+_0x5a783d+_0x3643f7(0x95);}function renderOutputContract(_0x514f56,_0x5232cd){const _0x4ddae0=a81_0x4537c0,_0x4f3bf0=_0x5232cd===_0x4ddae0(0xb5)?'write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。':_0x5232cd+_0x4ddae0(0x92);return'#\x20Output\x20Contract\x0a\x0a'+_0x514f56+_0x4ddae0(0xa5)+_0x4f3bf0+_0x4ddae0(0xa9);}function typeWorkflow(_0x8ad05a){const _0x1d31c1=a81_0x4537c0;if(_0x8ad05a===_0x1d31c1(0xa3))return _0x1d31c1(0xac);return _0x1d31c1(0xb1);}function businessStateSection(_0x43c4ab){const _0x1e806e=a81_0x4537c0;if(_0x43c4ab!=='write')return'';return _0x1e806e(0x96);}
@@ -1 +1 @@
1
- const a82_0x3b69bd=a82_0x30fd;(function(_0x36155c,_0xedf023){const _0x569ed2=a82_0x30fd,_0x448149=_0x36155c();while(!![]){try{const _0x3cb9c5=parseInt(_0x569ed2(0x1b9))/0x1*(parseInt(_0x569ed2(0x1dc))/0x2)+-parseInt(_0x569ed2(0x1ba))/0x3+-parseInt(_0x569ed2(0x1d6))/0x4+-parseInt(_0x569ed2(0x205))/0x5+-parseInt(_0x569ed2(0x1be))/0x6*(-parseInt(_0x569ed2(0x1df))/0x7)+-parseInt(_0x569ed2(0x1f7))/0x8+-parseInt(_0x569ed2(0x1f9))/0x9*(-parseInt(_0x569ed2(0x1cc))/0xa);if(_0x3cb9c5===_0xedf023)break;else _0x448149['push'](_0x448149['shift']());}catch(_0x12c05c){_0x448149['push'](_0x448149['shift']());}}}(a82_0x2299,0x95764));function a82_0x30fd(_0x14d9ff,_0x37d088){_0x14d9ff=_0x14d9ff-0x1b9;const _0x2299cf=a82_0x2299();let _0x30fda1=_0x2299cf[_0x14d9ff];return _0x30fda1;}import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';import{resolve}from'node:path';import{parse as a82_0xf9f803}from'yaml';import{CliErrors}from'../../errors.js';import{fileText,scanSkillDirectory}from'../../skills/runtime-skill-sync/local-files.js';const SKILL_FILE=a82_0x3b69bd(0x20f),SUPPORTED_SKILL_TYPES=new Set([a82_0x3b69bd(0x1ee),'read']),TEXT_SKILL_FILE_PATTERN=/(?:^SKILL\.md$|\.(?:md|mdx|txt|json|ya?ml|js|mjs|cjs|ts|tsx|sh|sql))$/i;export function validateSkillDirectory(_0x3dfc4e,_0x54ba08={}){const _0x123cdd=a82_0x3b69bd,_0x1d520a=resolveSkillDirectoryRoot(_0x3dfc4e),_0x25690b=[],_0x3080bc=loadRequiredSkillFile(_0x1d520a,_0x25690b),_0x27577a=_0x3080bc?parseFrontmatter(_0x3080bc[_0x123cdd(0x1e5)]):{'hasFrontmatter':![]};_0x3080bc&&validateFrontmatter(_0x3080bc['path'],_0x27577a,_0x25690b);validateRuntimeCliReferences(_0x1d520a,_0x25690b);const _0x5019c1=_0x25690b[_0x123cdd(0x1fc)](_0x4dd10c=>_0x4dd10c[_0x123cdd(0x20e)]==='error'),_0x23d52c=_0x25690b['filter'](_0x7461f7=>_0x7461f7['level']==='warning');return{'ok':_0x5019c1[_0x123cdd(0x201)]===0x0,'dir':_0x1d520a,'type':_0x27577a[_0x123cdd(0x1e0)],'errors':_0x5019c1,'warnings':_0x23d52c};}function resolveSkillDirectoryRoot(_0x1200b1){const _0x4b47bb=a82_0x3b69bd,_0x5ebed6=resolve(_0x1200b1);if(!existsSync(_0x5ebed6))throw CliErrors['validation']('Skill\x20directory\x20not\x20found:\x20'+_0x1200b1);const _0x4c8edc=lstatSync(_0x5ebed6);if(_0x4c8edc[_0x4b47bb(0x1f8)]())return _0x5ebed6;if(_0x4c8edc['isSymbolicLink']()){const _0x52e90d=realpathSync(_0x5ebed6);if(lstatSync(_0x52e90d)['isDirectory']())return _0x52e90d;}throw CliErrors['validation'](_0x4b47bb(0x1c8)+_0x1200b1);}export function throwIfSkillValidationFailed(_0x10186c,_0x1594f4=![]){const _0x4e51a1=a82_0x3b69bd;if(_0x10186c['ok'])return;const _0x269212=_0x10186c['errors'][_0x4e51a1(0x1f3)](_0x39dd6b=>{const _0x47f580=_0x4e51a1,_0x42a114=_0x39dd6b['section']?'#'+_0x39dd6b[_0x47f580(0x204)]:'';return _0x39dd6b[_0x47f580(0x20e)][_0x47f580(0x1c3)]()+'\x20'+_0x39dd6b[_0x47f580(0x1f0)]+'\x20'+_0x39dd6b['file']+_0x42a114+':\x20'+_0x39dd6b[_0x47f580(0x20c)]+'\x20Fix:\x20'+_0x39dd6b['suggestion'];});throw CliErrors[_0x4e51a1(0x1fb)](_0x4e51a1(0x1de)+_0x269212[_0x4e51a1(0x1f2)]('\x0a'),_0x4e51a1(0x1bc));}function loadRequiredSkillFile(_0x54f141,_0x51b8d0){const _0x4d4a33=a82_0x3b69bd,_0x5304fc=resolve(_0x54f141,SKILL_FILE);if(!existsSync(_0x5304fc))return _0x51b8d0[_0x4d4a33(0x1ce)](issue(_0x4d4a33(0x202),'structure-complete',SKILL_FILE,_0x4d4a33(0x1f1),'Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.')),undefined;const _0x400b22=lstatSync(_0x5304fc);if(_0x400b22[_0x4d4a33(0x206)]())return _0x51b8d0[_0x4d4a33(0x1ce)](issue(_0x4d4a33(0x202),'structure-complete',SKILL_FILE,'SKILL.md\x20must\x20be\x20a\x20regular\x20file.','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.')),undefined;if(!_0x400b22[_0x4d4a33(0x1bd)]())return _0x51b8d0[_0x4d4a33(0x1ce)](issue('error',_0x4d4a33(0x1d3),SKILL_FILE,_0x4d4a33(0x1c1),'Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.')),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x5304fc,_0x4d4a33(0x1e4))};}function validateFrontmatter(_0xd9ba7f,_0xf90219,_0x586047){const _0x2a77d5=a82_0x3b69bd;if(!_0xf90219[_0x2a77d5(0x1e3)]){_0x586047[_0x2a77d5(0x1ce)](issue('error',_0x2a77d5(0x1c0),_0xd9ba7f,'SKILL.md\x20must\x20start\x20with\x20frontmatter.',_0x2a77d5(0x1e7)));return;}!_0xf90219[_0x2a77d5(0x1ef)]?.[_0x2a77d5(0x1e9)]()&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x202),'frontmatter-required',_0xd9ba7f,_0x2a77d5(0x1ea),_0x2a77d5(0x1f5))),!_0xf90219[_0x2a77d5(0x1e6)]?.[_0x2a77d5(0x1e9)]()&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x1d7),'display-name-recommended',_0xd9ba7f,_0x2a77d5(0x1ca),'Set\x20displayName\x20to\x20the\x20human-readable\x20Skill\x20name\x20shown\x20in\x20SkillHub.')),!_0xf90219['example']?.[_0x2a77d5(0x1e9)]()&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x1d7),'example-recommended',_0xd9ba7f,_0x2a77d5(0x208),_0x2a77d5(0x1ec))),!_0xf90219[_0x2a77d5(0x1fa)]?.['trim']()&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x202),_0x2a77d5(0x1d8),_0xd9ba7f,_0x2a77d5(0x1da),_0x2a77d5(0x1d9))),_0xf90219['internal']===!![]&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x202),'internal-skill',_0xd9ba7f,_0x2a77d5(0x1fe),_0x2a77d5(0x1cf))),_0xf90219[_0x2a77d5(0x1e0)]?.[_0x2a77d5(0x1e9)]()&&!SUPPORTED_SKILL_TYPES[_0x2a77d5(0x1bb)](_0xf90219[_0x2a77d5(0x1e0)])&&_0x586047[_0x2a77d5(0x1ce)](issue(_0x2a77d5(0x202),_0x2a77d5(0x1c0),_0xd9ba7f,_0x2a77d5(0x1f4),_0x2a77d5(0x1db)));}function validateRuntimeCliReferences(_0x3bb7b9,_0x393d2a){const _0x3297c0=a82_0x3b69bd;for(const _0x7a406b of findRabetbaseCliInvocations(_0x3bb7b9)){_0x393d2a['push'](issue('warning',_0x3297c0(0x1e1),_0x7a406b['file'],_0x3297c0(0x207),_0x3297c0(0x20b),'L'+_0x7a406b[_0x3297c0(0x1d4)]));}}function findRabetbaseCliInvocations(_0x10eb03){const _0x5f10ba=a82_0x3b69bd;return scanSkillDirectory(_0x10eb03)[_0x5f10ba(0x1fc)](_0x3be190=>TEXT_SKILL_FILE_PATTERN[_0x5f10ba(0x1bf)](_0x3be190[_0x5f10ba(0x1fd)]))[_0x5f10ba(0x1cb)](_0x405425=>{const _0x69d7fc=_0x5f10ba,_0x4e0ab5=fileText(_0x405425);return _0x4e0ab5['split'](/\r?\n/)[_0x69d7fc(0x1f3)]((_0x1bc1c7,_0x321e5e)=>({'file':_0x405425[_0x69d7fc(0x1fd)],'line':_0x321e5e+0x1,'text':_0x1bc1c7}))['filter'](({text:_0x4a4dc7})=>isRabetbaseCliInvocation(_0x4a4dc7))[_0x69d7fc(0x1f3)](({file:_0x53332c,line:_0x42b1e8})=>({'file':_0x53332c,'line':_0x42b1e8}));});}const RABETBASE_SUBCOMMANDS=[a82_0x3b69bd(0x1d0),a82_0x3b69bd(0x1d1),'bff','page',a82_0x3b69bd(0x1c2),a82_0x3b69bd(0x1e8),a82_0x3b69bd(0x20d),'service',a82_0x3b69bd(0x1eb),'kb',a82_0x3b69bd(0x1ed),a82_0x3b69bd(0x1c7),a82_0x3b69bd(0x1c6),a82_0x3b69bd(0x1e2),'logs',a82_0x3b69bd(0x1ff)],RABETBASE_INVOCATION=new RegExp(String[a82_0x3b69bd(0x1cd)]`\brabetbase\s+(?:${RABETBASE_SUBCOMMANDS['join']('|')})\b`+String['raw']`(?:\s+[a-z][\w-]*){0,2}\s+(?:--?[a-z]|[\w.-]+=)`,'i');function a82_0x2299(){const _0x3d3712=['Describe\x20when\x20the\x20model\x20should\x20trigger\x20this\x20Skill,\x20plus\x20out-of-scope\x20boundaries\x20and\x20keywords.','Frontmatter\x20description\x20is\x20empty.','Set\x20metadata.type\x20to\x20write\x20or\x20read.','485246BhCKHe','string','Skill\x20validation\x20failed:\x0a','42unDXIW','type','rabetbase-cli-reference','auth','hasFrontmatter','utf8','content','displayName','Add\x20frontmatter\x20with\x20name\x20and\x20description.','app','trim','Frontmatter\x20name\x20is\x20missing.','artifact','Set\x20example\x20to\x20one\x20short\x20user\x20message\x20that\x20can\x20directly\x20trigger\x20this\x20Skill.','config','write','name','ruleId','Missing\x20SKILL.md.','join','map','metadata.type\x20must\x20be\x20one\x20of\x20write\x20or\x20read.','Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.','number','3826600WxVRMB','isDirectory','648PXDAVs','description','validation','filter','path','metadata.internal=true\x20Skills\x20cannot\x20be\x20uploaded.','registry','object','length','error','boolean','section','2115935OUpKyD','isSymbolicLink','This\x20line\x20invokes\x20the\x20rabetbase\x20CLI.\x20rabetbase\x20is\x20a\x20dev-time\x20tool;\x20runtime\x20Skills\x20should\x20drive\x20runtime\x20work\x20through\x20lovrabet\x20commands.','Frontmatter\x20example\x20is\x20missing.','search','example','If\x20this\x20is\x20a\x20runtime\x20step,\x20replace\x20it\x20with\x20the\x20equivalent\x20lovrabet\x20command.\x20Dev-time\x20discovery\x20or\x20handoff\x20notes\x20can\x20stay.','message','schema','level','SKILL.md','3vPpwmN','3598788ANCYJi','has','Fix\x20the\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.','isFile','823302nTzxXa','test','frontmatter-required','SKILL.md\x20is\x20not\x20a\x20file.','project','toUpperCase','split','true','data','workspace','Skill\x20directory\x20not\x20found:\x20','slice','Frontmatter\x20displayName\x20is\x20missing.','flatMap','317010mGTVdU','raw','push','Remove\x20metadata.internal\x20or\x20set\x20it\x20to\x20false\x20before\x20running\x20skill\x20push.','dataset','sql','toLowerCase','structure-complete','line','internal','4481356ySBerX','warning','description-required'];a82_0x2299=function(){return _0x3d3712;};return a82_0x2299();}function isRabetbaseCliInvocation(_0x2e5c45){const _0x5efecb=a82_0x3b69bd,_0x4f1fe6=_0x2e5c45[_0x5efecb(0x209)](/\brabetbase\b/i);if(_0x4f1fe6<0x0)return![];const _0x26fa6c=_0x2e5c45[_0x5efecb(0x1c9)](_0x4f1fe6)[_0x5efecb(0x1c4)](/\blovrabet\b/i)[0x0]??'';return RABETBASE_INVOCATION[_0x5efecb(0x1bf)](_0x26fa6c);}function parseFrontmatter(_0x3c6f4b){const _0x384e87=a82_0x3b69bd,_0x5d4bd2=_0x3c6f4b['match'](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x5d4bd2)return{'hasFrontmatter':![]};const _0x3fd6ba=_0x5d4bd2[0x1]??'',_0x1d4c9f={'hasFrontmatter':!![]};let _0x4f33de;try{_0x4f33de=a82_0xf9f803(_0x3fd6ba);}catch{return _0x1d4c9f;}const _0x48a469=asRecord(_0x4f33de);if(!_0x48a469)return _0x1d4c9f;_0x1d4c9f[_0x384e87(0x1ef)]=scalarToString(_0x48a469[_0x384e87(0x1ef)]),_0x1d4c9f[_0x384e87(0x1e6)]=scalarToString(_0x48a469[_0x384e87(0x1e6)]),_0x1d4c9f[_0x384e87(0x1fa)]=scalarToString(_0x48a469[_0x384e87(0x1fa)]),_0x1d4c9f[_0x384e87(0x20a)]=scalarToString(_0x48a469[_0x384e87(0x20a)]);const _0x5dab8a=asRecord(_0x48a469['metadata']);return _0x5dab8a&&(_0x1d4c9f[_0x384e87(0x1e0)]=scalarToString(_0x5dab8a[_0x384e87(0x1e0)]),_0x1d4c9f[_0x384e87(0x1d5)]=scalarToBoolean(_0x5dab8a['internal'])),_0x1d4c9f;}function asRecord(_0x53068b){const _0x3a8666=a82_0x3b69bd;if(_0x53068b&&typeof _0x53068b===_0x3a8666(0x200)&&!Array['isArray'](_0x53068b))return _0x53068b;return undefined;}function scalarToString(_0x15e393){const _0x1a5af3=a82_0x3b69bd;if(typeof _0x15e393===_0x1a5af3(0x1dd))return _0x15e393[_0x1a5af3(0x1e9)]();if(typeof _0x15e393===_0x1a5af3(0x1f6)||typeof _0x15e393===_0x1a5af3(0x203))return String(_0x15e393);return undefined;}function scalarToBoolean(_0x807bf7){if(typeof _0x807bf7==='boolean')return _0x807bf7;if(typeof _0x807bf7==='string')return cleanBoolean(_0x807bf7);return undefined;}function cleanBoolean(_0x213528){const _0x306453=a82_0x3b69bd,_0x22138a=_0x213528['trim']()[_0x306453(0x1d2)]();if(_0x22138a===_0x306453(0x1c5))return!![];if(_0x22138a==='false')return![];return undefined;}function issue(_0x1654b1,_0x45151b,_0x180a03,_0x10d1a5,_0x37455f,_0x21d587){return{'level':_0x1654b1,'ruleId':_0x45151b,'file':_0x180a03,'section':_0x21d587,'message':_0x10d1a5,'suggestion':_0x37455f};}
1
+ const a82_0xd1265e=a82_0x2fa1;(function(_0xd13d5a,_0x5bb138){const _0x4e23d5=a82_0x2fa1,_0x4a7b31=_0xd13d5a();while(!![]){try{const _0x1ceedc=-parseInt(_0x4e23d5(0x85))/0x1+parseInt(_0x4e23d5(0xa6))/0x2+parseInt(_0x4e23d5(0x7f))/0x3*(-parseInt(_0x4e23d5(0xbb))/0x4)+parseInt(_0x4e23d5(0x9b))/0x5*(parseInt(_0x4e23d5(0x98))/0x6)+-parseInt(_0x4e23d5(0x99))/0x7*(parseInt(_0x4e23d5(0xb9))/0x8)+-parseInt(_0x4e23d5(0x89))/0x9*(parseInt(_0x4e23d5(0x76))/0xa)+parseInt(_0x4e23d5(0xc0))/0xb*(parseInt(_0x4e23d5(0xaa))/0xc);if(_0x1ceedc===_0x5bb138)break;else _0x4a7b31['push'](_0x4a7b31['shift']());}catch(_0x5a44e3){_0x4a7b31['push'](_0x4a7b31['shift']());}}}(a82_0x1e2a,0x7a4ac));import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';import{resolve}from'node:path';import{parse as a82_0x4c76ee}from'yaml';import{CliErrors}from'../../errors.js';import{fileText,scanSkillDirectory}from'../../skills/runtime-skill-sync/local-files.js';const SKILL_FILE=a82_0xd1265e(0xc3),SUPPORTED_SKILL_TYPES=new Set([a82_0xd1265e(0xa3),a82_0xd1265e(0x7d)]),TEXT_SKILL_FILE_PATTERN=/(?:^SKILL\.md$|\.(?:md|mdx|txt|json|ya?ml|js|mjs|cjs|ts|tsx|sh|sql))$/i;export function validateSkillDirectory(_0x4c4d30,_0x15c22e={}){const _0x3fbb53=a82_0xd1265e,_0x5c0bd3=resolveSkillDirectoryRoot(_0x4c4d30),_0x3c1fde=[],_0x36a7b4=loadRequiredSkillFile(_0x5c0bd3,_0x3c1fde),_0x2c70a3=_0x36a7b4?parseFrontmatter(_0x36a7b4['content']):{'hasFrontmatter':![]};_0x36a7b4&&validateFrontmatter(_0x36a7b4[_0x3fbb53(0x92)],_0x2c70a3,_0x3c1fde);validateRuntimeCliReferences(_0x5c0bd3,_0x3c1fde);const _0x18432b=_0x3c1fde[_0x3fbb53(0x72)](_0x2bf651=>_0x2bf651['level']===_0x3fbb53(0xb7)),_0x36c829=_0x3c1fde['filter'](_0x52cad7=>_0x52cad7[_0x3fbb53(0xa9)]===_0x3fbb53(0x9a));return{'ok':_0x18432b[_0x3fbb53(0x90)]===0x0,'dir':_0x5c0bd3,'type':_0x2c70a3['type'],'errors':_0x18432b,'warnings':_0x36c829};}function resolveSkillDirectoryRoot(_0x1596bd){const _0x446e41=a82_0xd1265e,_0x42c19c=resolve(_0x1596bd);if(!existsSync(_0x42c19c))throw CliErrors[_0x446e41(0xb6)](_0x446e41(0x7a)+_0x1596bd);const _0x21e9d3=lstatSync(_0x42c19c);if(_0x21e9d3['isDirectory']())return _0x42c19c;if(_0x21e9d3[_0x446e41(0xb2)]()){const _0x5df2f8=realpathSync(_0x42c19c);if(lstatSync(_0x5df2f8)['isDirectory']())return _0x5df2f8;}throw CliErrors[_0x446e41(0xb6)](_0x446e41(0x7a)+_0x1596bd);}export function throwIfSkillValidationFailed(_0x17765f,_0x1190a6=![]){const _0x5192ca=a82_0xd1265e;if(_0x17765f['ok'])return;const _0x4b52a3=_0x17765f['errors'][_0x5192ca(0x93)](_0x2c3767=>{const _0x3cd0aa=_0x5192ca,_0xce5820=_0x2c3767[_0x3cd0aa(0xb1)]?'#'+_0x2c3767[_0x3cd0aa(0xb1)]:'';return _0x2c3767[_0x3cd0aa(0xa9)][_0x3cd0aa(0xbc)]()+'\x20'+_0x2c3767[_0x3cd0aa(0xc1)]+'\x20'+_0x2c3767[_0x3cd0aa(0x83)]+_0xce5820+':\x20'+_0x2c3767[_0x3cd0aa(0xa7)]+_0x3cd0aa(0x6d)+_0x2c3767[_0x3cd0aa(0x6c)];});throw CliErrors['validation']('Skill\x20validation\x20failed:\x0a'+_0x4b52a3[_0x5192ca(0x75)]('\x0a'),_0x5192ca(0x73));}function loadRequiredSkillFile(_0x1e65a7,_0x31addf){const _0x5ebdce=a82_0xd1265e,_0x2f1b14=resolve(_0x1e65a7,SKILL_FILE);if(!existsSync(_0x2f1b14))return _0x31addf['push'](issue('error',_0x5ebdce(0x8f),SKILL_FILE,_0x5ebdce(0x88),_0x5ebdce(0xaf))),undefined;const _0x394044=lstatSync(_0x2f1b14);if(_0x394044[_0x5ebdce(0xb2)]())return _0x31addf[_0x5ebdce(0x6b)](issue('error',_0x5ebdce(0x8f),SKILL_FILE,'SKILL.md\x20must\x20be\x20a\x20regular\x20file.','Replace\x20the\x20symlink\x20with\x20a\x20regular\x20SKILL.md\x20file\x20inside\x20the\x20Skill\x20directory.')),undefined;if(!_0x394044['isFile']())return _0x31addf[_0x5ebdce(0x6b)](issue(_0x5ebdce(0xb7),'structure-complete',SKILL_FILE,_0x5ebdce(0x9c),_0x5ebdce(0x84))),undefined;return{'path':SKILL_FILE,'content':readFileSync(_0x2f1b14,_0x5ebdce(0xb5))};}function validateFrontmatter(_0x5e14b8,_0x3b05cc,_0x140871){const _0x4f203d=a82_0xd1265e;if(!_0x3b05cc[_0x4f203d(0x82)]){_0x140871[_0x4f203d(0x6b)](issue('error',_0x4f203d(0xba),_0x5e14b8,'SKILL.md\x20must\x20start\x20with\x20frontmatter.',_0x4f203d(0x7e)));return;}!_0x3b05cc[_0x4f203d(0x96)]?.[_0x4f203d(0xb0)]()&&_0x140871[_0x4f203d(0x6b)](issue(_0x4f203d(0xb7),_0x4f203d(0xba),_0x5e14b8,_0x4f203d(0x6f),_0x4f203d(0x9f))),!_0x3b05cc[_0x4f203d(0x9e)]?.[_0x4f203d(0xb0)]()&&_0x140871['push'](issue('warning',_0x4f203d(0xb4),_0x5e14b8,_0x4f203d(0x69),_0x4f203d(0x70))),!_0x3b05cc[_0x4f203d(0x77)]?.[_0x4f203d(0xb0)]()&&_0x140871[_0x4f203d(0x6b)](issue(_0x4f203d(0x9a),_0x4f203d(0x79),_0x5e14b8,_0x4f203d(0xa8),_0x4f203d(0x7c))),!_0x3b05cc[_0x4f203d(0x94)]?.['trim']()&&_0x140871[_0x4f203d(0x6b)](issue(_0x4f203d(0xb7),_0x4f203d(0x97),_0x5e14b8,_0x4f203d(0xa1),_0x4f203d(0xc2))),_0x3b05cc[_0x4f203d(0xae)]===!![]&&_0x140871[_0x4f203d(0x6b)](issue(_0x4f203d(0xb7),_0x4f203d(0x9d),_0x5e14b8,_0x4f203d(0xbe),'Remove\x20metadata.internal\x20or\x20set\x20it\x20to\x20false\x20before\x20running\x20skill\x20push.')),_0x3b05cc[_0x4f203d(0xa2)]?.[_0x4f203d(0xb0)]()&&!SUPPORTED_SKILL_TYPES[_0x4f203d(0x86)](_0x3b05cc[_0x4f203d(0xa2)])&&_0x140871['push'](issue(_0x4f203d(0xb7),_0x4f203d(0xba),_0x5e14b8,'metadata.type\x20must\x20be\x20one\x20of\x20write\x20or\x20read.','Set\x20metadata.type\x20to\x20write\x20or\x20read.'));}function validateRuntimeCliReferences(_0x396118,_0x284058){const _0x3e627d=a82_0xd1265e;for(const _0xc8821c of findRabetbaseCliInvocations(_0x396118)){_0x284058[_0x3e627d(0x6b)](issue(_0x3e627d(0x9a),_0x3e627d(0x78),_0xc8821c[_0x3e627d(0x83)],_0x3e627d(0x95),_0x3e627d(0x71),'L'+_0xc8821c[_0x3e627d(0x81)]));}}function findRabetbaseCliInvocations(_0x1d7155){const _0x10ed56=a82_0xd1265e;return scanSkillDirectory(_0x1d7155)[_0x10ed56(0x72)](_0x4613f5=>TEXT_SKILL_FILE_PATTERN[_0x10ed56(0xc6)](_0x4613f5[_0x10ed56(0x92)]))[_0x10ed56(0xc5)](_0x1581be=>{const _0xb2b913=_0x10ed56,_0x4f9644=fileText(_0x1581be);return _0x4f9644['split'](/\r?\n/)[_0xb2b913(0x93)]((_0x2f8ee4,_0x57aa0e)=>({'file':_0x1581be[_0xb2b913(0x92)],'line':_0x57aa0e+0x1,'text':_0x2f8ee4}))[_0xb2b913(0x72)](({text:_0x2923d4})=>isRabetbaseCliInvocation(_0x2923d4))[_0xb2b913(0x93)](({file:_0x5b7081,line:_0x5a5f56})=>({'file':_0x5b7081,'line':_0x5a5f56}));});}const RABETBASE_SUBCOMMANDS=[a82_0xd1265e(0xc4),a82_0xd1265e(0x6e),a82_0xd1265e(0xa0),a82_0xd1265e(0x7b),a82_0xd1265e(0x8a),a82_0xd1265e(0xac),a82_0xd1265e(0xa4),'service','artifact','kb',a82_0xd1265e(0xbd),a82_0xd1265e(0xad),a82_0xd1265e(0x8d),a82_0xd1265e(0xb8),a82_0xd1265e(0xbf),a82_0xd1265e(0x80)],RABETBASE_INVOCATION=new RegExp(String[a82_0xd1265e(0x8e)]`\brabetbase\s+(?:${RABETBASE_SUBCOMMANDS['join']('|')})\b`+String[a82_0xd1265e(0x8e)]`(?:\s+[a-z][\w-]*){0,2}\s+(?:--?[a-z]|[\w.-]+=)`,'i');function isRabetbaseCliInvocation(_0xd61440){const _0x525a3c=a82_0xd1265e,_0x11143a=_0xd61440['search'](/\brabetbase\b/i);if(_0x11143a<0x0)return![];const _0x33c44f=_0xd61440['slice'](_0x11143a)[_0x525a3c(0x74)](/\blovrabet\b/i)[0x0]??'';return RABETBASE_INVOCATION[_0x525a3c(0xc6)](_0x33c44f);}function parseFrontmatter(_0x4b4822){const _0x35bbb3=a82_0xd1265e,_0x3402c9=_0x4b4822[_0x35bbb3(0xb3)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x3402c9)return{'hasFrontmatter':![]};const _0x2f537a=_0x3402c9[0x1]??'',_0x9dfb1e={'hasFrontmatter':!![]};let _0x131740;try{_0x131740=a82_0x4c76ee(_0x2f537a);}catch{return _0x9dfb1e;}const _0x2ed177=asRecord(_0x131740);if(!_0x2ed177)return _0x9dfb1e;_0x9dfb1e['name']=scalarToString(_0x2ed177[_0x35bbb3(0x96)]),_0x9dfb1e['displayName']=scalarToString(_0x2ed177[_0x35bbb3(0x9e)]),_0x9dfb1e[_0x35bbb3(0x94)]=scalarToString(_0x2ed177[_0x35bbb3(0x94)]),_0x9dfb1e['example']=scalarToString(_0x2ed177['example']);const _0xd5341f=asRecord(_0x2ed177[_0x35bbb3(0x8b)]);return _0xd5341f&&(_0x9dfb1e[_0x35bbb3(0xa2)]=scalarToString(_0xd5341f[_0x35bbb3(0xa2)]),_0x9dfb1e[_0x35bbb3(0xae)]=scalarToBoolean(_0xd5341f[_0x35bbb3(0xae)])),_0x9dfb1e;}function asRecord(_0x3eba32){const _0x5cd5ad=a82_0xd1265e;if(_0x3eba32&&typeof _0x3eba32===_0x5cd5ad(0xa5)&&!Array['isArray'](_0x3eba32))return _0x3eba32;return undefined;}function scalarToString(_0x5b701a){const _0x4c0f48=a82_0xd1265e;if(typeof _0x5b701a===_0x4c0f48(0x91))return _0x5b701a[_0x4c0f48(0xb0)]();if(typeof _0x5b701a===_0x4c0f48(0x87)||typeof _0x5b701a==='boolean')return String(_0x5b701a);return undefined;}function scalarToBoolean(_0x4c5848){const _0x16541f=a82_0xd1265e;if(typeof _0x4c5848===_0x16541f(0xab))return _0x4c5848;if(typeof _0x4c5848===_0x16541f(0x91))return cleanBoolean(_0x4c5848);return undefined;}function a82_0x2fa1(_0x13922b,_0x5285db){_0x13922b=_0x13922b-0x69;const _0x1e2a6f=a82_0x1e2a();let _0x2fa18b=_0x1e2a6f[_0x13922b];return _0x2fa18b;}function a82_0x1e2a(){const _0x44097b=['level','9075684WIHbsi','boolean','app','workspace','internal','Add\x20SKILL.md\x20at\x20the\x20Skill\x20directory\x20root.','trim','section','isSymbolicLink','match','display-name-recommended','utf8','validation','error','auth','200oQDFYP','frontmatter-required','28oAqVWP','toUpperCase','config','metadata.internal=true\x20Skills\x20cannot\x20be\x20uploaded.','logs','22gKexhU','ruleId','Describe\x20when\x20the\x20model\x20should\x20trigger\x20this\x20Skill,\x20plus\x20out-of-scope\x20boundaries\x20and\x20keywords.','SKILL.md','dataset','flatMap','test','Frontmatter\x20displayName\x20is\x20missing.','true','push','suggestion','\x20Fix:\x20','sql','Frontmatter\x20name\x20is\x20missing.','Set\x20displayName\x20to\x20the\x20human-readable\x20Skill\x20name\x20shown\x20in\x20SkillHub.','If\x20this\x20is\x20a\x20runtime\x20step,\x20replace\x20it\x20with\x20the\x20equivalent\x20lovrabet\x20command.\x20Dev-time\x20discovery\x20or\x20handoff\x20notes\x20can\x20stay.','filter','Fix\x20the\x20Skill\x20metadata\x20before\x20running\x20skill\x20push.','split','join','30rmavaE','example','rabetbase-cli-reference','example-recommended','Skill\x20directory\x20not\x20found:\x20','page','Set\x20example\x20to\x20one\x20short\x20user\x20message\x20that\x20can\x20directly\x20trigger\x20this\x20Skill.','read','Add\x20frontmatter\x20with\x20name\x20and\x20description.','199473yszSVP','registry','line','hasFrontmatter','file','Add\x20SKILL.md\x20as\x20a\x20regular\x20file\x20at\x20the\x20Skill\x20directory\x20root.','150651mSpNlU','has','number','Missing\x20SKILL.md.','1349586AXhjMt','project','metadata','false','data','raw','structure-complete','length','string','path','map','description','This\x20line\x20invokes\x20the\x20rabetbase\x20CLI.\x20rabetbase\x20is\x20a\x20dev-time\x20tool;\x20runtime\x20Skills\x20should\x20drive\x20runtime\x20work\x20through\x20lovrabet\x20commands.','name','description-required','36rqrHhj','220122reAUMM','warning','337945GzSwGa','SKILL.md\x20is\x20not\x20a\x20file.','internal-skill','displayName','Set\x20name\x20to\x20the\x20Skill\x20directory\x20code.','bff','Frontmatter\x20description\x20is\x20empty.','type','write','schema','object','869720KCEwUc','message','Frontmatter\x20example\x20is\x20missing.'];a82_0x1e2a=function(){return _0x44097b;};return a82_0x1e2a();}function cleanBoolean(_0x17817c){const _0x62d102=a82_0xd1265e,_0x4e3d56=_0x17817c['trim']()['toLowerCase']();if(_0x4e3d56===_0x62d102(0x6a))return!![];if(_0x4e3d56===_0x62d102(0x8c))return![];return undefined;}function issue(_0x351faf,_0x4bbdc3,_0x5353e2,_0x1ec2b6,_0x3a3436,_0x50c034){return{'level':_0x351faf,'ruleId':_0x4bbdc3,'file':_0x5353e2,'section':_0x50c034,'message':_0x1ec2b6,'suggestion':_0x3a3436};}
@@ -1 +1 @@
1
- function a83_0xbe4f(_0xa71f6,_0x3cbf67){_0xa71f6=_0xa71f6-0xdb;const _0x4c29a2=a83_0x4c29();let _0xbe4f1f=_0x4c29a2[_0xa71f6];return _0xbe4f1f;}const a83_0x2a1db1=a83_0xbe4f;function a83_0x4c29(){const _0x52497c=['6634464nQFwQn','detail','35dAfkQJ','1092378nWdAAa','876906IyYAZU','verbose','5952910pVayQB','sqlcode','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','appCode','sqlName','1560552Guyhby','str','sql','sqlContent','sqlCode','read','5120850MVWQxq','bool','dbId','463372yEdRIQ'];a83_0x4c29=function(){return _0x52497c;};return a83_0x4c29();}(function(_0xab1152,_0x570905){const _0x5d9052=a83_0xbe4f,_0xd49317=_0xab1152();while(!![]){try{const _0x22964a=-parseInt(_0x5d9052(0xdb))/0x1+-parseInt(_0x5d9052(0xe3))/0x2+parseInt(_0x5d9052(0xdc))/0x3+parseInt(_0x5d9052(0xec))/0x4+-parseInt(_0x5d9052(0xde))/0x5+-parseInt(_0x5d9052(0xe9))/0x6+-parseInt(_0x5d9052(0xef))/0x7*(-parseInt(_0x5d9052(0xed))/0x8);if(_0x22964a===_0x570905)break;else _0xd49317['push'](_0xd49317['shift']());}catch(_0x39565d){_0xd49317['push'](_0xd49317['shift']());}}}(a83_0x4c29,0x9bc16));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a83_0x2a1db1(0xe5),'command':a83_0x2a1db1(0xee),'description':a83_0x2a1db1(0xe0),'risk':a83_0x2a1db1(0xe8),'flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x4ecca9){const _0x719aa4=a83_0x2a1db1,_0x14e470=await getSqlQueryInfo(_0x4ecca9[_0x719aa4(0xe1)],_0x4ecca9[_0x719aa4(0xe4)](_0x719aa4(0xdf))),_0x401555=_0x4ecca9[_0x719aa4(0xea)](_0x719aa4(0xdd));if(_0x401555)return{'ok':!![],'data':_0x14e470};const _0x5e7a30=_0x14e470['dbId']?await getDbName(_0x4ecca9[_0x719aa4(0xe1)],_0x14e470[_0x719aa4(0xeb)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x14e470[_0x719aa4(0xe7)],'sqlName':_0x14e470[_0x719aa4(0xe2)],'db':_0x5e7a30?_0x5e7a30+'\x20('+_0x14e470['dbId']+')':_0x14e470[_0x719aa4(0xeb)]??'','sqlContent':_0x14e470[_0x719aa4(0xe6)]??''}};}};
1
+ const a83_0x19fe90=a83_0x46a1;(function(_0x55f1a1,_0x6804e0){const _0x25f1d8=a83_0x46a1,_0xf80361=_0x55f1a1();while(!![]){try{const _0x5a3927=-parseInt(_0x25f1d8(0xf6))/0x1*(parseInt(_0x25f1d8(0xf5))/0x2)+parseInt(_0x25f1d8(0xf2))/0x3*(-parseInt(_0x25f1d8(0xfb))/0x4)+-parseInt(_0x25f1d8(0xf0))/0x5+-parseInt(_0x25f1d8(0xf8))/0x6*(-parseInt(_0x25f1d8(0xea))/0x7)+-parseInt(_0x25f1d8(0xeb))/0x8+parseInt(_0x25f1d8(0xe8))/0x9+parseInt(_0x25f1d8(0xe9))/0xa;if(_0x5a3927===_0x6804e0)break;else _0xf80361['push'](_0xf80361['shift']());}catch(_0xa22e35){_0xf80361['push'](_0xf80361['shift']());}}}(a83_0x2909,0xcb3fc));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a83_0x46a1(_0x5282a5,_0x22abb3){_0x5282a5=_0x5282a5-0xe8;const _0x29096e=a83_0x2909();let _0x46a1c3=_0x29096e[_0x5282a5];return _0x46a1c3;}function a83_0x2909(){const _0xc61740=['4262464cWzJJw','dbId','verbose','sqlcode','read','8149115mtlOrv','sqlContent','3rORvXY','str','detail','20yCMvkS','2973Bujmuq','sqlCode','6HLzggT','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','appCode','2669028qYQKXU','2094660bbwdek','19756230riLHNJ','10386341ciyphj'];a83_0x2909=function(){return _0xc61740;};return a83_0x2909();}import{SQLCODE_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a83_0x19fe90(0xf4),'description':a83_0x19fe90(0xf9),'risk':a83_0x19fe90(0xef),'flags':[SQLCODE_FLAG,VERBOSE_FLAG],async 'execute'(_0x3ddd5b){const _0x3fea69=a83_0x19fe90,_0x59f084=await getSqlQueryInfo(_0x3ddd5b[_0x3fea69(0xfa)],_0x3ddd5b[_0x3fea69(0xf3)](_0x3fea69(0xee))),_0x183767=_0x3ddd5b['bool'](_0x3fea69(0xed));if(_0x183767)return{'ok':!![],'data':_0x59f084};const _0x278e5f=_0x59f084[_0x3fea69(0xec)]?await getDbName(_0x3ddd5b[_0x3fea69(0xfa)],_0x59f084[_0x3fea69(0xec)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x59f084[_0x3fea69(0xf7)],'sqlName':_0x59f084['sqlName'],'db':_0x278e5f?_0x278e5f+'\x20('+_0x59f084[_0x3fea69(0xec)]+')':_0x59f084['dbId']??'','sqlContent':_0x59f084[_0x3fea69(0xf1)]??''}};}};
@@ -12,10 +12,8 @@
12
12
  * `ok: false` response so callers can distinguish success from failure in
13
13
  * scripts without inspecting the data shape.
14
14
  *
15
- * Why returning `execResult` directly when it's not an array: the Lovrabet
16
- * SQL API can return a single object (e.g. `SELECT 1` returns `{ "": 1 }`).
17
- * We normalize this to always return a `rows` array, falling back to `[]`
18
- * when the response is neither.
15
+ * Successful writes may omit execResult. The CLI keeps its rows/rowCount output
16
+ * and uses an empty array when the DTO contains no result rows.
19
17
  */
20
18
  import type { CommandDefinition } from "../../framework/types.js";
21
19
  export declare const sqlExec: CommandDefinition;
@@ -1 +1 @@
1
- const a84_0x44a5d6=a84_0x3252;(function(_0x557ffc,_0x93435e){const _0x7beeca=a84_0x3252,_0x450197=_0x557ffc();while(!![]){try{const _0x14d5f0=-parseInt(_0x7beeca(0xc4))/0x1*(parseInt(_0x7beeca(0xc8))/0x2)+parseInt(_0x7beeca(0xc6))/0x3+parseInt(_0x7beeca(0xc9))/0x4+-parseInt(_0x7beeca(0xd0))/0x5*(parseInt(_0x7beeca(0xd2))/0x6)+-parseInt(_0x7beeca(0xd4))/0x7+parseInt(_0x7beeca(0xcb))/0x8+parseInt(_0x7beeca(0xca))/0x9;if(_0x14d5f0===_0x93435e)break;else _0x450197['push'](_0x450197['shift']());}catch(_0x3ebcab){_0x450197['push'](_0x450197['shift']());}}}(a84_0x42bc,0x76aba));function a84_0x42bc(){const _0x3fa251=['1038556UOPIvu','3317994wfDSXM','2340416uIWFwa','Returned\x20','str','SQL\x20execution\x20failed','read','2099795xekjGq','params','6TFRFVE','execError','4304440FgLthA','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','14548wamyQB','now','2062152XLAnTQ','length','12znezLB'];a84_0x42bc=function(){return _0x3fa251;};return a84_0x42bc();}import{executeSdkSql}from'../../core/sdk-client.js';import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';function a84_0x3252(_0x334101,_0x3e2ef4){_0x334101=_0x334101-0xc4;const _0x42bcf4=a84_0x42bc();let _0x3252a5=_0x42bcf4[_0x334101];return _0x3252a5;}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':'exec','description':a84_0x44a5d6(0xd5),'risk':a84_0x44a5d6(0xcf),'flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x2834ab){const _0x35062f=a84_0x44a5d6,_0x12f4c2=parseJsonParams(_0x2834ab[_0x35062f(0xcd)](_0x35062f(0xd1))),_0xa95f08=Date[_0x35062f(0xc5)](),_0x5abda9=await executeSdkSql(_0x2834ab[_0x35062f(0xcd)]('sqlcode'),_0x12f4c2),_0x83414f=Date['now']()-_0xa95f08,_0x260479=_0x5abda9?.['execResult']??_0x5abda9,_0x19e864=_0x5abda9?.['execSuccess']??!![];if(!_0x19e864)return{'ok':![],'data':{'error':_0x5abda9?.[_0x35062f(0xd3)]||_0x35062f(0xce),'elapsed':_0x83414f},'message':_0x35062f(0xce)};const _0x398517=Array['isArray'](_0x260479)?_0x260479:[];return{'ok':!![],'data':{'rows':_0x398517,'rowCount':_0x398517[_0x35062f(0xc7)],'elapsed':_0x83414f},'message':_0x35062f(0xcc)+_0x398517[_0x35062f(0xc7)]+'\x20row(s)\x20in\x20'+_0x83414f+'ms'};}};
1
+ function a84_0x17e7(_0x26245f,_0x4d9430){_0x26245f=_0x26245f-0x192;const _0x258a69=a84_0x258a();let _0x17e73a=_0x258a69[_0x26245f];return _0x17e73a;}function a84_0x258a(){const _0x5382e4=['execSuccess','2010463WfHKfl','349464VLGEMm','Returned\x20','929265zPXbuh','read','apiError','exec','4HXLTZE','Invalid\x20SQL\x20execution\x20response:\x20execSuccess\x20must\x20be\x20a\x20boolean.','20mgBsGE','now','object','357599LnXXvp','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','isArray','8mxqolU','195462YSEbZF','412020rODTpv','10mtcPFO','sqlcode','execResult','SQL\x20execution\x20failed','sql','\x20row(s)\x20in\x20','9116657jdwfYT','length','params'];a84_0x258a=function(){return _0x5382e4;};return a84_0x258a();}const a84_0xf0bf8d=a84_0x17e7;(function(_0x206fe6,_0x298d06){const _0x3ca0a5=a84_0x17e7,_0x37e330=_0x206fe6();while(!![]){try{const _0x1b8e9c=parseInt(_0x3ca0a5(0x194))/0x1+-parseInt(_0x3ca0a5(0x1ab))/0x2*(parseInt(_0x3ca0a5(0x1a7))/0x3)+-parseInt(_0x3ca0a5(0x1a5))/0x4*(parseInt(_0x3ca0a5(0x1ad))/0x5)+-parseInt(_0x3ca0a5(0x199))/0x6+-parseInt(_0x3ca0a5(0x1a4))/0x7*(-parseInt(_0x3ca0a5(0x197))/0x8)+-parseInt(_0x3ca0a5(0x198))/0x9+parseInt(_0x3ca0a5(0x19a))/0xa*(parseInt(_0x3ca0a5(0x1a0))/0xb);if(_0x1b8e9c===_0x298d06)break;else _0x37e330['push'](_0x37e330['shift']());}catch(_0x243af7){_0x37e330['push'](_0x37e330['shift']());}}}(a84_0x258a,0x65219));import{executeSdkSql}from'../../core/sdk-client.js';import{SQLCODE_FLAG,PARAMS_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';import{CliErrors}from'../../errors.js';export const sqlExec={'service':a84_0xf0bf8d(0x19e),'command':a84_0xf0bf8d(0x1aa),'description':a84_0xf0bf8d(0x195),'risk':a84_0xf0bf8d(0x1a8),'flags':[SQLCODE_FLAG,PARAMS_FLAG],async 'execute'(_0x2ae660){const _0xea62bb=a84_0xf0bf8d,_0x25355b=parseJsonParams(_0x2ae660['str'](_0xea62bb(0x1a2))),_0x32a358=Date[_0xea62bb(0x192)](),_0x401903=await executeSdkSql(_0x2ae660['str'](_0xea62bb(0x19b)),_0x25355b),_0x11b0ca=Date[_0xea62bb(0x192)]()-_0x32a358;if(!_0x401903||typeof _0x401903!==_0xea62bb(0x193)||Array[_0xea62bb(0x196)](_0x401903)||typeof _0x401903[_0xea62bb(0x1a3)]!=='boolean')throw CliErrors[_0xea62bb(0x1a9)](_0xea62bb(0x1ac));if(!_0x401903[_0xea62bb(0x1a3)])return{'ok':![],'data':{'error':_0xea62bb(0x19d),'elapsed':_0x11b0ca},'message':_0xea62bb(0x19d)};const _0x24ab1a=Array[_0xea62bb(0x196)](_0x401903['execResult'])?_0x401903[_0xea62bb(0x19c)]:[];return{'ok':!![],'data':{'rows':_0x24ab1a,'rowCount':_0x24ab1a[_0xea62bb(0x1a1)],'elapsed':_0x11b0ca},'message':_0xea62bb(0x1a6)+_0x24ab1a[_0xea62bb(0x1a1)]+_0xea62bb(0x19f)+_0x11b0ca+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x2c38d0,_0x1bbc4e){const _0xf12baf=a85_0x4b38,_0x3ff489=_0x2c38d0();while(!![]){try{const _0x43cad8=parseInt(_0xf12baf(0x122))/0x1+-parseInt(_0xf12baf(0x119))/0x2+parseInt(_0xf12baf(0x11c))/0x3*(parseInt(_0xf12baf(0x11a))/0x4)+parseInt(_0xf12baf(0x120))/0x5*(parseInt(_0xf12baf(0x118))/0x6)+parseInt(_0xf12baf(0x11b))/0x7*(parseInt(_0xf12baf(0x11f))/0x8)+-parseInt(_0xf12baf(0x11e))/0x9*(parseInt(_0xf12baf(0x11d))/0xa)+-parseInt(_0xf12baf(0x121))/0xb;if(_0x43cad8===_0x1bbc4e)break;else _0x3ff489['push'](_0x3ff489['shift']());}catch(_0x4f67c1){_0x3ff489['push'](_0x3ff489['shift']());}}}(a85_0x5e63,0x9d517));function a85_0x4b38(_0xe468d5,_0x10a915){_0xe468d5=_0xe468d5-0x118;const _0x5e63ab=a85_0x5e63();let _0x4b38d9=_0x5e63ab[_0xe468d5];return _0x4b38d9;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlExec}from'../../commands/sql/exec.js';function a85_0x5e63(){const _0xcfa627=['80JgjKBL','151722VCYMmq','3314536CKEbnB','146765BDDQKI','11957891VxBWsH','90077tmqXyW','78NTWTut','81070faHGJF','17972HPnqBW','14uzZFkb','405Kxmmgh'];a85_0x5e63=function(){return _0xcfa627;};return a85_0x5e63();}export const sqlDefinitions=[sqlDetail,sqlExec];
1
+ (function(_0x5701c9,_0x260c61){const _0xfd08b9=a85_0x49a9,_0x3f5336=_0x5701c9();while(!![]){try{const _0x2c3991=parseInt(_0xfd08b9(0x120))/0x1*(-parseInt(_0xfd08b9(0x122))/0x2)+parseInt(_0xfd08b9(0x127))/0x3*(-parseInt(_0xfd08b9(0x123))/0x4)+parseInt(_0xfd08b9(0x125))/0x5*(parseInt(_0xfd08b9(0x11e))/0x6)+parseInt(_0xfd08b9(0x128))/0x7+parseInt(_0xfd08b9(0x11f))/0x8+parseInt(_0xfd08b9(0x126))/0x9*(-parseInt(_0xfd08b9(0x124))/0xa)+parseInt(_0xfd08b9(0x121))/0xb;if(_0x2c3991===_0x260c61)break;else _0x3f5336['push'](_0x3f5336['shift']());}catch(_0x50a861){_0x3f5336['push'](_0x3f5336['shift']());}}}(a85_0x6777,0x1b94f));function a85_0x6777(){const _0x419e06=['917592rKYuWS','195853NUvbwd','2017532zqEhZv','2mhEJnp','30188nkqJlq','50xmxVSi','5UVAsXj','203445vIJBeK','6ExIAHB','332073aAQLnd','548382qHNqKt'];a85_0x6777=function(){return _0x419e06;};return a85_0x6777();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlExec}from'../../commands/sql/exec.js';function a85_0x49a9(_0x5592d7,_0x413343){_0x5592d7=_0x5592d7-0x11e;const _0x6777d7=a85_0x6777();let _0x49a9a5=_0x6777d7[_0x5592d7];return _0x49a9a5;}export const sqlDefinitions=[sqlDetail,sqlExec];
@@ -1 +1 @@
1
- const a86_0x142542=a86_0x57c3;(function(_0x185a27,_0x28edff){const _0x264b6e=a86_0x57c3,_0x1c7a3d=_0x185a27();while(!![]){try{const _0x1d5ae9=-parseInt(_0x264b6e(0x21d))/0x1*(-parseInt(_0x264b6e(0x1ed))/0x2)+-parseInt(_0x264b6e(0x1dc))/0x3*(parseInt(_0x264b6e(0x222))/0x4)+-parseInt(_0x264b6e(0x1de))/0x5+-parseInt(_0x264b6e(0x1fe))/0x6+-parseInt(_0x264b6e(0x21e))/0x7*(parseInt(_0x264b6e(0x224))/0x8)+-parseInt(_0x264b6e(0x206))/0x9+parseInt(_0x264b6e(0x225))/0xa;if(_0x1d5ae9===_0x28edff)break;else _0x1c7a3d['push'](_0x1c7a3d['shift']());}catch(_0x1c5663){_0x1c7a3d['push'](_0x1c7a3d['shift']());}}}(a86_0x5e2a,0x76303));import{fileURLToPath}from'node:url';import{basename,dirname,relative,win32}from'node:path';import{execaSync}from'execa';function a86_0x57c3(_0x35986f,_0x108599){_0x35986f=_0x35986f-0x1dc;const _0x5e2a8f=a86_0x5e2a();let _0x57c32c=_0x5e2a8f[_0x35986f];return _0x57c32c;}function a86_0x5e2a(){const _0xaa5d6=[',\x20but\x20Built-in\x20Skill\x20verification\x20failed:\x20','repairCommand','Already\x20on\x20requested\x20version\x20(v','Invalid\x20version:\x20','dirname','\x20is\x20current.','\x20version\x20from\x20npm.','trim','@lovrabet/lovrabet-cli','win32','entries','exit\x20','update','3085314elsrKs','Checking\x20npm\x20dist-tags...','basename','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','INSTALL_FAILED','validation','\x20doctor','unknown','1281834IIrpMh','platform','filter',']:\x20','\x20CLI\x20from\x20npm','args','Run:\x20npm\x20view\x20','/-/package/','pipe','lib','log','\x20\x20CLI\x20Built-in\x20Skill\x20','json','npm','map','@lovrabet\x5clovrabet-cli','read',',\x20state\x20','Run:\x20npm\x20install\x20-g\x20','skillVersion','\x20->\x20','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','bool','122HUTEwC','7tNfxtg','Checking\x20CLI\x20Built-in\x20Skill...','nonInteractive','boolean','2768324pQmlgw','latest','6859976gcZeFt','23157370ElUakJ','expected\x20','timeout','Install\x20a\x20specific\x20CLI\x20version',',\x20found\x20','warn','Updated\x20to\x20v','fromEntries','code','source','error','\x20dist-tags,\x20then\x20retry.',',\x20then\x20verify\x20with:\x20','stderr','toLowerCase','Update\x20failed:\x20','beta','version','state','str','length','shortMessage','3NVxMZZ','object','1987155fungbl','string','Run:\x20','write','run','valid','join','includes','CLI\x20updated\x20to\x20v','Already\x20up\x20to\x20date\x20(v','install','Global\x20npm\x20prefix\x20is\x20not\x20writable;\x20retrying\x20in\x20the\x20current\x20CLI\x20Node\x20environment:\x20','stdout','reason','Version\x20comparison\x20failed:\x20','12656LKRaeu','apiError','/dist-tags','Unable\x20to\x20resolve\x20'];a86_0x5e2a=function(){return _0xaa5d6;};return a86_0x5e2a();}import a86_0x1a6c2e from'semver';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{getCliVersion}from'../utils/version.js';import{inspectInstalledBuiltinSkillVersion,installBuiltinSkill}from'../skills/builtin-skill.js';const updateFlags=[{'name':a86_0x142542(0x223),'type':a86_0x142542(0x221),'description':'Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','default':![]},{'name':a86_0x142542(0x235),'type':a86_0x142542(0x221),'description':'Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','default':![]},{'name':a86_0x142542(0x236),'type':a86_0x142542(0x1df),'description':a86_0x142542(0x228)}];function getRequestedVersion(_0x4f4e8a){const _0x1544f0=a86_0x142542,_0x2434f7=_0x4f4e8a[_0x1544f0(0x238)]('version')[_0x1544f0(0x1f8)]();if(_0x2434f7)return _0x2434f7;return String(_0x4f4e8a[_0x1544f0(0x20b)]?.[0x0]??'')[_0x1544f0(0x1f8)]();}async function validateUpdateFlags(_0x334b47){const _0x1bd39e=a86_0x142542,_0x351612=getRequestedVersion(_0x334b47),_0xce3c9f=[_0x334b47[_0x1bd39e(0x21c)](_0x1bd39e(0x223))?_0x1bd39e(0x223):'',_0x334b47[_0x1bd39e(0x21c)](_0x1bd39e(0x235))?'beta':'',_0x351612?_0x1bd39e(0x236):'']['filter'](Boolean);if(_0xce3c9f[_0x1bd39e(0x239)]>0x1)throw CliErrors[_0x1bd39e(0x203)](_0x1bd39e(0x201),_0x1bd39e(0x21b));if(_0x351612&&!a86_0x1a6c2e['valid'](_0x351612))throw CliErrors[_0x1bd39e(0x203)](_0x1bd39e(0x1f4)+_0x351612,'Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');}async function fetchNpmDistTags(){const _0x439c03=a86_0x142542;try{const _0x322773=NPM_REGISTRY_BASE_URL+_0x439c03(0x20d)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+_0x439c03(0x1ef),_0x175601=await fetch(_0x322773,{'signal':AbortSignal[_0x439c03(0x227)](0x2710)});if(!_0x175601['ok'])return null;const _0x37852f=await _0x175601[_0x439c03(0x212)]();if(!_0x37852f||typeof _0x37852f!==_0x439c03(0x1dd))return null;return Object[_0x439c03(0x22c)](Object[_0x439c03(0x1fb)](_0x37852f)[_0x439c03(0x208)](([,_0x1113b3])=>typeof _0x1113b3===_0x439c03(0x1df)&&_0x1113b3[_0x439c03(0x1f8)]())[_0x439c03(0x214)](([_0x595bc1,_0x45652c])=>[_0x595bc1,String(_0x45652c)['trim']()]));}catch{return null;}}async function resolveTargetVersion(_0x15da13){const _0x350c65=a86_0x142542,_0x5267b8=getRequestedVersion(_0x15da13);if(_0x5267b8)return{'version':_0x5267b8,'source':_0x350c65(0x236)};const _0x387c19=_0x15da13[_0x350c65(0x21c)](_0x350c65(0x235))?_0x350c65(0x235):_0x350c65(0x223),_0x37906f=await fetchNpmDistTags(),_0x2d6fd5=_0x37906f?.[_0x387c19];if(!_0x2d6fd5)return null;return{'version':_0x2d6fd5,'source':_0x387c19};}function shouldInstallTarget(_0x503fd9,_0x45e5d4){const _0xdc0966=a86_0x142542;if(_0x45e5d4['source']===_0xdc0966(0x236)||_0x45e5d4[_0xdc0966(0x22e)]==='beta')return!a86_0x1a6c2e['eq'](_0x503fd9,_0x45e5d4[_0xdc0966(0x236)]);return a86_0x1a6c2e['lt'](_0x503fd9,_0x45e5d4[_0xdc0966(0x236)]);}export function installCliPackage(_0x25821f,_0x4179b9,_0x2b9373=resolveCurrentCliNpmPrefix()){const _0x4e7b15=a86_0x142542,_0x2bcd6d=LOVRABET_NPM_PACKAGE_NAME+'@'+_0x25821f,_0x58abab=[_0x4e7b15(0x1e8),'-g',_0x2bcd6d],_0x4d51cb=runNpmInstall(_0x58abab,_0x4179b9);if(_0x4d51cb['ok']||!isNpmPrefixPermissionError(_0x4d51cb['error']))return _0x4d51cb;if(!_0x2b9373||_0x4d51cb['error']?.[_0x4e7b15(0x233)]()[_0x4e7b15(0x1e5)](_0x2b9373['toLowerCase']()))return _0x4d51cb;return console[_0x4e7b15(0x22a)](_0x4e7b15(0x1e9)+_0x2b9373),runNpmInstall([..._0x58abab,'--prefix',_0x2b9373],_0x4179b9);}export function resolveCurrentCliNpmPrefix(_0x1a000a=fileURLToPath(import.meta.url),_0x7ffff6=process[a86_0x142542(0x207)]){const _0x37cc24=a86_0x142542,_0x3d1caa=_0x7ffff6===_0x37cc24(0x1fa)?win32:{'basename':basename,'dirname':dirname,'relative':relative},_0x452b54=_0x3d1caa[_0x37cc24(0x1f5)](_0x3d1caa[_0x37cc24(0x1f5)](_0x3d1caa[_0x37cc24(0x1f5)](_0x1a000a))),_0x1fdbf2=_0x7ffff6===_0x37cc24(0x1fa)?_0x37cc24(0x215):_0x37cc24(0x1f9);let _0x5c9d15=_0x3d1caa['dirname'](_0x452b54);while(!![]){if(_0x3d1caa['basename'](_0x5c9d15)==='node_modules'&&_0x3d1caa['relative'](_0x5c9d15,_0x452b54)===_0x1fdbf2){const _0x1e52d2=_0x3d1caa[_0x37cc24(0x1f5)](_0x5c9d15);return _0x3d1caa[_0x37cc24(0x200)](_0x1e52d2)===_0x37cc24(0x20f)?_0x3d1caa[_0x37cc24(0x1f5)](_0x1e52d2):_0x1e52d2;}const _0x39c583=_0x3d1caa['dirname'](_0x5c9d15);if(_0x39c583===_0x5c9d15)return null;_0x5c9d15=_0x39c583;}}function runNpmInstall(_0x2e4963,_0x92562a){const _0x8d8fbd=a86_0x142542;console['log']('*\x20'+['npm',..._0x2e4963][_0x8d8fbd(0x1e4)]('\x20'));const _0x3afa66=execaSync(_0x8d8fbd(0x213),_0x2e4963,{'cwd':process['cwd'](),'stdio':_0x8d8fbd(0x20e),'env':process.env,'extendEnv':![],'shell':![],'reject':![]}),_0x12eb03=_0x3afa66[_0x8d8fbd(0x232)]?String(_0x3afa66['stderr'])[_0x8d8fbd(0x1f8)]():'',_0x573834=_0x3afa66[_0x8d8fbd(0x1ea)]?String(_0x3afa66['stdout'])[_0x8d8fbd(0x1f8)]():'';if(!_0x92562a){if(_0x573834)process[_0x8d8fbd(0x1ea)][_0x8d8fbd(0x1e1)](_0x573834+'\x0a');if(_0x12eb03)process[_0x8d8fbd(0x232)][_0x8d8fbd(0x1e1)](_0x12eb03+'\x0a');}if(_0x3afa66['exitCode']===0x0)return{'ok':!![]};const _0x40e701=_0x12eb03||_0x573834||_0x3afa66[_0x8d8fbd(0x23a)]||_0x8d8fbd(0x1fc)+(_0x3afa66['exitCode']??_0x8d8fbd(0x205));return{'ok':![],'error':_0x40e701};}function isNpmPrefixPermissionError(_0xe49d54){return Boolean(_0xe49d54&&/\b(?:EACCES|EPERM)\b/['test'](_0xe49d54));}function repairCurrentBuiltinSkill(_0x4a76f9){const _0x2b4aa6=a86_0x142542;console[_0x2b4aa6(0x210)](_0x2b4aa6(0x21f));const _0x1b8768=installBuiltinSkill({'stdio':_0x4a76f9?_0x2b4aa6(0x20e):'inherit'});if(_0x1b8768['ok']){console[_0x2b4aa6(0x210)](_0x2b4aa6(0x211)+_0x1b8768[_0x2b4aa6(0x219)]+_0x2b4aa6(0x1f6));return;}throw CliErrors[_0x2b4aa6(0x1ee)]('CLI\x20Built-in\x20Skill\x20repair\x20failed\x20['+(_0x1b8768[_0x2b4aa6(0x22d)]||_0x2b4aa6(0x202))+_0x2b4aa6(0x209)+(_0x1b8768['error']||_0x2b4aa6(0x205)),_0x2b4aa6(0x1e0)+_0x1b8768[_0x2b4aa6(0x1f2)]+_0x2b4aa6(0x231)+CLI_BIN_NAME+'\x20doctor');}function verifyUpdatedBuiltinSkill(_0x376799){const _0x9fe776=a86_0x142542;console[_0x9fe776(0x210)](_0x9fe776(0x21f));const _0x2ddd06=inspectInstalledBuiltinSkillVersion(_0x376799);if(_0x2ddd06[_0x9fe776(0x237)]==='current'){console[_0x9fe776(0x210)](_0x9fe776(0x211)+_0x376799+'\x20is\x20current.');return;}const _0x591ccd=_0x2ddd06[_0x9fe776(0x219)]?'expected\x20'+_0x376799+_0x9fe776(0x229)+_0x2ddd06[_0x9fe776(0x219)]:_0x9fe776(0x226)+_0x376799+_0x9fe776(0x217)+_0x2ddd06[_0x9fe776(0x237)],_0x4aeb4f=_0x2ddd06[_0x9fe776(0x1eb)]?_0x591ccd+':\x20'+_0x2ddd06[_0x9fe776(0x1eb)]:_0x591ccd;throw CliErrors['apiError'](_0x9fe776(0x1e6)+_0x376799+_0x9fe776(0x1f1)+_0x4aeb4f,_0x9fe776(0x1e0)+_0x2ddd06[_0x9fe776(0x1f2)]+_0x9fe776(0x231)+CLI_BIN_NAME+_0x9fe776(0x204));}async function execute(_0x2de479){const _0x305a1e=a86_0x142542;await validateUpdateFlags(_0x2de479);const _0xe6f548=getCliVersion();console['log']('Current\x20version:\x20'+_0xe6f548),console[_0x305a1e(0x210)](_0x305a1e(0x1ff));const _0x1b44cb=await resolveTargetVersion(_0x2de479);if(!_0x1b44cb){const _0x428fb6=_0x2de479[_0x305a1e(0x21c)](_0x305a1e(0x235))?_0x305a1e(0x235):_0x305a1e(0x223),_0x140f32=_0x305a1e(0x1f0)+_0x428fb6+_0x305a1e(0x1f7);throw CliErrors[_0x305a1e(0x1ee)](_0x140f32,'Run:\x20npm\x20install\x20-g\x20'+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x428fb6);}const _0xc12db8=[_0xe6f548,_0x1b44cb[_0x305a1e(0x236)]]['find'](_0x322c38=>!a86_0x1a6c2e[_0x305a1e(0x1e3)](_0x322c38));if(_0xc12db8){const _0x574d13=_0x305a1e(0x1ec)+_0xc12db8+'.';throw CliErrors['apiError'](_0x574d13,_0x305a1e(0x20c)+LOVRABET_NPM_PACKAGE_NAME+_0x305a1e(0x230));}if(!shouldInstallTarget(_0xe6f548,_0x1b44cb)){const _0xc2ac81=_0x1b44cb[_0x305a1e(0x22e)]==='version'?_0x305a1e(0x1f3)+_0x1b44cb['version']+').':_0x305a1e(0x1e7)+_0x1b44cb[_0x305a1e(0x236)]+').';return console[_0x305a1e(0x210)](_0xc2ac81),repairCurrentBuiltinSkill(_0x2de479['nonInteractive']),{'ok':!![]};}console[_0x305a1e(0x210)]('Updating\x20'+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0xe6f548+_0x305a1e(0x21a)+_0x1b44cb[_0x305a1e(0x236)]);const _0x58506d=installCliPackage(_0x1b44cb[_0x305a1e(0x236)],_0x2de479[_0x305a1e(0x220)]);if(!_0x58506d['ok']){const _0x16738f=_0x305a1e(0x234)+(_0x58506d[_0x305a1e(0x22f)]||_0x305a1e(0x205));throw CliErrors[_0x305a1e(0x1ee)](_0x16738f,_0x305a1e(0x218)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x1b44cb['version']);}return console[_0x305a1e(0x210)](_0x305a1e(0x22b)+_0x1b44cb['version']+'.'),console[_0x305a1e(0x210)]('\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.'),verifyUpdatedBuiltinSkill(_0x1b44cb[_0x305a1e(0x236)]),{'ok':!![]};}export const updateDefinition={'service':a86_0x142542(0x1fd),'command':a86_0x142542(0x1e2),'description':'Update\x20the\x20'+CLI_BIN_NAME+a86_0x142542(0x20a),'risk':a86_0x142542(0x216),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
1
+ const a86_0x4e2891=a86_0x1cfd;(function(_0x2ec6ef,_0x2181e2){const _0x4e394c=a86_0x1cfd,_0x281c5a=_0x2ec6ef();while(!![]){try{const _0x2a5d1a=-parseInt(_0x4e394c(0x17b))/0x1+parseInt(_0x4e394c(0x1ca))/0x2+parseInt(_0x4e394c(0x176))/0x3*(-parseInt(_0x4e394c(0x1ba))/0x4)+parseInt(_0x4e394c(0x16f))/0x5*(-parseInt(_0x4e394c(0x191))/0x6)+parseInt(_0x4e394c(0x172))/0x7+parseInt(_0x4e394c(0x19f))/0x8*(parseInt(_0x4e394c(0x1b9))/0x9)+-parseInt(_0x4e394c(0x1b0))/0xa;if(_0x2a5d1a===_0x2181e2)break;else _0x281c5a['push'](_0x281c5a['shift']());}catch(_0x350213){_0x281c5a['push'](_0x281c5a['shift']());}}}(a86_0x126b,0x87545));import{fileURLToPath}from'node:url';import{basename,dirname,relative,win32}from'node:path';import{execaSync}from'execa';import a86_0x133933 from'semver';function a86_0x1cfd(_0x3104cd,_0x1c08d4){_0x3104cd=_0x3104cd-0x16e;const _0x126bae=a86_0x126b();let _0x1cfd62=_0x126bae[_0x3104cd];return _0x1cfd62;}import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{LOVRABET_NPM_PACKAGE_NAME,NPM_REGISTRY_BASE_URL}from'../constant/distribution.js';import{getCliVersion}from'../utils/version.js';import{inspectInstalledBuiltinSkillVersion,installBuiltinSkill}from'../skills/builtin-skill.js';const updateFlags=[{'name':a86_0x4e2891(0x18a),'type':a86_0x4e2891(0x1a8),'description':a86_0x4e2891(0x178),'default':![]},{'name':a86_0x4e2891(0x196),'type':'boolean','description':a86_0x4e2891(0x173),'default':![]},{'name':'version','type':a86_0x4e2891(0x195),'description':'Install\x20a\x20specific\x20CLI\x20version'}];function getRequestedVersion(_0x3d32a1){const _0x14e58a=a86_0x4e2891,_0x5911a4=_0x3d32a1['str'](_0x14e58a(0x1ae))[_0x14e58a(0x1ad)]();if(_0x5911a4)return _0x5911a4;return String(_0x3d32a1['args']?.[0x0]??'')[_0x14e58a(0x1ad)]();}async function validateUpdateFlags(_0x4fa594){const _0xec9b3a=a86_0x4e2891,_0x3c2726=getRequestedVersion(_0x4fa594),_0x1152c2=[_0x4fa594[_0xec9b3a(0x181)](_0xec9b3a(0x18a))?_0xec9b3a(0x18a):'',_0x4fa594[_0xec9b3a(0x181)](_0xec9b3a(0x196))?_0xec9b3a(0x196):'',_0x3c2726?_0xec9b3a(0x1ae):''][_0xec9b3a(0x1b3)](Boolean);if(_0x1152c2[_0xec9b3a(0x183)]>0x1)throw CliErrors['validation'](_0xec9b3a(0x19e),_0xec9b3a(0x17c));if(_0x3c2726&&!a86_0x133933[_0xec9b3a(0x1c4)](_0x3c2726))throw CliErrors[_0xec9b3a(0x1be)](_0xec9b3a(0x1ac)+_0x3c2726,'Use\x20a\x20full\x20semver\x20such\x20as\x202.0.6\x20or\x202.0.7-beta.1.');}async function fetchNpmDistTags(){const _0x236802=a86_0x4e2891;try{const _0x358362=NPM_REGISTRY_BASE_URL+_0x236802(0x189)+encodeURIComponent(LOVRABET_NPM_PACKAGE_NAME)+'/dist-tags',_0x311e70=await fetch(_0x358362,{'signal':AbortSignal[_0x236802(0x1b2)](0x2710)});if(!_0x311e70['ok'])return null;const _0x6f13ce=await _0x311e70['json']();if(!_0x6f13ce||typeof _0x6f13ce!==_0x236802(0x16e))return null;return Object[_0x236802(0x194)](Object[_0x236802(0x198)](_0x6f13ce)[_0x236802(0x1b3)](([,_0x24e630])=>typeof _0x24e630===_0x236802(0x195)&&_0x24e630[_0x236802(0x1ad)]())[_0x236802(0x197)](([_0x524dfa,_0x17d990])=>[_0x524dfa,String(_0x17d990)[_0x236802(0x1ad)]()]));}catch{return null;}}async function resolveTargetVersion(_0x323e9b){const _0x5b7798=a86_0x4e2891,_0x3a65b1=getRequestedVersion(_0x323e9b);if(_0x3a65b1)return{'version':_0x3a65b1,'source':'version'};const _0x3c55fa=_0x323e9b[_0x5b7798(0x181)](_0x5b7798(0x196))?_0x5b7798(0x196):_0x5b7798(0x18a),_0x9cbaa=await fetchNpmDistTags(),_0x8064ad=_0x9cbaa?.[_0x3c55fa];if(!_0x8064ad)return null;return{'version':_0x8064ad,'source':_0x3c55fa};}function a86_0x126b(){const _0x14f306=['trim','version','Checking\x20npm\x20dist-tags...','3976690ORHzWl','basename','timeout','filter','skillVersion','pipe','Already\x20on\x20requested\x20version\x20(v','Version\x20comparison\x20failed:\x20','Unable\x20to\x20resolve\x20','4289724gxvMYH','3980IqEJzt','\x20\x20CLI\x20Built-in\x20Skill\x20','dirname','platform','validation','reason',',\x20but\x20Built-in\x20Skill\x20verification\x20failed:\x20','Run:\x20npm\x20install\x20-g\x20','\x20dist-tags,\x20then\x20retry.','unknown','valid','exit\x20','INSTALL_FAILED','apiError','warn','Update\x20the\x20','254872bONTql','--prefix','\x20->\x20','relative','object','78860xwCxvs','Updated\x20to\x20v','Checking\x20CLI\x20Built-in\x20Skill...','2959964uVcVhT','Install\x20the\x20version\x20from\x20npm\x20beta\x20dist-tag','inherit','win32','654GufEgf','Run:\x20npm\x20view\x20','Install\x20the\x20version\x20from\x20npm\x20latest\x20dist-tag','source','\x20CLI\x20from\x20npm','145408QsrLjh','Choose\x20exactly\x20one\x20target:\x20--latest,\x20--beta,\x20or\x20--version\x20<version>.','@lovrabet/lovrabet-cli','expected\x20','Update\x20failed:\x20','exitCode','bool','CLI\x20updated\x20to\x20v','length','shortMessage','toLowerCase','Already\x20up\x20to\x20date\x20(v','test','Run:\x20','/-/package/','latest','repairCommand','state','join','install','node_modules','stderr','72GqyUNZ',',\x20found\x20',',\x20then\x20verify\x20with:\x20','fromEntries','string','beta','map','entries','npm','Updating\x20','code','nonInteractive','includes','--latest,\x20--beta,\x20and\x20version\x20cannot\x20be\x20used\x20together.','16kMVzcD','run','CLI\x20Built-in\x20Skill\x20repair\x20failed\x20[','\x20\x20Restart\x20your\x20terminal\x20to\x20use\x20the\x20new\x20version.','error','log','Current\x20version:\x20','current','stdout','boolean','\x20doctor','write','read','Invalid\x20version:\x20'];a86_0x126b=function(){return _0x14f306;};return a86_0x126b();}function shouldInstallTarget(_0xb053c0,_0x458a67){const _0x3ec078=a86_0x4e2891;if(_0x458a67[_0x3ec078(0x179)]===_0x3ec078(0x1ae)||_0x458a67[_0x3ec078(0x179)]==='beta')return!a86_0x133933['eq'](_0xb053c0,_0x458a67[_0x3ec078(0x1ae)]);return a86_0x133933['lt'](_0xb053c0,_0x458a67['version']);}export function installCliPackage(_0x36f2fd,_0x579d90,_0x195670=resolveCurrentCliNpmPrefix()){const _0x23e563=a86_0x4e2891,_0x566574=LOVRABET_NPM_PACKAGE_NAME+'@'+_0x36f2fd,_0x53129f=[_0x23e563(0x18e),'-g',_0x566574],_0x3600d2=runNpmInstall(_0x53129f,_0x579d90);if(_0x3600d2['ok']||!isNpmPrefixPermissionError(_0x3600d2['error']))return _0x3600d2;if(!_0x195670||_0x3600d2[_0x23e563(0x1a3)]?.[_0x23e563(0x185)]()[_0x23e563(0x19d)](_0x195670[_0x23e563(0x185)]()))return _0x3600d2;return console[_0x23e563(0x1c8)]('Global\x20npm\x20prefix\x20is\x20not\x20writable;\x20retrying\x20in\x20the\x20current\x20CLI\x20Node\x20environment:\x20'+_0x195670),runNpmInstall([..._0x53129f,_0x23e563(0x1cb),_0x195670],_0x579d90);}export function resolveCurrentCliNpmPrefix(_0x5ebd66=fileURLToPath(import.meta.url),_0x49b8f9=process[a86_0x4e2891(0x1bd)]){const _0x1cf780=a86_0x4e2891,_0x3e2c3d=_0x49b8f9===_0x1cf780(0x175)?win32:{'basename':basename,'dirname':dirname,'relative':relative},_0x9717d5=_0x3e2c3d[_0x1cf780(0x1bc)](_0x3e2c3d['dirname'](_0x3e2c3d['dirname'](_0x5ebd66))),_0x2d15ad=_0x49b8f9==='win32'?'@lovrabet\x5clovrabet-cli':_0x1cf780(0x17d);let _0x5aa7af=_0x3e2c3d[_0x1cf780(0x1bc)](_0x9717d5);while(!![]){if(_0x3e2c3d[_0x1cf780(0x1b1)](_0x5aa7af)===_0x1cf780(0x18f)&&_0x3e2c3d[_0x1cf780(0x1cd)](_0x5aa7af,_0x9717d5)===_0x2d15ad){const _0x5ee68a=_0x3e2c3d[_0x1cf780(0x1bc)](_0x5aa7af);return _0x3e2c3d[_0x1cf780(0x1b1)](_0x5ee68a)==='lib'?_0x3e2c3d[_0x1cf780(0x1bc)](_0x5ee68a):_0x5ee68a;}const _0x5899ec=_0x3e2c3d['dirname'](_0x5aa7af);if(_0x5899ec===_0x5aa7af)return null;_0x5aa7af=_0x5899ec;}}function runNpmInstall(_0xb2edf8,_0x3aab88){const _0x484871=a86_0x4e2891;console[_0x484871(0x1a4)]('*\x20'+[_0x484871(0x199),..._0xb2edf8][_0x484871(0x18d)]('\x20'));const _0x59b0fb=execaSync('npm',_0xb2edf8,{'cwd':process['cwd'](),'stdio':_0x484871(0x1b5),'env':process.env,'extendEnv':![],'shell':![],'reject':![]}),_0x5ef2cb=_0x59b0fb[_0x484871(0x190)]?String(_0x59b0fb[_0x484871(0x190)])['trim']():'',_0x451a0d=_0x59b0fb['stdout']?String(_0x59b0fb[_0x484871(0x1a7)])[_0x484871(0x1ad)]():'';if(!_0x3aab88){if(_0x451a0d)process['stdout'][_0x484871(0x1aa)](_0x451a0d+'\x0a');if(_0x5ef2cb)process[_0x484871(0x190)][_0x484871(0x1aa)](_0x5ef2cb+'\x0a');}if(_0x59b0fb[_0x484871(0x180)]===0x0)return{'ok':!![]};const _0x2df9a6=_0x5ef2cb||_0x451a0d||_0x59b0fb[_0x484871(0x184)]||_0x484871(0x1c5)+(_0x59b0fb[_0x484871(0x180)]??_0x484871(0x1c3));return{'ok':![],'error':_0x2df9a6};}function isNpmPrefixPermissionError(_0x46ac3e){const _0x32b0c4=a86_0x4e2891;return Boolean(_0x46ac3e&&/\b(?:EACCES|EPERM)\b/[_0x32b0c4(0x187)](_0x46ac3e));}function repairCurrentBuiltinSkill(_0x44a931){const _0x496288=a86_0x4e2891;console['log'](_0x496288(0x171));const _0x272c87=installBuiltinSkill({'stdio':_0x44a931?_0x496288(0x1b5):_0x496288(0x174)});if(_0x272c87['ok']){console[_0x496288(0x1a4)]('\x20\x20CLI\x20Built-in\x20Skill\x20'+_0x272c87[_0x496288(0x1b4)]+'\x20is\x20current.');return;}throw CliErrors[_0x496288(0x1c7)](_0x496288(0x1a1)+(_0x272c87[_0x496288(0x19b)]||_0x496288(0x1c6))+']:\x20'+(_0x272c87[_0x496288(0x1a3)]||_0x496288(0x1c3)),_0x496288(0x188)+_0x272c87[_0x496288(0x18b)]+_0x496288(0x193)+CLI_BIN_NAME+_0x496288(0x1a9));}function verifyUpdatedBuiltinSkill(_0x38120c){const _0x35f4f1=a86_0x4e2891;console[_0x35f4f1(0x1a4)](_0x35f4f1(0x171));const _0x251536=inspectInstalledBuiltinSkillVersion(_0x38120c);if(_0x251536[_0x35f4f1(0x18c)]===_0x35f4f1(0x1a6)){console[_0x35f4f1(0x1a4)](_0x35f4f1(0x1bb)+_0x38120c+'\x20is\x20current.');return;}const _0x561b27=_0x251536[_0x35f4f1(0x1b4)]?_0x35f4f1(0x17e)+_0x38120c+_0x35f4f1(0x192)+_0x251536[_0x35f4f1(0x1b4)]:'expected\x20'+_0x38120c+',\x20state\x20'+_0x251536[_0x35f4f1(0x18c)],_0x5708a5=_0x251536[_0x35f4f1(0x1bf)]?_0x561b27+':\x20'+_0x251536[_0x35f4f1(0x1bf)]:_0x561b27;throw CliErrors[_0x35f4f1(0x1c7)](_0x35f4f1(0x182)+_0x38120c+_0x35f4f1(0x1c0)+_0x5708a5,_0x35f4f1(0x188)+_0x251536['repairCommand']+_0x35f4f1(0x193)+CLI_BIN_NAME+'\x20doctor');}async function execute(_0x21232f){const _0x2e0941=a86_0x4e2891;await validateUpdateFlags(_0x21232f);const _0x9ec65d=getCliVersion();console['log'](_0x2e0941(0x1a5)+_0x9ec65d),console[_0x2e0941(0x1a4)](_0x2e0941(0x1af));const _0x347360=await resolveTargetVersion(_0x21232f);if(!_0x347360){const _0x288523=_0x21232f['bool']('beta')?_0x2e0941(0x196):_0x2e0941(0x18a),_0x1cc561=_0x2e0941(0x1b8)+_0x288523+'\x20version\x20from\x20npm.';throw CliErrors[_0x2e0941(0x1c7)](_0x1cc561,_0x2e0941(0x1c1)+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x288523);}const _0x25a654=[_0x9ec65d,_0x347360['version']]['find'](_0x2041fc=>!a86_0x133933['valid'](_0x2041fc));if(_0x25a654){const _0x3de858=_0x2e0941(0x1b7)+_0x25a654+'.';throw CliErrors[_0x2e0941(0x1c7)](_0x3de858,_0x2e0941(0x177)+LOVRABET_NPM_PACKAGE_NAME+_0x2e0941(0x1c2));}if(!shouldInstallTarget(_0x9ec65d,_0x347360)){const _0x4f3186=_0x347360[_0x2e0941(0x179)]===_0x2e0941(0x1ae)?_0x2e0941(0x1b6)+_0x347360[_0x2e0941(0x1ae)]+').':_0x2e0941(0x186)+_0x347360[_0x2e0941(0x1ae)]+').';return console[_0x2e0941(0x1a4)](_0x4f3186),repairCurrentBuiltinSkill(_0x21232f[_0x2e0941(0x19c)]),{'ok':!![]};}console[_0x2e0941(0x1a4)](_0x2e0941(0x19a)+LOVRABET_NPM_PACKAGE_NAME+':\x20'+_0x9ec65d+_0x2e0941(0x1cc)+_0x347360[_0x2e0941(0x1ae)]);const _0x24a067=installCliPackage(_0x347360[_0x2e0941(0x1ae)],_0x21232f[_0x2e0941(0x19c)]);if(!_0x24a067['ok']){const _0x307856=_0x2e0941(0x17f)+(_0x24a067[_0x2e0941(0x1a3)]||_0x2e0941(0x1c3));throw CliErrors[_0x2e0941(0x1c7)](_0x307856,'Run:\x20npm\x20install\x20-g\x20'+LOVRABET_NPM_PACKAGE_NAME+'@'+_0x347360[_0x2e0941(0x1ae)]);}return console[_0x2e0941(0x1a4)](_0x2e0941(0x170)+_0x347360[_0x2e0941(0x1ae)]+'.'),console[_0x2e0941(0x1a4)](_0x2e0941(0x1a2)),verifyUpdatedBuiltinSkill(_0x347360['version']),{'ok':!![]};}export const updateDefinition={'service':'update','command':a86_0x4e2891(0x1a0),'description':a86_0x4e2891(0x1c9)+CLI_BIN_NAME+a86_0x4e2891(0x17a),'risk':a86_0x4e2891(0x1ab),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':updateFlags,'validate':validateUpdateFlags,'execute':execute};
@@ -1 +1 @@
1
- function a87_0x1726(){const _0x5f1ce6=['17226tiERcZ','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.','dingtalk','Binds\x20the\x20platform\x20user\x20of\x20the\x20current\x20AccessKey\x20to\x20the\x20given\x20collaboration-provider\x20account.\x20An\x20existing\x20bind\x20for\x20the\x20same\x20provider\x20may\x20be\x20replaced.','Retry\x20with\x20the\x20same\x20--provider\x20and\x20--account-id\x20only\x20after\x20checking\x20the\x20current\x20AccessKey\x20identity.','join','210188CMtTXs','user-account','232439IbHKMN','bind','30ocJyCL','1868825tHroWS','str','apiError','102372gUOFsV','400344Nfglpr','Bind\x20the\x20current\x20platform\x20user\x20to\x20an\x20external\x20provider\x20account','External\x20account\x20binding\x20was\x20not\x20confirmed.','write','7845280psLgzE','Pass\x20the\x20external\x20account\x20ID\x20for\x20the\x20selected\x20provider.','trim','validation','--account-id\x20cannot\x20be\x20empty.','includes','Unsupported\x20provider:\x20','provider','string'];a87_0x1726=function(){return _0x5f1ce6;};return a87_0x1726();}const a87_0x32deae=a87_0x3bc3;(function(_0x560bb1,_0x5d2fcf){const _0x5d4fe4=a87_0x3bc3,_0x23a823=_0x560bb1();while(!![]){try{const _0x3d91af=-parseInt(_0x5d4fe4(0x19d))/0x1+-parseInt(_0x5d4fe4(0x19b))/0x2+parseInt(_0x5d4fe4(0x195))/0x3+-parseInt(_0x5d4fe4(0x187))/0x4*(parseInt(_0x5d4fe4(0x19f))/0x5)+-parseInt(_0x5d4fe4(0x188))/0x6+-parseInt(_0x5d4fe4(0x184))/0x7+parseInt(_0x5d4fe4(0x18c))/0x8;if(_0x3d91af===_0x5d2fcf)break;else _0x23a823['push'](_0x23a823['shift']());}catch(_0x55f60e){_0x23a823['push'](_0x23a823['shift']());}}}(a87_0x1726,0x2774c));import{bindExternalUserAccount,USER_ACCOUNT_BIND_PATH}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';const CURRENT_BINDING_WARNING=a87_0x32deae(0x196),SUPPORTED_PROVIDERS=[a87_0x32deae(0x197)];function a87_0x3bc3(_0x4026de,_0xa74fac){_0x4026de=_0x4026de-0x184;const _0x172623=a87_0x1726();let _0x3bc3d0=_0x172623[_0x4026de];return _0x3bc3d0;}function readBindingInput(_0x3a40e7){const _0x3f546e=a87_0x32deae,_0x22b624=_0x3a40e7[_0x3f546e(0x185)](_0x3f546e(0x193))['trim']()['toLowerCase']();if(!SUPPORTED_PROVIDERS[_0x3f546e(0x191)](_0x22b624))throw CliErrors[_0x3f546e(0x18f)](_0x3f546e(0x192)+(_0x22b624||'(empty)')+'.','Pass\x20one\x20of:\x20'+SUPPORTED_PROVIDERS[_0x3f546e(0x19a)](',\x20')+'.');const _0x456ede=_0x3a40e7[_0x3f546e(0x185)]('account-id')[_0x3f546e(0x18e)]();if(!_0x456ede)throw CliErrors[_0x3f546e(0x18f)](_0x3f546e(0x190),_0x3f546e(0x18d));return{'provider':_0x22b624,'accountId':_0x456ede};}function buildBindingData(_0x44b6af,_0x40e765,_0x1013cf){const _0x276665=a87_0x32deae;return{'operation':_0x276665(0x19e),'selector':{'provider':_0x44b6af,'accountId':_0x40e765},'before':null,'after':{'provider':_0x44b6af,'accountId':_0x40e765,'bound':!![]},'dryRun':_0x1013cf,'warnings':[CURRENT_BINDING_WARNING]};}export const bindUserAccount={'service':a87_0x32deae(0x19c),'command':a87_0x32deae(0x19e),'description':a87_0x32deae(0x189),'risk':a87_0x32deae(0x18b),'confirmationDescription':a87_0x32deae(0x198),'requiresAuth':!![],'requiresAppCode':![],'flags':[{'name':a87_0x32deae(0x193),'type':a87_0x32deae(0x194),'required':!![],'enum':[...SUPPORTED_PROVIDERS],'description':'External\x20account\x20provider'},{'name':'account-id','type':a87_0x32deae(0x194),'required':!![],'description':'External\x20account\x20ID\x20for\x20the\x20selected\x20provider'}],async 'validate'(_0x1ffaf2){readBindingInput(_0x1ffaf2);},async 'dryRun'(_0x40cb6a){const {provider:_0x15f4a1,accountId:_0x27e168}=readBindingInput(_0x40cb6a);return{...buildBindingData(_0x15f4a1,_0x27e168,!![]),'method':'POST','url':USER_ACCOUNT_BIND_PATH,'body':{'provider':_0x15f4a1,'accountId':_0x27e168}};},async 'execute'(_0x2c05f6){const _0x32bc12=a87_0x32deae,{provider:_0x26b29a,accountId:_0xbbaf45}=readBindingInput(_0x2c05f6),_0x2e294f=await bindExternalUserAccount(_0x26b29a,_0xbbaf45);if(_0x2e294f!==!![])throw CliErrors[_0x32bc12(0x186)](_0x32bc12(0x18a),_0x32bc12(0x199));return{'ok':!![],'data':buildBindingData(_0x26b29a,_0xbbaf45,![]),'message':'Bound\x20current\x20user\x20to\x20external\x20provider\x20account.'};}};
1
+ const a87_0x4e8a55=a87_0x19a4;(function(_0x5eb3cf,_0x74efd0){const _0x46f557=a87_0x19a4,_0x493d37=_0x5eb3cf();while(!![]){try{const _0x26b96e=-parseInt(_0x46f557(0x13a))/0x1*(parseInt(_0x46f557(0x139))/0x2)+parseInt(_0x46f557(0x14f))/0x3+parseInt(_0x46f557(0x13c))/0x4+parseInt(_0x46f557(0x140))/0x5*(parseInt(_0x46f557(0x13b))/0x6)+parseInt(_0x46f557(0x133))/0x7*(-parseInt(_0x46f557(0x14c))/0x8)+-parseInt(_0x46f557(0x14b))/0x9*(parseInt(_0x46f557(0x151))/0xa)+parseInt(_0x46f557(0x136))/0xb*(parseInt(_0x46f557(0x135))/0xc);if(_0x26b96e===_0x74efd0)break;else _0x493d37['push'](_0x493d37['shift']());}catch(_0x3339f3){_0x493d37['push'](_0x493d37['shift']());}}}(a87_0x505d,0xb9faa));import{bindExternalUserAccount,USER_ACCOUNT_BIND_PATH}from'../../core/api-client.js';function a87_0x19a4(_0x491899,_0x1e7e9d){_0x491899=_0x491899-0x133;const _0x505dbb=a87_0x505d();let _0x19a456=_0x505dbb[_0x491899];return _0x19a456;}import{CliErrors}from'../../errors.js';const CURRENT_BINDING_WARNING='The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.',SUPPORTED_PROVIDERS=[a87_0x4e8a55(0x143)];function a87_0x505d(){const _0x587fb2=['POST','5710KmplHh','External\x20account\x20ID\x20for\x20the\x20selected\x20provider','trim','dingtalk','Bind\x20the\x20current\x20platform\x20user\x20to\x20an\x20external\x20provider\x20account','str','join','Pass\x20one\x20of:\x20','user-account','bind','Bound\x20current\x20user\x20to\x20external\x20provider\x20account.','1608534VfMbMl','209224dVZUdR','write','Binds\x20the\x20platform\x20user\x20of\x20the\x20current\x20AccessKey\x20to\x20the\x20given\x20collaboration-provider\x20account.\x20An\x20existing\x20bind\x20for\x20the\x20same\x20provider\x20may\x20be\x20replaced.','3798585RErBjT','account-id','80LkZaXa','External\x20account\x20provider','238IhnYBF','Retry\x20with\x20the\x20same\x20--provider\x20and\x20--account-id\x20only\x20after\x20checking\x20the\x20current\x20AccessKey\x20identity.','58368uNLhJH','3124WZfKnn','validation','includes','921946ZWyyJa','1QnToqy','2682RMiNOx','1534832vSrzFD','string','--account-id\x20cannot\x20be\x20empty.'];a87_0x505d=function(){return _0x587fb2;};return a87_0x505d();}function readBindingInput(_0x2ea6a0){const _0x16b5f7=a87_0x4e8a55,_0xfbe63=_0x2ea6a0[_0x16b5f7(0x145)]('provider')['trim']()['toLowerCase']();if(!SUPPORTED_PROVIDERS[_0x16b5f7(0x138)](_0xfbe63))throw CliErrors[_0x16b5f7(0x137)]('Unsupported\x20provider:\x20'+(_0xfbe63||'(empty)')+'.',_0x16b5f7(0x147)+SUPPORTED_PROVIDERS[_0x16b5f7(0x146)](',\x20')+'.');const _0x1d3fac=_0x2ea6a0['str'](_0x16b5f7(0x150))[_0x16b5f7(0x142)]();if(!_0x1d3fac)throw CliErrors['validation'](_0x16b5f7(0x13e),'Pass\x20the\x20external\x20account\x20ID\x20for\x20the\x20selected\x20provider.');return{'provider':_0xfbe63,'accountId':_0x1d3fac};}function buildBindingData(_0xba9860,_0x23f00b,_0x588853){const _0x122498=a87_0x4e8a55;return{'operation':_0x122498(0x149),'selector':{'provider':_0xba9860,'accountId':_0x23f00b},'before':null,'after':{'provider':_0xba9860,'accountId':_0x23f00b,'bound':!![]},'dryRun':_0x588853,'warnings':[CURRENT_BINDING_WARNING]};}export const bindUserAccount={'service':a87_0x4e8a55(0x148),'command':'bind','description':a87_0x4e8a55(0x144),'risk':a87_0x4e8a55(0x14d),'confirmationDescription':a87_0x4e8a55(0x14e),'requiresAuth':!![],'requiresAppCode':![],'flags':[{'name':'provider','type':'string','required':!![],'enum':[...SUPPORTED_PROVIDERS],'description':a87_0x4e8a55(0x152)},{'name':'account-id','type':a87_0x4e8a55(0x13d),'required':!![],'description':a87_0x4e8a55(0x141)}],async 'validate'(_0x1c01cf){readBindingInput(_0x1c01cf);},async 'dryRun'(_0x51bd71){const _0xdeeafb=a87_0x4e8a55,{provider:_0x571950,accountId:_0x2e6487}=readBindingInput(_0x51bd71);return{...buildBindingData(_0x571950,_0x2e6487,!![]),'method':_0xdeeafb(0x13f),'url':USER_ACCOUNT_BIND_PATH,'body':{'provider':_0x571950,'accountId':_0x2e6487}};},async 'execute'(_0x5a4955){const _0x580b1d=a87_0x4e8a55,{provider:_0x540633,accountId:_0x5a43e4}=readBindingInput(_0x5a4955),_0x29bb26=await bindExternalUserAccount(_0x540633,_0x5a43e4);if(_0x29bb26!==!![])throw CliErrors['apiError']('External\x20account\x20binding\x20was\x20not\x20confirmed.',_0x580b1d(0x134));return{'ok':!![],'data':buildBindingData(_0x540633,_0x5a43e4,![]),'message':_0x580b1d(0x14a)};}};
@@ -1 +1 @@
1
- (function(_0x234d46,_0x478acc){const _0x37935d=a88_0x5259,_0x5139b6=_0x234d46();while(!![]){try{const _0x1b736f=parseInt(_0x37935d(0x1a3))/0x1+parseInt(_0x37935d(0x1a8))/0x2+-parseInt(_0x37935d(0x1a2))/0x3*(-parseInt(_0x37935d(0x1a4))/0x4)+-parseInt(_0x37935d(0x1a5))/0x5+-parseInt(_0x37935d(0x1a1))/0x6*(-parseInt(_0x37935d(0x1a7))/0x7)+parseInt(_0x37935d(0x1a9))/0x8+-parseInt(_0x37935d(0x1a6))/0x9;if(_0x1b736f===_0x478acc)break;else _0x5139b6['push'](_0x5139b6['shift']());}catch(_0xc3159b){_0x5139b6['push'](_0x5139b6['shift']());}}}(a88_0x3d40,0xd58f1));import{bindUserAccount}from'../../commands/user-account/bind.js';function a88_0x5259(_0x2aa5b1,_0x41217d){_0x2aa5b1=_0x2aa5b1-0x1a1;const _0x3d40f0=a88_0x3d40();let _0x5259ec=_0x3d40f0[_0x2aa5b1];return _0x5259ec;}export const userAccountDefinitions=[bindUserAccount];function a88_0x3d40(){const _0x37bc17=['30123693VudNAy','28eDsUyQ','3405140qteTve','11178680CRlUvV','145458XxZVxy','137766itgUHv','1691482haWSzV','68WDKTXp','7236095pVTyme'];a88_0x3d40=function(){return _0x37bc17;};return a88_0x3d40();}
1
+ (function(_0x9a2a4e,_0x17a830){const _0x105f6a=a88_0x593a,_0x2564bb=_0x9a2a4e();while(!![]){try{const _0x242a13=-parseInt(_0x105f6a(0x95))/0x1+parseInt(_0x105f6a(0x94))/0x2*(-parseInt(_0x105f6a(0x8d))/0x3)+-parseInt(_0x105f6a(0x93))/0x4*(parseInt(_0x105f6a(0x8f))/0x5)+-parseInt(_0x105f6a(0x90))/0x6*(parseInt(_0x105f6a(0x8b))/0x7)+-parseInt(_0x105f6a(0x91))/0x8+parseInt(_0x105f6a(0x8e))/0x9+-parseInt(_0x105f6a(0x92))/0xa*(-parseInt(_0x105f6a(0x8c))/0xb);if(_0x242a13===_0x17a830)break;else _0x2564bb['push'](_0x2564bb['shift']());}catch(_0x297e1b){_0x2564bb['push'](_0x2564bb['shift']());}}}(a88_0x3b96,0x1b2d6));import{bindUserAccount}from'../../commands/user-account/bind.js';export const userAccountDefinitions=[bindUserAccount];function a88_0x593a(_0x4cf22c,_0x42ea77){_0x4cf22c=_0x4cf22c-0x8b;const _0x3b96df=a88_0x3b96();let _0x593afe=_0x3b96df[_0x4cf22c];return _0x593afe;}function a88_0x3b96(){const _0x1ccc99=['1686648NpXzWG','2276630hHBIBc','64PlWTsb','2lpvhvN','3637vwyRYZ','38094SIwxmk','33WDBWSA','507735hCoptf','334530haSfSU','49945rxVkfw','72hMoWxg'];a88_0x3b96=function(){return _0x1ccc99;};return a88_0x3b96();}
@@ -1 +1 @@
1
- const a89_0x587340=a89_0x422d;(function(_0xc81bd,_0x28efbb){const _0x44a2e7=a89_0x422d,_0x2f29ae=_0xc81bd();while(!![]){try{const _0x39759a=-parseInt(_0x44a2e7(0x106))/0x1+-parseInt(_0x44a2e7(0xfb))/0x2+-parseInt(_0x44a2e7(0xd7))/0x3+-parseInt(_0x44a2e7(0xd5))/0x4*(parseInt(_0x44a2e7(0xf0))/0x5)+-parseInt(_0x44a2e7(0xf3))/0x6*(parseInt(_0x44a2e7(0xf7))/0x7)+-parseInt(_0x44a2e7(0xdb))/0x8*(-parseInt(_0x44a2e7(0xe5))/0x9)+parseInt(_0x44a2e7(0xfa))/0xa;if(_0x39759a===_0x28efbb)break;else _0x2f29ae['push'](_0x2f29ae['shift']());}catch(_0x1e29bb){_0x2f29ae['push'](_0x2f29ae['shift']());}}}(a89_0xa190,0xb2ddc));import{CLI_BIN_NAME}from'../../constant/cli.js';import{DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../../constant/env.js';import{CliErrors}from'../../errors.js';function a89_0xa190(){const _0x12ae8d=['workspace','appCode','\x20workspace\x20init\x20--app\x20<name>`\x20or\x20`','\x0aEnv:\x20','App\x20name\x20to\x20bind\x20as\x20the\x20current\x20workspace\x20default','\x20workspace\x20','Usage:\x20','write','Run\x20`','2213845iEBGlV','Resolving\x20--app\x20requires\x20accessKey.\x20Pass\x20--appcode\x20directly,\x20or\x20set\x20accessKey\x20before\x20running\x20','isArray','6fWmimh','map','filter','defaultApp','9397374aHBAzC','validation','\x0aAccessKey:\x20not\x20written','56147660oSeumb','2798610OsMhbW','Invalid\x20env\x20\x22','App\x20\x22','\x0aDefault\x20app:\x20','appName','Initialize\x20app\x20context\x20for\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet','join','trim','\x22\x20not\x20found.','env','Pass\x20either\x20--app\x20<name>\x20or\x20--appcode\x20<code>,\x20not\x20both.','1444849ikTmny','shouldWriteEnv','Workspace\x20app\x20context\x20is\x20not\x20initialized.','Available\x20apps:\x20','Change\x20the\x20app\x20context\x20already\x20bound\x20to\x20the\x20current\x20working\x20directory','\x20--appcode\x20<code>\x20[--env\x20daily]','Updates\x20the\x20app\x20binding\x20already\x20present\x20in\x20the\x20current\x20working\x20directory\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.','\x20workspace\x20use\x20--appcode\x20<code>`\x20to\x20change\x20it.','use','Conflicting\x20workspace\x20app\x20selectors.','apps','accessKey','items','workspace\x20','4fGWAgU','App\x20code\x20to\x20bind\x20directly','958263cYsMQb','str','length','\x20workspace\x20init\x20--appcode\x20<code>`\x20first.','44464eYiwyx','appcode','app','includes','\x20--app\x20<name>\x20[--env\x20daily]\x20or\x20','Use\x20`','init','authRequired','Missing\x20workspace\x20app\x20selector.','string','108YltznO','\x22.\x20Allowed:\x20'];a89_0xa190=function(){return _0x12ae8d;};return a89_0xa190();}import{readConfigFile,resolveWriteConfigPath,writeConfigFile}from'../../context.js';import{findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const WORKSPACE_USE_FLAGS=[{'name':a89_0x587340(0xdd),'type':a89_0x587340(0xe4),'description':a89_0x587340(0xeb)},{'name':a89_0x587340(0xdc),'type':a89_0x587340(0xe4),'description':a89_0x587340(0xd6)},{'name':a89_0x587340(0x104),'type':a89_0x587340(0xe4),'description':'Target\x20environment','enum':[...RUNTIME_ENV_VALUES]}];async function executeWorkspaceUse(_0x112185,_0x5b859c){const _0x579c4d=a89_0x587340,_0x5e1e72=_0x112185[_0x579c4d(0xd8)]('app')[_0x579c4d(0x102)](),_0x5065f0=_0x112185[_0x579c4d(0xd8)](_0x579c4d(0xdc))[_0x579c4d(0x102)](),_0x36d152=_0x112185[_0x579c4d(0xd8)](_0x579c4d(0x104))[_0x579c4d(0x102)](),_0x942e2c=resolveWorkspaceEnv(_0x36d152||_0x112185['envName']||DEFAULT_CONFIG_VALUES[_0x579c4d(0x104)]);if(!_0x5e1e72&&!_0x5065f0)throw CliErrors[_0x579c4d(0xf8)](_0x579c4d(0xe3),_0x579c4d(0xed)+CLI_BIN_NAME+_0x579c4d(0xec)+_0x5b859c+_0x579c4d(0xdf)+CLI_BIN_NAME+'\x20workspace\x20'+_0x5b859c+_0x579c4d(0x10b));if(_0x5e1e72&&_0x5065f0)throw CliErrors[_0x579c4d(0xf8)](_0x579c4d(0xd0),_0x579c4d(0x105));const _0x5d37dd=resolveWriteConfigPath('project'),_0x203ca5=readConfigFile(_0x5d37dd);assertWorkspaceCommandState(_0x5b859c,_0x203ca5);const _0x36b6f2=_0x5065f0||await resolveRemoteAppCode({'command':_0x5b859c,'appName':_0x5e1e72,'env':_0x942e2c,'accessKey':_0x112185[_0x579c4d(0xd2)]});return writeWorkspaceConfig({'command':_0x5b859c,'appName':_0x5e1e72,'appcode':_0x36b6f2,'env':_0x942e2c,'shouldWriteEnv':!!_0x36d152,'accessKey':_0x112185[_0x579c4d(0xd2)]},_0x5d37dd,_0x203ca5),{'ok':!![],'data':{'configPath':_0x5d37dd,'app':_0x5e1e72||null,'appcode':_0x36b6f2,'env':_0x36d152?_0x942e2c:null,'accessKeyWritten':![],'command':_0x579c4d(0xd4)+_0x5b859c},'message':buildWorkspaceMessage(_0x5d37dd,_0x5e1e72,_0x36b6f2,_0x36d152?_0x942e2c:undefined)};}async function resolveRemoteAppCode(_0x48694a){const _0x7d6d32=a89_0x587340;if(!_0x48694a[_0x7d6d32(0xd2)])throw CliErrors[_0x7d6d32(0xe2)](_0x7d6d32(0xf1)+CLI_BIN_NAME+_0x7d6d32(0xec)+_0x48694a['command']+'.');const {setActiveAK:_0x4e21e4}=await import('../../core/api-client.js'),{getRemoteAppList:_0x68297}=await import('../../commands/app/remote-source.js');_0x4e21e4(_0x48694a[_0x7d6d32(0xd2)]);const _0x31e6d2=await _0x68297({'env':_0x48694a[_0x7d6d32(0x104)],'accessKey':_0x48694a[_0x7d6d32(0xd2)],'noCache':![]}),_0x39659f=findAppByName(_0x31e6d2[_0x7d6d32(0xd3)],_0x48694a[_0x7d6d32(0xff)]);if(_0x39659f&&!isRuntimeAccessibleApp(_0x39659f))throw runtimeInaccessibleAppError(_0x39659f,'\x22'+_0x48694a[_0x7d6d32(0xff)]+'\x22');const _0x574edc=_0x39659f?.[_0x7d6d32(0xe8)]?.['trim']();if(_0x574edc)return _0x574edc;const _0x9e24eb=_0x31e6d2[_0x7d6d32(0xd3)][_0x7d6d32(0xf4)](_0x3dc8e3=>_0x3dc8e3['appName'])[_0x7d6d32(0xf5)](Boolean),_0xec763e=_0x9e24eb[_0x7d6d32(0xd9)]?_0x7d6d32(0x109)+Array['from'](new Set(_0x9e24eb))[_0x7d6d32(0x101)](',\x20')+'.':'Run\x20`'+CLI_BIN_NAME+'\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20pass\x20--appcode\x20directly.';throw CliErrors[_0x7d6d32(0xf8)](_0x7d6d32(0xfd)+_0x48694a[_0x7d6d32(0xff)]+_0x7d6d32(0x103),_0xec763e);}function writeWorkspaceConfig(_0x384d45,_0x43d389,_0x192dd5){const _0x48a8d8=a89_0x587340;_0x384d45[_0x48a8d8(0x107)]&&(_0x192dd5[_0x48a8d8(0x104)]=_0x384d45['env']);if(_0x384d45[_0x48a8d8(0xff)]){const _0x110964=isRecord(_0x192dd5['apps'])?{..._0x192dd5[_0x48a8d8(0xd1)]}:{},_0x13acf3=isRecord(_0x110964[_0x384d45[_0x48a8d8(0xff)]])?_0x110964[_0x384d45[_0x48a8d8(0xff)]]:{};return _0x110964[_0x384d45[_0x48a8d8(0xff)]]={..._0x13acf3,'appcode':_0x384d45[_0x48a8d8(0xdc)]},_0x192dd5[_0x48a8d8(0xd1)]=_0x110964,_0x192dd5[_0x48a8d8(0xf6)]=_0x384d45[_0x48a8d8(0xff)],delete _0x192dd5[_0x48a8d8(0xdc)],delete _0x192dd5[_0x48a8d8(0xdd)],writeAndReturn(_0x43d389,_0x192dd5);}return _0x192dd5[_0x48a8d8(0xdc)]=_0x384d45['appcode'],delete _0x192dd5[_0x48a8d8(0xf6)],delete _0x192dd5[_0x48a8d8(0xdd)],writeAndReturn(_0x43d389,_0x192dd5);}function writeAndReturn(_0x51f875,_0x57f5af){return writeConfigFile(_0x51f875,_0x57f5af),_0x51f875;}function resolveWorkspaceEnv(_0x668fa3){const _0x388813=a89_0x587340;if(RUNTIME_ENV_VALUES[_0x388813(0xde)](_0x668fa3))return _0x668fa3;throw CliErrors[_0x388813(0xf8)](_0x388813(0xfc)+_0x668fa3+_0x388813(0xe6)+RUNTIME_ENV_VALUES[_0x388813(0x101)](',\x20'));}function buildWorkspaceMessage(_0x10cb2,_0x157389,_0xaf6732,_0x432223){const _0x3c9f78=a89_0x587340,_0x550bf0=_0x157389?_0x157389+'\x20('+_0xaf6732+')':_0xaf6732,_0x4115ca=_0x432223?_0x3c9f78(0xea)+_0x432223:'';return'Workspace\x20configured.\x0aConfig\x20file:\x20'+_0x10cb2+_0x3c9f78(0xfe)+_0x550bf0+_0x4115ca+_0x3c9f78(0xf9);}function a89_0x422d(_0xf808a9,_0x440c9b){_0xf808a9=_0xf808a9-0xcf;const _0xa1904f=a89_0xa190();let _0x422d44=_0xa1904f[_0xf808a9];return _0x422d44;}function isRecord(_0x5a1e05){const _0x13f5da=a89_0x587340;return typeof _0x5a1e05==='object'&&_0x5a1e05!==null&&!Array[_0x13f5da(0xf2)](_0x5a1e05);}function hasWorkspaceAppBinding(_0x344950){const _0x269754=a89_0x587340;if(typeof _0x344950[_0x269754(0xdc)]===_0x269754(0xe4)&&_0x344950['appcode']['trim']()[_0x269754(0xd9)]>0x0)return!![];if(typeof _0x344950[_0x269754(0xf6)]!=='string'||!_0x344950[_0x269754(0xf6)][_0x269754(0x102)]())return![];if(!isRecord(_0x344950[_0x269754(0xd1)]))return![];const _0x4b483b=_0x344950[_0x269754(0xd1)][_0x344950[_0x269754(0xf6)][_0x269754(0x102)]()];return isRecord(_0x4b483b)&&typeof _0x4b483b[_0x269754(0xdc)]===_0x269754(0xe4)&&_0x4b483b[_0x269754(0xdc)]['trim']()[_0x269754(0xd9)]>0x0;}function assertWorkspaceCommandState(_0x37b6cf,_0x22f6b6){const _0x1f7c27=a89_0x587340,_0xa74e5c=hasWorkspaceAppBinding(_0x22f6b6);if(_0x37b6cf===_0x1f7c27(0xe1)&&_0xa74e5c)throw CliErrors[_0x1f7c27(0xf8)]('Workspace\x20app\x20context\x20is\x20already\x20initialized.',_0x1f7c27(0xe0)+CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>`\x20or\x20`'+CLI_BIN_NAME+_0x1f7c27(0x10d));if(_0x37b6cf==='use'&&!_0xa74e5c)throw CliErrors[_0x1f7c27(0xf8)](_0x1f7c27(0x108),_0x1f7c27(0xef)+CLI_BIN_NAME+_0x1f7c27(0xe9)+CLI_BIN_NAME+_0x1f7c27(0xda));}function makeWorkspaceCommand(_0x4874d0){const _0x588306=a89_0x587340;return{'service':_0x588306(0xe7),'command':_0x4874d0,'description':_0x4874d0===_0x588306(0xe1)?_0x588306(0x100):_0x588306(0x10a),'risk':_0x588306(0xee),'confirmationDescription':_0x4874d0==='init'?'Writes\x20Lovrabet\x20project\x20config\x20in\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet,\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.':_0x588306(0x10c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':WORKSPACE_USE_FLAGS,async 'execute'(_0x31ff6e){return executeWorkspaceUse(_0x31ff6e,_0x4874d0);}};}export const workspaceDefinitions=[makeWorkspaceCommand(a89_0x587340(0xe1)),makeWorkspaceCommand(a89_0x587340(0xcf))];
1
+ const a89_0x11efd3=a89_0x234c;(function(_0x51b1cd,_0x2c0737){const _0x4e8f9f=a89_0x234c,_0x579b44=_0x51b1cd();while(!![]){try{const _0x5369a6=-parseInt(_0x4e8f9f(0xe8))/0x1*(parseInt(_0x4e8f9f(0xf1))/0x2)+parseInt(_0x4e8f9f(0x102))/0x3*(parseInt(_0x4e8f9f(0xf7))/0x4)+-parseInt(_0x4e8f9f(0x127))/0x5+-parseInt(_0x4e8f9f(0x115))/0x6*(-parseInt(_0x4e8f9f(0xff))/0x7)+parseInt(_0x4e8f9f(0xf5))/0x8+-parseInt(_0x4e8f9f(0x101))/0x9+parseInt(_0x4e8f9f(0x10b))/0xa;if(_0x5369a6===_0x2c0737)break;else _0x579b44['push'](_0x579b44['shift']());}catch(_0x48ee50){_0x579b44['push'](_0x579b44['shift']());}}}(a89_0x3600,0xa6560));import{CLI_BIN_NAME}from'../../constant/cli.js';import{DEFAULT_CONFIG_VALUES}from'../../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../../constant/env.js';function a89_0x234c(_0x1154d0,_0x56c659){_0x1154d0=_0x1154d0-0xe8;const _0x36006d=a89_0x3600();let _0x234c41=_0x36006d[_0x1154d0];return _0x234c41;}import{CliErrors}from'../../errors.js';import{readConfigFile,resolveWriteConfigPath,writeConfigFile}from'../../context.js';import{findAppByName,isRuntimeAccessibleApp,runtimeInaccessibleAppError}from'../../commands/app/eligibility.js';const WORKSPACE_USE_FLAGS=[{'name':a89_0x11efd3(0x107),'type':a89_0x11efd3(0xf4),'description':a89_0x11efd3(0x105)},{'name':a89_0x11efd3(0xf6),'type':a89_0x11efd3(0xf4),'description':a89_0x11efd3(0xf8)},{'name':'env','type':'string','description':'Target\x20environment','enum':[...RUNTIME_ENV_VALUES]}];async function executeWorkspaceUse(_0x3456f9,_0x1849ee){const _0x1ede80=a89_0x11efd3,_0x309729=_0x3456f9['str'](_0x1ede80(0x107))[_0x1ede80(0x11d)](),_0xe66856=_0x3456f9['str'](_0x1ede80(0xf6))[_0x1ede80(0x11d)](),_0x2eb3bb=_0x3456f9[_0x1ede80(0x10e)]('env')['trim'](),_0x1f31d4=resolveWorkspaceEnv(_0x2eb3bb||_0x3456f9[_0x1ede80(0x11e)]||DEFAULT_CONFIG_VALUES[_0x1ede80(0x104)]);if(!_0x309729&&!_0xe66856)throw CliErrors[_0x1ede80(0xf2)](_0x1ede80(0xfa),_0x1ede80(0xf3)+CLI_BIN_NAME+'\x20workspace\x20'+_0x1849ee+'\x20--app\x20<name>\x20[--env\x20daily]\x20or\x20'+CLI_BIN_NAME+_0x1ede80(0x114)+_0x1849ee+_0x1ede80(0xeb));if(_0x309729&&_0xe66856)throw CliErrors[_0x1ede80(0xf2)]('Conflicting\x20workspace\x20app\x20selectors.','Pass\x20either\x20--app\x20<name>\x20or\x20--appcode\x20<code>,\x20not\x20both.');const _0x3a0d92=resolveWriteConfigPath(_0x1ede80(0x121)),_0x1d7e11=readConfigFile(_0x3a0d92);assertWorkspaceCommandState(_0x1849ee,_0x1d7e11);const _0x205091=_0xe66856||await resolveRemoteAppCode({'command':_0x1849ee,'appName':_0x309729,'env':_0x1f31d4,'accessKey':_0x3456f9[_0x1ede80(0x109)]});return writeWorkspaceConfig({'command':_0x1849ee,'appName':_0x309729,'appcode':_0x205091,'env':_0x1f31d4,'shouldWriteEnv':!!_0x2eb3bb,'accessKey':_0x3456f9['accessKey']},_0x3a0d92,_0x1d7e11),{'ok':!![],'data':{'configPath':_0x3a0d92,'app':_0x309729||null,'appcode':_0x205091,'env':_0x2eb3bb?_0x1f31d4:null,'accessKeyWritten':![],'command':_0x1ede80(0xf9)+_0x1849ee},'message':buildWorkspaceMessage(_0x3a0d92,_0x309729,_0x205091,_0x2eb3bb?_0x1f31d4:undefined)};}async function resolveRemoteAppCode(_0xcfe251){const _0x4da0f5=a89_0x11efd3;if(!_0xcfe251[_0x4da0f5(0x109)])throw CliErrors[_0x4da0f5(0xfd)](_0x4da0f5(0xef)+CLI_BIN_NAME+_0x4da0f5(0x114)+_0xcfe251[_0x4da0f5(0x116)]+'.');const {setActiveAK:_0x379e3c}=await import(_0x4da0f5(0x120)),{getRemoteAppList:_0x3bf7d7}=await import('../../commands/app/remote-source.js');_0x379e3c(_0xcfe251[_0x4da0f5(0x109)]);const _0x34040f=await _0x3bf7d7({'env':_0xcfe251[_0x4da0f5(0x104)],'accessKey':_0xcfe251[_0x4da0f5(0x109)],'noCache':![]}),_0xb1f8b6=findAppByName(_0x34040f['items'],_0xcfe251['appName']);if(_0xb1f8b6&&!isRuntimeAccessibleApp(_0xb1f8b6))throw runtimeInaccessibleAppError(_0xb1f8b6,'\x22'+_0xcfe251[_0x4da0f5(0xe9)]+'\x22');const _0x4e12e0=_0xb1f8b6?.['appCode']?.['trim']();if(_0x4e12e0)return _0x4e12e0;const _0x3b603e=_0x34040f[_0x4da0f5(0x11b)][_0x4da0f5(0xfe)](_0x150f09=>_0x150f09[_0x4da0f5(0xe9)])[_0x4da0f5(0x103)](Boolean),_0x44138b=_0x3b603e[_0x4da0f5(0x10f)]?'Available\x20apps:\x20'+Array[_0x4da0f5(0xea)](new Set(_0x3b603e))['join'](',\x20')+'.':'Run\x20`'+CLI_BIN_NAME+'\x20app\x20list\x20--no-cache`\x20to\x20refresh\x20available\x20apps,\x20or\x20pass\x20--appcode\x20directly.';throw CliErrors[_0x4da0f5(0xf2)](_0x4da0f5(0x100)+_0xcfe251['appName']+_0x4da0f5(0xfc),_0x44138b);}function writeWorkspaceConfig(_0xfbd7b3,_0xca9977,_0x5e7d58){const _0x17a864=a89_0x11efd3;_0xfbd7b3[_0x17a864(0xec)]&&(_0x5e7d58[_0x17a864(0x104)]=_0xfbd7b3[_0x17a864(0x104)]);if(_0xfbd7b3['appName']){const _0x526796=isRecord(_0x5e7d58['apps'])?{..._0x5e7d58[_0x17a864(0x110)]}:{},_0xd8333e=isRecord(_0x526796[_0xfbd7b3[_0x17a864(0xe9)]])?_0x526796[_0xfbd7b3[_0x17a864(0xe9)]]:{};return _0x526796[_0xfbd7b3[_0x17a864(0xe9)]]={..._0xd8333e,'appcode':_0xfbd7b3[_0x17a864(0xf6)]},_0x5e7d58[_0x17a864(0x110)]=_0x526796,_0x5e7d58['defaultApp']=_0xfbd7b3[_0x17a864(0xe9)],delete _0x5e7d58[_0x17a864(0xf6)],delete _0x5e7d58[_0x17a864(0x107)],writeAndReturn(_0xca9977,_0x5e7d58);}return _0x5e7d58[_0x17a864(0xf6)]=_0xfbd7b3[_0x17a864(0xf6)],delete _0x5e7d58['defaultApp'],delete _0x5e7d58[_0x17a864(0x107)],writeAndReturn(_0xca9977,_0x5e7d58);}function writeAndReturn(_0x4f1ce3,_0xfc3ced){return writeConfigFile(_0x4f1ce3,_0xfc3ced),_0x4f1ce3;}function resolveWorkspaceEnv(_0x12fd39){const _0x412ad0=a89_0x11efd3;if(RUNTIME_ENV_VALUES[_0x412ad0(0x10c)](_0x12fd39))return _0x12fd39;throw CliErrors[_0x412ad0(0xf2)](_0x412ad0(0x119)+_0x12fd39+'\x22.\x20Allowed:\x20'+RUNTIME_ENV_VALUES[_0x412ad0(0x11c)](',\x20'));}function buildWorkspaceMessage(_0x54d9df,_0x1f02b5,_0x4a6437,_0x2f0b0c){const _0x1a1f14=a89_0x11efd3,_0x1a0fff=_0x1f02b5?_0x1f02b5+'\x20('+_0x4a6437+')':_0x4a6437,_0x2c435c=_0x2f0b0c?'\x0aEnv:\x20'+_0x2f0b0c:'';return'Workspace\x20configured.\x0aConfig\x20file:\x20'+_0x54d9df+_0x1a1f14(0x112)+_0x1a0fff+_0x2c435c+_0x1a1f14(0x11a);}function isRecord(_0x98c5cb){const _0x47037b=a89_0x11efd3;return typeof _0x98c5cb===_0x47037b(0x10a)&&_0x98c5cb!==null&&!Array[_0x47037b(0x113)](_0x98c5cb);}function hasWorkspaceAppBinding(_0x2e11a0){const _0x23e244=a89_0x11efd3;if(typeof _0x2e11a0['appcode']===_0x23e244(0xf4)&&_0x2e11a0[_0x23e244(0xf6)][_0x23e244(0x11d)]()[_0x23e244(0x10f)]>0x0)return!![];if(typeof _0x2e11a0[_0x23e244(0x10d)]!==_0x23e244(0xf4)||!_0x2e11a0[_0x23e244(0x10d)][_0x23e244(0x11d)]())return![];if(!isRecord(_0x2e11a0[_0x23e244(0x110)]))return![];const _0x3ebee1=_0x2e11a0['apps'][_0x2e11a0['defaultApp'][_0x23e244(0x11d)]()];return isRecord(_0x3ebee1)&&typeof _0x3ebee1[_0x23e244(0xf6)]===_0x23e244(0xf4)&&_0x3ebee1[_0x23e244(0xf6)][_0x23e244(0x11d)]()[_0x23e244(0x10f)]>0x0;}function assertWorkspaceCommandState(_0x55df20,_0xcd24b2){const _0x2bdc73=a89_0x11efd3,_0x497536=hasWorkspaceAppBinding(_0xcd24b2);if(_0x55df20===_0x2bdc73(0x124)&&_0x497536)throw CliErrors[_0x2bdc73(0xf2)](_0x2bdc73(0x108),_0x2bdc73(0xfb)+CLI_BIN_NAME+_0x2bdc73(0x111)+CLI_BIN_NAME+_0x2bdc73(0x126));if(_0x55df20===_0x2bdc73(0x125)&&!_0x497536)throw CliErrors['validation'](_0x2bdc73(0xed),'Run\x20`'+CLI_BIN_NAME+_0x2bdc73(0xf0)+CLI_BIN_NAME+_0x2bdc73(0x123));}function makeWorkspaceCommand(_0xce867){const _0x2b3117=a89_0x11efd3;return{'service':_0x2b3117(0x118),'command':_0xce867,'description':_0xce867==='init'?_0x2b3117(0xee):_0x2b3117(0x122),'risk':_0x2b3117(0x106),'confirmationDescription':_0xce867==='init'?_0x2b3117(0x117):_0x2b3117(0x11f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':WORKSPACE_USE_FLAGS,async 'execute'(_0x485e73){return executeWorkspaceUse(_0x485e73,_0xce867);}};}function a89_0x3600(){const _0x56e6cb=['Updates\x20the\x20app\x20binding\x20already\x20present\x20in\x20the\x20current\x20working\x20directory\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.','../../core/api-client.js','project','Change\x20the\x20app\x20context\x20already\x20bound\x20to\x20the\x20current\x20working\x20directory','\x20workspace\x20init\x20--appcode\x20<code>`\x20first.','init','use','\x20workspace\x20use\x20--appcode\x20<code>`\x20to\x20change\x20it.','1644925LYvreX','377nBOyBB','appName','from','\x20--appcode\x20<code>\x20[--env\x20daily]','shouldWriteEnv','Workspace\x20app\x20context\x20is\x20not\x20initialized.','Initialize\x20app\x20context\x20for\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet','Resolving\x20--app\x20requires\x20accessKey.\x20Pass\x20--appcode\x20directly,\x20or\x20set\x20accessKey\x20before\x20running\x20','\x20workspace\x20init\x20--app\x20<name>`\x20or\x20`','5370kgAjmQ','validation','Usage:\x20','string','9872840acCLTa','appcode','132344fDDvLA','App\x20code\x20to\x20bind\x20directly','workspace\x20','Missing\x20workspace\x20app\x20selector.','Use\x20`','\x22\x20not\x20found.','authRequired','map','1188026sqsrLn','App\x20\x22','9589977GRkmqh','69QhLzwk','filter','env','App\x20name\x20to\x20bind\x20as\x20the\x20current\x20workspace\x20default','write','app','Workspace\x20app\x20context\x20is\x20already\x20initialized.','accessKey','object','5838580ymqvdh','includes','defaultApp','str','length','apps','\x20workspace\x20use\x20--app\x20<name>`\x20or\x20`','\x0aDefault\x20app:\x20','isArray','\x20workspace\x20','18DbRPps','command','Writes\x20Lovrabet\x20project\x20config\x20in\x20the\x20current\x20working\x20directory\x20when\x20no\x20app\x20is\x20bound\x20yet,\x20and\x20sets\x20the\x20selected\x20app\x20as\x20the\x20directory\x20default.\x20AccessKey\x20is\x20not\x20written.','workspace','Invalid\x20env\x20\x22','\x0aAccessKey:\x20not\x20written','items','join','trim','envName'];a89_0x3600=function(){return _0x56e6cb;};return a89_0x3600();}export const workspaceDefinitions=[makeWorkspaceCommand(a89_0x11efd3(0x124)),makeWorkspaceCommand(a89_0x11efd3(0x125))];
@@ -1 +1 @@
1
- const a90_0x5ce2c5=a90_0x5655;(function(_0x16e1c6,_0x14cd6b){const _0x18b803=a90_0x5655,_0x266115=_0x16e1c6();while(!![]){try{const _0x414484=parseInt(_0x18b803(0xcf))/0x1+-parseInt(_0x18b803(0xa7))/0x2*(-parseInt(_0x18b803(0xa8))/0x3)+-parseInt(_0x18b803(0xb5))/0x4*(parseInt(_0x18b803(0xc2))/0x5)+parseInt(_0x18b803(0xbc))/0x6*(parseInt(_0x18b803(0xd3))/0x7)+-parseInt(_0x18b803(0xb9))/0x8+parseInt(_0x18b803(0xa4))/0x9*(parseInt(_0x18b803(0xd4))/0xa)+parseInt(_0x18b803(0xbe))/0xb;if(_0x414484===_0x14cd6b)break;else _0x266115['push'](_0x266115['shift']());}catch(_0x55a127){_0x266115['push'](_0x266115['shift']());}}}(a90_0x1506,0xc54e8));function a90_0x5655(_0x436987,_0x2a13e9){_0x436987=_0x436987-0x92;const _0x15063d=a90_0x1506();let _0x5655ed=_0x15063d[_0x436987];return _0x5655ed;}import{existsSync,readFileSync}from'node:fs';import{isAbsolute,resolve}from'node:path';import{CliErrors}from'../errors.js';function a90_0x1506(){const _0x5ef80d=['legacy','filter','lovrabet-cli','For\x20internal\x20deployments,\x20terminate\x20TLS\x20at\x20the\x20ingress,\x20reverse\x20proxy,\x20or\x20load\x20balancer;\x20an\x20internal\x20CA\x20is\x20supported.','654488Etpnsu','keys','\x20and\x20has\x20no\x20default.','length','9685192NmbUzR','kbDomain','join','8871966ZtGAuV','agentDomain','3141182rHPvNn','object','https:','\x22\x20and\x20kind\x20\x22','15RhGcNv','skillHubDomain','kbServiceDomain','string','skill-domain','hash','Domain\x20config\x20file\x20not\x20found:\x20',':\x20expected\x20an\x20HTTPS\x20origin\x20or\x20consumer\x20Domain\x20object.','Unsupported\x20routing\x20manifest:\x20expected\x20protocol\x20\x22','kb-service-domain','Enterprise\x20','runtimeDomain','Update\x20the\x20manifest\x20so\x20both\x20CLIs\x20consume\x20the\x20same\x20routing\x20data.','140627guMfsM','validation','runtime-domain',':\x20expected\x20a\x20non-empty\x20HTTPS\x20origin.','7BXdIqm','5594590qQzIxX','str','origin','Enterprise\x20routing\x20manifests\x20cannot\x20be\x20combined\x20with\x20individual\x20Domain\x20flags.','mode','domains','domain-config','isArray','protocol','Invalid\x20domain\x20config:\x20provide\x20at\x20least\x20one\x20supported\x20Domain.','\x22\x20is\x20not\x20a\x20valid\x20URL.','userDomain','apiDomain','default','api-domain',':\x20expected\x20an\x20HTTPS\x20origin\x20without\x20credentials,\x20path,\x20query,\x20or\x20fragment.','password','utf8','platformDomain','9gNrTKt','trim','host','45374FfrMkq','6bvgnxN','pathname','enterprise-v1','cwd','\x20does\x20not\x20provide\x20a\x20Domain\x20for\x20','username','Invalid\x20domain\x20config:\x20expected\x20a\x20JSON\x20object.','Invalid\x20','Invalid\x20enterprise\x20routing\x20config:\x20expected\x20an\x20object.'];a90_0x1506=function(){return _0x5ef80d;};return a90_0x1506();}import{ENTERPRISE_ROUTING_DOMAIN_FIELDS,ENTERPRISE_ROUTING_KIND,ENTERPRISE_ROUTING_PROTOCOL,REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS}from'../generated/routing-contract.js';export const DOMAIN_CONFIG_FIELDS=[a90_0x5ce2c5(0x9c),a90_0x5ce2c5(0x9d),a90_0x5ce2c5(0xcd),'skillDomain',a90_0x5ce2c5(0xc4)];const DOMAIN_FLAGS={'userDomain':'user-domain','apiDomain':a90_0x5ce2c5(0x9f),'runtimeDomain':a90_0x5ce2c5(0xd1),'skillDomain':a90_0x5ce2c5(0xc6),'kbServiceDomain':a90_0x5ce2c5(0xcb)};export const LEGACY_DOMAIN_CONFIG_FIELDS=[a90_0x5ce2c5(0xa6),a90_0x5ce2c5(0xbd),a90_0x5ce2c5(0xa3),a90_0x5ce2c5(0xc3),a90_0x5ce2c5(0xba)];const ENTERPRISE_TO_LOCAL_FIELD={'userDomain':a90_0x5ce2c5(0x9c),'apiDomain':'apiDomain','runtimeDomain':a90_0x5ce2c5(0xcd),'skillDomain':'skillDomain','kbServiceDomain':a90_0x5ce2c5(0xc4)},ROUTING_CONSUMER=a90_0x5ce2c5(0xb3);export function normalizeDomainOrigin(_0x67e4dc,_0x2a7344){const _0x4d186f=a90_0x5ce2c5;if(typeof _0x2a7344!==_0x4d186f(0xc5)||!_0x2a7344[_0x4d186f(0xa5)]())throw CliErrors['validation'](_0x4d186f(0xaf)+_0x67e4dc+_0x4d186f(0xd2));let _0x5d7212;try{_0x5d7212=new URL(_0x2a7344['trim']());}catch{throw CliErrors['validation'](_0x4d186f(0xaf)+_0x67e4dc+':\x20\x22'+_0x2a7344+_0x4d186f(0x9b));}if(_0x5d7212['protocol']!==_0x4d186f(0xc0)||_0x5d7212[_0x4d186f(0xad)]||_0x5d7212[_0x4d186f(0xa1)]||_0x5d7212[_0x4d186f(0xa9)]!=='/'&&_0x5d7212[_0x4d186f(0xa9)]!==''||_0x5d7212['search']||_0x5d7212[_0x4d186f(0xc7)])throw CliErrors[_0x4d186f(0xd0)]('Invalid\x20'+_0x67e4dc+_0x4d186f(0xa0),_0x4d186f(0xb4));return _0x5d7212[_0x4d186f(0x93)];}export function normalizeRoutingDomainValue(_0x452a0a,_0x3529e0){const _0x5f204e=a90_0x5ce2c5;if(typeof _0x3529e0===_0x5f204e(0xc5))return normalizeDomainOrigin(_0x452a0a,_0x3529e0);if(!_0x3529e0||typeof _0x3529e0!=='object'||Array['isArray'](_0x3529e0))throw CliErrors[_0x5f204e(0xd0)](_0x5f204e(0xaf)+_0x452a0a+_0x5f204e(0xc9));const _0x129072=_0x3529e0,_0x60684c=_0x129072[ROUTING_CONSUMER]??_0x129072[_0x5f204e(0x9e)];if(_0x60684c===undefined)throw CliErrors[_0x5f204e(0xd0)](_0x5f204e(0xcc)+_0x452a0a+_0x5f204e(0xac)+ROUTING_CONSUMER+_0x5f204e(0xb7));return normalizeDomainOrigin(_0x452a0a,_0x60684c);}export function resolveEnterpriseRoutingConfig(_0x3f18a8){const _0x30db89=a90_0x5ce2c5;if(_0x3f18a8===undefined)return undefined;if(!_0x3f18a8||typeof _0x3f18a8!==_0x30db89(0xbf)||Array[_0x30db89(0x98)](_0x3f18a8))throw CliErrors[_0x30db89(0xd0)](_0x30db89(0xb0));return parseEnterpriseRoutingManifest(_0x3f18a8)[_0x30db89(0x96)];}export function readDomainConfigInput(_0x1f5e5a){const _0x48b7bd=a90_0x5ce2c5,_0xcb8815=isAbsolute(_0x1f5e5a)?_0x1f5e5a:resolve(process[_0x48b7bd(0xab)](),_0x1f5e5a);if(!existsSync(_0xcb8815))throw CliErrors[_0x48b7bd(0xd0)](_0x48b7bd(0xc8)+_0xcb8815);let _0x362867;try{_0x362867=JSON['parse'](readFileSync(_0xcb8815,_0x48b7bd(0xa2)));}catch{throw CliErrors[_0x48b7bd(0xd0)]('Invalid\x20domain\x20config\x20JSON:\x20'+_0xcb8815);}if(!_0x362867||typeof _0x362867!==_0x48b7bd(0xbf)||Array[_0x48b7bd(0x98)](_0x362867))throw CliErrors[_0x48b7bd(0xd0)](_0x48b7bd(0xae));const _0x3179e1=_0x362867;if(_0x48b7bd(0x99)in _0x3179e1)return parseEnterpriseRoutingManifest(_0x3179e1);const _0xf08e78=Object[_0x48b7bd(0xb6)](_0x3179e1)[_0x48b7bd(0xb2)](_0x30f7ae=>!DOMAIN_CONFIG_FIELDS['includes'](_0x30f7ae));if(_0xf08e78[_0x48b7bd(0xb8)]>0x0)throw CliErrors[_0x48b7bd(0xd0)]('Unsupported\x20domain\x20config\x20field(s):\x20'+_0xf08e78[_0x48b7bd(0xbb)](',\x20'),'Allowed\x20fields:\x20'+DOMAIN_CONFIG_FIELDS[_0x48b7bd(0xbb)](',\x20'));const _0x5004b3={};for(const _0x142907 of DOMAIN_CONFIG_FIELDS){_0x3179e1[_0x142907]!==undefined&&(_0x5004b3[_0x142907]=normalizeDomainOrigin(_0x142907,_0x3179e1[_0x142907]));}if(Object[_0x48b7bd(0xb6)](_0x5004b3)[_0x48b7bd(0xb8)]===0x0)throw CliErrors['validation'](_0x48b7bd(0x9a));return{'mode':_0x48b7bd(0xb1),'domains':_0x5004b3};}export function readDomainConfig(_0x26c99e){return readDomainConfigInput(_0x26c99e)['domains'];}export function resolveDomainConfigInput(_0x1cada2){const _0x5a2325=a90_0x5ce2c5,_0x2962d5=(_0x1cada2[_0x5a2325(0x92)](_0x5a2325(0x97))||'')[_0x5a2325(0xa5)](),_0x49b41b=_0x2962d5?readDomainConfigInput(_0x2962d5):{'mode':_0x5a2325(0xb1),'domains':{}},_0x4f840f=DOMAIN_CONFIG_FIELDS[_0x5a2325(0xb2)](_0x540b12=>Boolean((_0x1cada2[_0x5a2325(0x92)](DOMAIN_FLAGS[_0x540b12])||'')['trim']()));if(_0x49b41b[_0x5a2325(0x95)]==='enterprise-v1'&&_0x4f840f[_0x5a2325(0xb8)]>0x0)throw CliErrors['validation'](_0x5a2325(0x94),_0x5a2325(0xce));for(const _0x237ad8 of DOMAIN_CONFIG_FIELDS){const _0x12a99e=(_0x1cada2[_0x5a2325(0x92)](DOMAIN_FLAGS[_0x237ad8])||'')[_0x5a2325(0xa5)]();if(_0x12a99e)_0x49b41b[_0x5a2325(0x96)][_0x237ad8]=normalizeDomainOrigin(_0x237ad8,_0x12a99e);}return _0x49b41b;}export function resolveDomainFlags(_0x20551a){const _0x178084=a90_0x5ce2c5;return resolveDomainConfigInput(_0x20551a)[_0x178084(0x96)];}export function parseEnterpriseRoutingManifest(_0x4e7819){const _0x32cc24=a90_0x5ce2c5;if(_0x4e7819[_0x32cc24(0x99)]!==ENTERPRISE_ROUTING_PROTOCOL||_0x4e7819['kind']!==ENTERPRISE_ROUTING_KIND)throw CliErrors['validation'](_0x32cc24(0xca)+ENTERPRISE_ROUTING_PROTOCOL+_0x32cc24(0xc1)+ENTERPRISE_ROUTING_KIND+'\x22.');if(!_0x4e7819[_0x32cc24(0x96)]||typeof _0x4e7819['domains']!==_0x32cc24(0xbf)||Array[_0x32cc24(0x98)](_0x4e7819[_0x32cc24(0x96)]))throw CliErrors[_0x32cc24(0xd0)]('Invalid\x20enterprise\x20routing\x20manifest:\x20domains\x20must\x20be\x20an\x20object.');const _0x474ddf=_0x4e7819[_0x32cc24(0x96)],_0x2e34d0=REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS[_0x32cc24(0xb2)](_0x5e2eb6=>_0x474ddf[_0x5e2eb6]===undefined);if(_0x2e34d0[_0x32cc24(0xb8)]>0x0)throw CliErrors[_0x32cc24(0xd0)]('Enterprise\x20routing\x20manifest\x20is\x20missing\x20required\x20Domain(s):\x20'+_0x2e34d0[_0x32cc24(0xbb)](',\x20'));const _0x182498={},_0x1fe1fc={};for(const _0x2058c2 of ENTERPRISE_ROUTING_DOMAIN_FIELDS){const _0x5cf312=_0x474ddf[_0x2058c2];if(_0x5cf312===undefined)continue;const _0x28190e=normalizeRoutingDomainValue(_0x2058c2,_0x5cf312);_0x182498[_0x2058c2]=_0x28190e;const _0x2fdaff=ENTERPRISE_TO_LOCAL_FIELD[_0x2058c2];_0x2fdaff&&(_0x1fe1fc[_0x2fdaff]=_0x28190e);}return{'mode':_0x32cc24(0xaa),'domains':_0x1fe1fc,'manifestDomains':_0x182498};}
1
+ const a90_0x54a039=a90_0x10ca;(function(_0x224c8d,_0x3dc813){const _0x23662b=a90_0x10ca,_0x452c39=_0x224c8d();while(!![]){try{const _0xa15175=parseInt(_0x23662b(0x201))/0x1*(-parseInt(_0x23662b(0x1e8))/0x2)+-parseInt(_0x23662b(0x20b))/0x3*(-parseInt(_0x23662b(0x1e4))/0x4)+parseInt(_0x23662b(0x1dc))/0x5*(-parseInt(_0x23662b(0x1e5))/0x6)+parseInt(_0x23662b(0x1f0))/0x7*(parseInt(_0x23662b(0x20e))/0x8)+-parseInt(_0x23662b(0x20f))/0x9+-parseInt(_0x23662b(0x1eb))/0xa*(-parseInt(_0x23662b(0x212))/0xb)+-parseInt(_0x23662b(0x1fb))/0xc*(-parseInt(_0x23662b(0x207))/0xd);if(_0xa15175===_0x3dc813)break;else _0x452c39['push'](_0x452c39['shift']());}catch(_0x1c77ba){_0x452c39['push'](_0x452c39['shift']());}}}(a90_0x48aa,0x2bfd4));import{existsSync,readFileSync}from'node:fs';import{isAbsolute,resolve}from'node:path';import{CliErrors}from'../errors.js';import{ENTERPRISE_ROUTING_DOMAIN_FIELDS,ENTERPRISE_ROUTING_KIND,ENTERPRISE_ROUTING_PROTOCOL,REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS}from'../generated/routing-contract.js';export const DOMAIN_CONFIG_FIELDS=[a90_0x54a039(0x1df),a90_0x54a039(0x1fd),'runtimeDomain',a90_0x54a039(0x1db),a90_0x54a039(0x208)];const DOMAIN_FLAGS={'userDomain':a90_0x54a039(0x20a),'apiDomain':a90_0x54a039(0x20c),'runtimeDomain':a90_0x54a039(0x203),'skillDomain':a90_0x54a039(0x1ef),'kbServiceDomain':a90_0x54a039(0x1f7)};function a90_0x48aa(){const _0x48387e=['str','userDomain','pathname','\x22\x20and\x20kind\x20\x22','trim','domains','13292GfRJEA','18ezSoTr',':\x20expected\x20an\x20HTTPS\x20origin\x20or\x20consumer\x20Domain\x20object.','\x22\x20is\x20not\x20a\x20valid\x20URL.','7818LtKmZj',':\x20\x22','Unsupported\x20domain\x20config\x20field(s):\x20','10tHbKhD','username','kbDomain','password','skill-domain','7MgyZDE','object','platformDomain','origin','search','For\x20internal\x20deployments,\x20terminate\x20TLS\x20at\x20the\x20ingress,\x20reverse\x20proxy,\x20or\x20load\x20balancer;\x20an\x20internal\x20CA\x20is\x20supported.','Unsupported\x20routing\x20manifest:\x20expected\x20protocol\x20\x22','kb-service-domain','Invalid\x20','Invalid\x20enterprise\x20routing\x20manifest:\x20domains\x20must\x20be\x20an\x20object.','length','12hbYicI','keys','apiDomain','default','Enterprise\x20routing\x20manifest\x20is\x20missing\x20required\x20Domain(s):\x20','legacy','83UgfhGY',':\x20expected\x20a\x20non-empty\x20HTTPS\x20origin.','runtime-domain','includes','https:','join','6942611omAKUo','kbServiceDomain','\x20and\x20has\x20no\x20default.','user-domain','192xVoftm','api-domain','domain-config','808624DQCMrt','1108422HwCSmj','hash','enterprise-v1','1063249tsbEyG','runtimeDomain','parse','kind','filter','protocol','Invalid\x20domain\x20config:\x20expected\x20a\x20JSON\x20object.','cwd','isArray','validation','skillDomain','527785ReTmRh','Allowed\x20fields:\x20'];a90_0x48aa=function(){return _0x48387e;};return a90_0x48aa();}export const LEGACY_DOMAIN_CONFIG_FIELDS=['host','agentDomain',a90_0x54a039(0x1f2),'skillHubDomain',a90_0x54a039(0x1ed)];function a90_0x10ca(_0x112832,_0x341d94){_0x112832=_0x112832-0x1da;const _0x48aad6=a90_0x48aa();let _0x10cac2=_0x48aad6[_0x112832];return _0x10cac2;}const ENTERPRISE_TO_LOCAL_FIELD={'userDomain':'userDomain','apiDomain':a90_0x54a039(0x1fd),'runtimeDomain':a90_0x54a039(0x213),'skillDomain':a90_0x54a039(0x1db),'kbServiceDomain':a90_0x54a039(0x208)},ROUTING_CONSUMER='lovrabet-cli';export function normalizeDomainOrigin(_0x3b8c1b,_0x2e4e98){const _0x459563=a90_0x54a039;if(typeof _0x2e4e98!=='string'||!_0x2e4e98[_0x459563(0x1e2)]())throw CliErrors[_0x459563(0x1da)](_0x459563(0x1f8)+_0x3b8c1b+_0x459563(0x202));let _0x348d76;try{_0x348d76=new URL(_0x2e4e98[_0x459563(0x1e2)]());}catch{throw CliErrors[_0x459563(0x1da)]('Invalid\x20'+_0x3b8c1b+_0x459563(0x1e9)+_0x2e4e98+_0x459563(0x1e7));}if(_0x348d76['protocol']!==_0x459563(0x205)||_0x348d76[_0x459563(0x1ec)]||_0x348d76[_0x459563(0x1ee)]||_0x348d76['pathname']!=='/'&&_0x348d76[_0x459563(0x1e0)]!==''||_0x348d76[_0x459563(0x1f4)]||_0x348d76[_0x459563(0x210)])throw CliErrors[_0x459563(0x1da)](_0x459563(0x1f8)+_0x3b8c1b+':\x20expected\x20an\x20HTTPS\x20origin\x20without\x20credentials,\x20path,\x20query,\x20or\x20fragment.',_0x459563(0x1f5));return _0x348d76[_0x459563(0x1f3)];}export function normalizeRoutingDomainValue(_0x5178e5,_0x23e565){const _0xb91ab=a90_0x54a039;if(typeof _0x23e565==='string')return normalizeDomainOrigin(_0x5178e5,_0x23e565);if(!_0x23e565||typeof _0x23e565!==_0xb91ab(0x1f1)||Array[_0xb91ab(0x21a)](_0x23e565))throw CliErrors[_0xb91ab(0x1da)]('Invalid\x20'+_0x5178e5+_0xb91ab(0x1e6));const _0x36722b=_0x23e565,_0x5ea32c=_0x36722b[ROUTING_CONSUMER]??_0x36722b[_0xb91ab(0x1fe)];if(_0x5ea32c===undefined)throw CliErrors[_0xb91ab(0x1da)]('Enterprise\x20'+_0x5178e5+'\x20does\x20not\x20provide\x20a\x20Domain\x20for\x20'+ROUTING_CONSUMER+_0xb91ab(0x209));return normalizeDomainOrigin(_0x5178e5,_0x5ea32c);}export function resolveEnterpriseRoutingConfig(_0xac2503){const _0x2bc0ba=a90_0x54a039;if(_0xac2503===undefined)return undefined;if(!_0xac2503||typeof _0xac2503!==_0x2bc0ba(0x1f1)||Array[_0x2bc0ba(0x21a)](_0xac2503))throw CliErrors[_0x2bc0ba(0x1da)]('Invalid\x20enterprise\x20routing\x20config:\x20expected\x20an\x20object.');return parseEnterpriseRoutingManifest(_0xac2503)[_0x2bc0ba(0x1e3)];}export function readDomainConfigInput(_0x4a3a5b){const _0x4202cc=a90_0x54a039,_0x3fa54c=isAbsolute(_0x4a3a5b)?_0x4a3a5b:resolve(process[_0x4202cc(0x219)](),_0x4a3a5b);if(!existsSync(_0x3fa54c))throw CliErrors[_0x4202cc(0x1da)]('Domain\x20config\x20file\x20not\x20found:\x20'+_0x3fa54c);let _0x43f8eb;try{_0x43f8eb=JSON[_0x4202cc(0x214)](readFileSync(_0x3fa54c,'utf8'));}catch{throw CliErrors[_0x4202cc(0x1da)]('Invalid\x20domain\x20config\x20JSON:\x20'+_0x3fa54c);}if(!_0x43f8eb||typeof _0x43f8eb!==_0x4202cc(0x1f1)||Array[_0x4202cc(0x21a)](_0x43f8eb))throw CliErrors['validation'](_0x4202cc(0x218));const _0x585b89=_0x43f8eb;if(_0x4202cc(0x217)in _0x585b89)return parseEnterpriseRoutingManifest(_0x585b89);const _0x4df331=Object[_0x4202cc(0x1fc)](_0x585b89)['filter'](_0x24eec7=>!DOMAIN_CONFIG_FIELDS[_0x4202cc(0x204)](_0x24eec7));if(_0x4df331['length']>0x0)throw CliErrors[_0x4202cc(0x1da)](_0x4202cc(0x1ea)+_0x4df331[_0x4202cc(0x206)](',\x20'),_0x4202cc(0x1dd)+DOMAIN_CONFIG_FIELDS[_0x4202cc(0x206)](',\x20'));const _0x17c3b1={};for(const _0x187cd8 of DOMAIN_CONFIG_FIELDS){_0x585b89[_0x187cd8]!==undefined&&(_0x17c3b1[_0x187cd8]=normalizeDomainOrigin(_0x187cd8,_0x585b89[_0x187cd8]));}if(Object[_0x4202cc(0x1fc)](_0x17c3b1)[_0x4202cc(0x1fa)]===0x0)throw CliErrors[_0x4202cc(0x1da)]('Invalid\x20domain\x20config:\x20provide\x20at\x20least\x20one\x20supported\x20Domain.');return{'mode':'legacy','domains':_0x17c3b1};}export function readDomainConfig(_0x3dc4f1){const _0x1e2669=a90_0x54a039;return readDomainConfigInput(_0x3dc4f1)[_0x1e2669(0x1e3)];}export function resolveDomainConfigInput(_0x190df8){const _0x13c172=a90_0x54a039,_0x5b5f50=(_0x190df8['str'](_0x13c172(0x20d))||'')[_0x13c172(0x1e2)](),_0x51cdc8=_0x5b5f50?readDomainConfigInput(_0x5b5f50):{'mode':_0x13c172(0x200),'domains':{}},_0x224cd7=DOMAIN_CONFIG_FIELDS[_0x13c172(0x216)](_0x2ba8a0=>Boolean((_0x190df8[_0x13c172(0x1de)](DOMAIN_FLAGS[_0x2ba8a0])||'')[_0x13c172(0x1e2)]()));if(_0x51cdc8['mode']===_0x13c172(0x211)&&_0x224cd7['length']>0x0)throw CliErrors[_0x13c172(0x1da)]('Enterprise\x20routing\x20manifests\x20cannot\x20be\x20combined\x20with\x20individual\x20Domain\x20flags.','Update\x20the\x20manifest\x20so\x20both\x20CLIs\x20consume\x20the\x20same\x20routing\x20data.');for(const _0x19bb10 of DOMAIN_CONFIG_FIELDS){const _0x4b396c=(_0x190df8[_0x13c172(0x1de)](DOMAIN_FLAGS[_0x19bb10])||'')[_0x13c172(0x1e2)]();if(_0x4b396c)_0x51cdc8['domains'][_0x19bb10]=normalizeDomainOrigin(_0x19bb10,_0x4b396c);}return _0x51cdc8;}export function resolveDomainFlags(_0x1a078a){return resolveDomainConfigInput(_0x1a078a)['domains'];}export function parseEnterpriseRoutingManifest(_0x59d810){const _0x1ec3bf=a90_0x54a039;if(_0x59d810[_0x1ec3bf(0x217)]!==ENTERPRISE_ROUTING_PROTOCOL||_0x59d810[_0x1ec3bf(0x215)]!==ENTERPRISE_ROUTING_KIND)throw CliErrors[_0x1ec3bf(0x1da)](_0x1ec3bf(0x1f6)+ENTERPRISE_ROUTING_PROTOCOL+_0x1ec3bf(0x1e1)+ENTERPRISE_ROUTING_KIND+'\x22.');if(!_0x59d810[_0x1ec3bf(0x1e3)]||typeof _0x59d810[_0x1ec3bf(0x1e3)]!==_0x1ec3bf(0x1f1)||Array[_0x1ec3bf(0x21a)](_0x59d810[_0x1ec3bf(0x1e3)]))throw CliErrors[_0x1ec3bf(0x1da)](_0x1ec3bf(0x1f9));const _0x4fd139=_0x59d810['domains'],_0x558cf2=REQUIRED_ENTERPRISE_ROUTING_DOMAIN_FIELDS[_0x1ec3bf(0x216)](_0x338a16=>_0x4fd139[_0x338a16]===undefined);if(_0x558cf2[_0x1ec3bf(0x1fa)]>0x0)throw CliErrors['validation'](_0x1ec3bf(0x1ff)+_0x558cf2['join'](',\x20'));const _0x5c785a={},_0x22e065={};for(const _0x1f6336 of ENTERPRISE_ROUTING_DOMAIN_FIELDS){const _0x4626c2=_0x4fd139[_0x1f6336];if(_0x4626c2===undefined)continue;const _0x3ae065=normalizeRoutingDomainValue(_0x1f6336,_0x4626c2);_0x5c785a[_0x1f6336]=_0x3ae065;const _0x78bc06=ENTERPRISE_TO_LOCAL_FIELD[_0x1f6336];_0x78bc06&&(_0x22e065[_0x78bc06]=_0x3ae065);}return{'mode':_0x1ec3bf(0x211),'domains':_0x22e065,'manifestDomains':_0x5c785a};}
@@ -1 +1 @@
1
- const a91_0x1679ff=a91_0x4964;(function(_0x3119f9,_0x19dbbd){const _0x4fb2d3=a91_0x4964,_0x38532b=_0x3119f9();while(!![]){try{const _0x52c5bc=parseInt(_0x4fb2d3(0x7e))/0x1+-parseInt(_0x4fb2d3(0x71))/0x2*(parseInt(_0x4fb2d3(0x83))/0x3)+-parseInt(_0x4fb2d3(0x75))/0x4+-parseInt(_0x4fb2d3(0x77))/0x5*(parseInt(_0x4fb2d3(0x6d))/0x6)+parseInt(_0x4fb2d3(0x82))/0x7*(-parseInt(_0x4fb2d3(0x84))/0x8)+-parseInt(_0x4fb2d3(0x8c))/0x9*(-parseInt(_0x4fb2d3(0x8e))/0xa)+parseInt(_0x4fb2d3(0x79))/0xb;if(_0x52c5bc===_0x19dbbd)break;else _0x38532b['push'](_0x38532b['shift']());}catch(_0xd8edfb){_0x38532b['push'](_0x38532b['shift']());}}}(a91_0x53d1,0x6da4d));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{OUTPUT_FORMAT_VALUES}from'../constant/output.js';import{DEFAULT_LOVRABET_REGION,ENABLED_LOVRABET_REGION_VALUES}from'../constant/region.js';export const CONFIG_FIELD_SCHEMAS={'routing':{'description':a91_0x1679ff(0x8d),'topLevel':!![]},'region':{'description':a91_0x1679ff(0x8f),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':ENABLED_LOVRABET_REGION_VALUES,'defaultValue':DEFAULT_LOVRABET_REGION,'importable':!![]},'env':{'description':a91_0x1679ff(0x76),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':RUNTIME_ENV_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x1679ff(0x87)],'importable':!![]},'format':{'description':a91_0x1679ff(0x7c),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':OUTPUT_FORMAT_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x1679ff(0x70)],'importable':!![]},'pageSize':{'description':a91_0x1679ff(0x90),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'apiDomain':{'description':a91_0x1679ff(0x6b),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'userDomain':{'description':a91_0x1679ff(0x73),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'runtimeDomain':{'description':a91_0x1679ff(0x7f),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'skillDomain':{'description':a91_0x1679ff(0x7b),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'kbServiceDomain':{'description':'Override\x20KB\x20Service\x20domain','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'accessKey':{'description':a91_0x1679ff(0x78),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'riskLevel':{'description':a91_0x1679ff(0x91),'topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x1679ff(0x7d)],'importable':!![]},'nativeToolAvailable':{'description':a91_0x1679ff(0x69),'topLevel':!![],'defaultValue':![]},'locale':{'description':a91_0x1679ff(0x92),'topLevel':!![],'cliSettableTopLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES['locale'],'importable':!![]}};export const TOP_LEVEL_CONFIG_KEYS=new Set(Object['entries'](CONFIG_FIELD_SCHEMAS)[a91_0x1679ff(0x6c)](([,_0x54ff02])=>_0x54ff02['cliSettableTopLevel'])[a91_0x1679ff(0x8b)](([_0x243c0b])=>_0x243c0b));export const CLI_PROTECTED_CONFIG_KEYS=new Set(['riskLevel','nativeToolAvailable']);export const CONFIG_ENUM_VALUES=Object[a91_0x1679ff(0x80)](Object[a91_0x1679ff(0x6f)](CONFIG_FIELD_SCHEMAS)[a91_0x1679ff(0x6c)](([,_0x42cf3d])=>_0x42cf3d[a91_0x1679ff(0x6a)])[a91_0x1679ff(0x8b)](([_0x233031,_0x585e78])=>[_0x233031,[..._0x585e78[a91_0x1679ff(0x6a)]||[]]]));export const IMPORTABLE_RUNTIME_CONFIG_KEYS=Object[a91_0x1679ff(0x6f)](CONFIG_FIELD_SCHEMAS)[a91_0x1679ff(0x6c)](([,_0x3045f9])=>_0x3045f9[a91_0x1679ff(0x74)])[a91_0x1679ff(0x8b)](([_0x32eb01])=>_0x32eb01);export function getConfigFieldSchema(_0x3547c4){return CONFIG_FIELD_SCHEMAS[_0x3547c4];}export function getConfigEnumValues(_0x4711c8){const _0x1a2959=a91_0x1679ff;return getConfigFieldSchema(_0x4711c8)?.[_0x1a2959(0x6a)];}export function getConfigDefaultValue(_0x162383){const _0x1ef80e=a91_0x1679ff;return getConfigFieldSchema(_0x162383)?.[_0x1ef80e(0x88)];}export function isTopLevelConfigKey(_0x2f573c){const _0x57cfd9=a91_0x1679ff;return TOP_LEVEL_CONFIG_KEYS[_0x57cfd9(0x72)](_0x2f573c);}export function isCliProtectedConfigKey(_0x592b1b){const _0x102a6=a91_0x1679ff;return CLI_PROTECTED_CONFIG_KEYS[_0x102a6(0x72)](_0x592b1b);}const LOCALE_MAP={'zh':a91_0x1679ff(0x7a),'zh-cn':a91_0x1679ff(0x7a),'zh_cn':a91_0x1679ff(0x7a),'en':a91_0x1679ff(0x81),'en-us':a91_0x1679ff(0x81),'en_us':a91_0x1679ff(0x81)};export function normalizeLocale(_0x571043){const _0x4e9695=a91_0x1679ff;if(!_0x571043)return null;return LOCALE_MAP[_0x571043[_0x4e9695(0x6e)]()]??null;}export function isLegacyCompatConfigKey(_0x468ea4){const _0x734412=a91_0x1679ff;return getConfigFieldSchema(_0x468ea4)?.[_0x734412(0x85)]===!![];}function a91_0x53d1(){const _0x230643=[';\x20local\x20alias:\x20apps.<alias>.appcode','map','9rCtoFc','Versioned\x20enterprise\x20routing\x20manifest','4654220VLPSId','Lovrabet\x20region','Default\x20page\x20size','Risk\x20level','App\x20locale\x20(not\x20CLI\x20language;\x20reserved\x20for\x20later\x20app\x20use)','Native\x20Lovrabet\x20tool\x20availability\x20in\x20the\x20current\x20execution\x20host','enumValues','Override\x20API\x20domain','filter','204ifnvJV','toLowerCase','entries','format','745106btqUVK','has','Override\x20user\x20domain','importable','156900PLzNik','Target\x20environment','9615MMSddJ','Access\x20key\x20(client-ak\x20auth)','6042564qunSgL','zh-CN','Override\x20SkillHub\x20domain','Default\x20output\x20format','riskLevel','456596NkfMJD','Override\x20runtime\x20domain','fromEntries','en-US','2779eXvKFN','3HkSXmR','10984QeIeHp','legacyCompatOnly','Config\x20key.\x20Top-level:\x20','env','defaultValue','join'];a91_0x53d1=function(){return _0x230643;};return a91_0x53d1();}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function formatConfigKeyList(_0x64f980){const _0xd65c16=a91_0x1679ff;return[..._0x64f980][_0xd65c16(0x89)](',\x20');}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x451502=a91_0x1679ff;return _0x451502(0x86)+getTopLevelConfigKeySummary()+_0x451502(0x8a);}function a91_0x4964(_0x10418c,_0x23ab7d){_0x10418c=_0x10418c-0x69;const _0x53d1dc=a91_0x53d1();let _0x496483=_0x53d1dc[_0x10418c];return _0x496483;}export function buildAppProfileListFields(_0x4848ae){return{'env':_0x4848ae,'hasAccessKey':![],'format':null,'pageSize':null,'riskLevel':null,'locale':null};}
1
+ const a91_0x250f9b=a91_0x2d04;(function(_0x48617d,_0x3fab5f){const _0x3b7986=a91_0x2d04,_0x15bd78=_0x48617d();while(!![]){try{const _0x52b2df=parseInt(_0x3b7986(0x206))/0x1*(-parseInt(_0x3b7986(0x1f2))/0x2)+-parseInt(_0x3b7986(0x1f5))/0x3*(parseInt(_0x3b7986(0x201))/0x4)+parseInt(_0x3b7986(0x1f4))/0x5+-parseInt(_0x3b7986(0x208))/0x6+parseInt(_0x3b7986(0x1fd))/0x7*(parseInt(_0x3b7986(0x1ff))/0x8)+parseInt(_0x3b7986(0x1e6))/0x9*(-parseInt(_0x3b7986(0x1f7))/0xa)+parseInt(_0x3b7986(0x20b))/0xb;if(_0x52b2df===_0x3fab5f)break;else _0x15bd78['push'](_0x15bd78['shift']());}catch(_0x5a8f06){_0x15bd78['push'](_0x15bd78['shift']());}}}(a91_0x2e8f,0x41479));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RUNTIME_ENV_VALUES}from'../constant/env.js';import{OUTPUT_FORMAT_VALUES}from'../constant/output.js';import{DEFAULT_LOVRABET_REGION,ENABLED_LOVRABET_REGION_VALUES}from'../constant/region.js';export const CONFIG_FIELD_SCHEMAS={'routing':{'description':a91_0x250f9b(0x1f0),'topLevel':!![]},'region':{'description':a91_0x250f9b(0x1ef),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':ENABLED_LOVRABET_REGION_VALUES,'defaultValue':DEFAULT_LOVRABET_REGION,'importable':!![]},'env':{'description':a91_0x250f9b(0x1ec),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':RUNTIME_ENV_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x250f9b(0x1eb)],'importable':!![]},'format':{'description':a91_0x250f9b(0x1e7),'topLevel':!![],'cliSettableTopLevel':!![],'enumValues':OUTPUT_FORMAT_VALUES,'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x250f9b(0x1fa)],'importable':!![]},'pageSize':{'description':a91_0x250f9b(0x203),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'apiDomain':{'description':a91_0x250f9b(0x1e9),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'userDomain':{'description':a91_0x250f9b(0x1f1),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'runtimeDomain':{'description':a91_0x250f9b(0x1fc),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'skillDomain':{'description':a91_0x250f9b(0x1e5),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'kbServiceDomain':{'description':a91_0x250f9b(0x209),'topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'accessKey':{'description':'Access\x20key\x20(client-ak\x20auth)','topLevel':!![],'cliSettableTopLevel':!![],'importable':!![]},'riskLevel':{'description':'Risk\x20level','topLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES[a91_0x250f9b(0x200)],'importable':!![]},'nativeToolAvailable':{'description':a91_0x250f9b(0x1e8),'topLevel':!![],'defaultValue':![]},'locale':{'description':a91_0x250f9b(0x1f9),'topLevel':!![],'cliSettableTopLevel':!![],'defaultValue':DEFAULT_CONFIG_VALUES['locale'],'importable':!![]}};export const TOP_LEVEL_CONFIG_KEYS=new Set(Object['entries'](CONFIG_FIELD_SCHEMAS)['filter'](([,_0x3a170f])=>_0x3a170f['cliSettableTopLevel'])[a91_0x250f9b(0x205)](([_0x1ed1b6])=>_0x1ed1b6));function a91_0x2e8f(){const _0x1cc07e=['entries','168doQyGx','riskLevel','1676MqbDBO','has','Default\x20page\x20size','enumValues','map','56614xLULho','defaultValue','612144sYoQph','Override\x20KB\x20Service\x20domain','Config\x20key.\x20Top-level:\x20','5249673RjePbI','Override\x20SkillHub\x20domain','684GTODxs','Default\x20output\x20format','Native\x20Lovrabet\x20tool\x20availability\x20in\x20the\x20current\x20execution\x20host','Override\x20API\x20domain','filter','env','Target\x20environment','join','zh-CN','Lovrabet\x20region','Versioned\x20enterprise\x20routing\x20manifest','Override\x20user\x20domain','16PPzGHA','fromEntries','414510PnSUyA','534VFRgwh','toLowerCase','10240kKtHci','en-US','App\x20locale\x20(not\x20CLI\x20language;\x20reserved\x20for\x20later\x20app\x20use)','format',';\x20local\x20alias:\x20apps.<alias>.appcode','Override\x20runtime\x20domain','138194tDhnXS'];a91_0x2e8f=function(){return _0x1cc07e;};return a91_0x2e8f();}export const CLI_PROTECTED_CONFIG_KEYS=new Set([a91_0x250f9b(0x200),'nativeToolAvailable']);export const CONFIG_ENUM_VALUES=Object[a91_0x250f9b(0x1f3)](Object[a91_0x250f9b(0x1fe)](CONFIG_FIELD_SCHEMAS)[a91_0x250f9b(0x1ea)](([,_0x112595])=>_0x112595[a91_0x250f9b(0x204)])[a91_0x250f9b(0x205)](([_0x21cae9,_0x1b0f7c])=>[_0x21cae9,[..._0x1b0f7c[a91_0x250f9b(0x204)]||[]]]));export const IMPORTABLE_RUNTIME_CONFIG_KEYS=Object['entries'](CONFIG_FIELD_SCHEMAS)['filter'](([,_0x107bd3])=>_0x107bd3['importable'])[a91_0x250f9b(0x205)](([_0x549204])=>_0x549204);export function getConfigFieldSchema(_0x1e9ba9){return CONFIG_FIELD_SCHEMAS[_0x1e9ba9];}export function getConfigEnumValues(_0x5d107b){const _0x477972=a91_0x250f9b;return getConfigFieldSchema(_0x5d107b)?.[_0x477972(0x204)];}export function getConfigDefaultValue(_0x418dd2){const _0x44b002=a91_0x250f9b;return getConfigFieldSchema(_0x418dd2)?.[_0x44b002(0x207)];}export function isTopLevelConfigKey(_0x416cfa){const _0x452989=a91_0x250f9b;return TOP_LEVEL_CONFIG_KEYS[_0x452989(0x202)](_0x416cfa);}export function isCliProtectedConfigKey(_0x136b92){return CLI_PROTECTED_CONFIG_KEYS['has'](_0x136b92);}const LOCALE_MAP={'zh':a91_0x250f9b(0x1ee),'zh-cn':a91_0x250f9b(0x1ee),'zh_cn':'zh-CN','en':a91_0x250f9b(0x1f8),'en-us':a91_0x250f9b(0x1f8),'en_us':a91_0x250f9b(0x1f8)};export function normalizeLocale(_0x1e8ba7){const _0x30ffb6=a91_0x250f9b;if(!_0x1e8ba7)return null;return LOCALE_MAP[_0x1e8ba7[_0x30ffb6(0x1f6)]()]??null;}export function isLegacyCompatConfigKey(_0x2c1d7){return getConfigFieldSchema(_0x2c1d7)?.['legacyCompatOnly']===!![];}function a91_0x2d04(_0xbdc13e,_0x34660c){_0xbdc13e=_0xbdc13e-0x1e5;const _0x2e8f52=a91_0x2e8f();let _0x2d0479=_0x2e8f52[_0xbdc13e];return _0x2d0479;}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function formatConfigKeyList(_0x2cc3b8){const _0x2d7651=a91_0x250f9b;return[..._0x2cc3b8][_0x2d7651(0x1ed)](',\x20');}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x5c17ce=a91_0x250f9b;return _0x5c17ce(0x20a)+getTopLevelConfigKeySummary()+_0x5c17ce(0x1fb);}export function buildAppProfileListFields(_0x1d2773){return{'env':_0x1d2773,'hasAccessKey':![],'format':null,'pageSize':null,'riskLevel':null,'locale':null};}