@lovrabet/lovrabet-cli 2.3.0 → 2.3.1-beta.1

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 (178) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.d.ts +1 -1
  25. package/lib/commands/config/init.js +1 -1
  26. package/lib/commands/config/shared.js +1 -1
  27. package/lib/commands/data/index.js +1 -1
  28. package/lib/commands/dataset/detail.js +1 -1
  29. package/lib/commands/dataset/index.js +1 -1
  30. package/lib/commands/dataset/list.js +1 -1
  31. package/lib/commands/dataset/sdk-doc.js +1 -1
  32. package/lib/commands/doctor.js +1 -1
  33. package/lib/commands/file/index.js +1 -1
  34. package/lib/commands/init.js +1 -1
  35. package/lib/commands/kb/index.js +1 -1
  36. package/lib/commands/logs/index.js +1 -1
  37. package/lib/commands/notification/config-list.js +1 -1
  38. package/lib/commands/notification/index.js +1 -1
  39. package/lib/commands/notification/shared.js +1 -1
  40. package/lib/commands/ocr/index.js +1 -1
  41. package/lib/commands/permit/dataset-get.js +1 -1
  42. package/lib/commands/permit/dataset-set.js +1 -1
  43. package/lib/commands/permit/index.js +1 -1
  44. package/lib/commands/permit/page-get.js +1 -1
  45. package/lib/commands/permit/page-set.js +1 -1
  46. package/lib/commands/permit/role-menus-set.js +1 -1
  47. package/lib/commands/permit/role-menus.js +1 -1
  48. package/lib/commands/permit/shared.js +1 -1
  49. package/lib/commands/personal-bff/index.js +1 -1
  50. package/lib/commands/registry.js +1 -1
  51. package/lib/commands/role/create.js +1 -1
  52. package/lib/commands/role/delete.js +1 -1
  53. package/lib/commands/role/detail.js +1 -1
  54. package/lib/commands/role/index.js +1 -1
  55. package/lib/commands/role/list.js +1 -1
  56. package/lib/commands/role/shared.js +1 -1
  57. package/lib/commands/role/update.js +1 -1
  58. package/lib/commands/role/user-add.js +1 -1
  59. package/lib/commands/role/user-remove.js +1 -1
  60. package/lib/commands/schedule/index.js +1 -1
  61. package/lib/commands/schema.js +1 -1
  62. package/lib/commands/service/dynamic.js +1 -1
  63. package/lib/commands/service/function-name-adapter.js +1 -1
  64. package/lib/commands/service/index.js +1 -1
  65. package/lib/commands/service/registry.js +1 -1
  66. package/lib/commands/skill/commands/create.js +1 -1
  67. package/lib/commands/skill/commands/diagram.js +1 -1
  68. package/lib/commands/skill/commands/install.js +1 -1
  69. package/lib/commands/skill/commands/list.js +1 -1
  70. package/lib/commands/skill/commands/push.js +1 -1
  71. package/lib/commands/skill/commands/validate.js +1 -1
  72. package/lib/commands/skill/diagram.js +1 -1
  73. package/lib/commands/skill/flags.js +1 -1
  74. package/lib/commands/skill/index.js +1 -1
  75. package/lib/commands/skill/manifest-helpers.js +1 -1
  76. package/lib/commands/skill/push-execute.js +1 -1
  77. package/lib/commands/skill/push-flow-helpers.js +1 -1
  78. package/lib/commands/skill/push-retarget.js +1 -1
  79. package/lib/commands/skill/scopes.js +1 -1
  80. package/lib/commands/skill/summary.js +1 -1
  81. package/lib/commands/skill/templates.js +1 -1
  82. package/lib/commands/skill/validate.js +1 -1
  83. package/lib/commands/sql/detail.js +1 -1
  84. package/lib/commands/sql/exec.js +1 -1
  85. package/lib/commands/sql/index.js +1 -1
  86. package/lib/commands/update.js +1 -1
  87. package/lib/commands/user-account/bind.js +1 -1
  88. package/lib/commands/user-account/index.js +1 -1
  89. package/lib/commands/workspace/index.js +1 -1
  90. package/lib/config/domain-config.d.ts +1 -1
  91. package/lib/config/domain-config.js +1 -1
  92. package/lib/config/schema.d.ts +1 -1
  93. package/lib/config/schema.js +1 -1
  94. package/lib/constant/app.js +1 -1
  95. package/lib/constant/auth-mode.js +1 -1
  96. package/lib/constant/cli.js +1 -1
  97. package/lib/constant/defaults.js +1 -1
  98. package/lib/constant/distribution.js +1 -1
  99. package/lib/constant/domain.d.ts +6 -3
  100. package/lib/constant/domain.js +1 -1
  101. package/lib/constant/env.js +1 -1
  102. package/lib/constant/output.js +1 -1
  103. package/lib/constant/product.js +1 -1
  104. package/lib/constant/region.js +1 -1
  105. package/lib/constant/risk.js +1 -1
  106. package/lib/constant/url.js +1 -1
  107. package/lib/context.js +1 -1
  108. package/lib/core/api-client.d.ts +0 -16
  109. package/lib/core/api-client.js +1 -1
  110. package/lib/core/db-resolver.js +1 -1
  111. package/lib/core/kb-search-client.d.ts +30 -0
  112. package/lib/core/kb-search-client.js +1 -0
  113. package/lib/core/sdk-client.js +1 -1
  114. package/lib/errors.js +1 -1
  115. package/lib/framework/build-all-flags.js +1 -1
  116. package/lib/framework/dryrun.js +1 -1
  117. package/lib/framework/flags.js +1 -1
  118. package/lib/framework/help.js +1 -1
  119. package/lib/framework/index.js +1 -1
  120. package/lib/framework/output.js +1 -1
  121. package/lib/framework/preparse.js +1 -1
  122. package/lib/framework/rate-limit.js +1 -1
  123. package/lib/framework/raw-flags.js +1 -1
  124. package/lib/framework/response.js +1 -1
  125. package/lib/framework/runner-confirmation.js +1 -1
  126. package/lib/framework/runner-error.js +1 -1
  127. package/lib/framework/runner.js +1 -1
  128. package/lib/framework/schema-export.js +1 -1
  129. package/lib/framework/service-order.js +1 -1
  130. package/lib/framework/types.d.ts +2 -0
  131. package/lib/framework/types.js +1 -1
  132. package/lib/generated/build-info.d.ts +4 -4
  133. package/lib/generated/build-info.js +1 -1
  134. package/lib/help.js +1 -1
  135. package/lib/postinstall.js +1 -1
  136. package/lib/runtime/confirmation.js +1 -1
  137. package/lib/runtime/event.js +1 -1
  138. package/lib/runtime/index.js +1 -1
  139. package/lib/runtime/queue.js +1 -1
  140. package/lib/runtime/resolve.js +1 -1
  141. package/lib/skills/builtin-skill.js +1 -1
  142. package/lib/skills/npx-skills-add.js +1 -1
  143. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  144. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  145. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  146. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  147. package/lib/skills/runtime-skill-sync/links.js +1 -1
  148. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  149. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  150. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  151. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  152. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  153. package/lib/skills/runtime-skill-sync/push.js +1 -1
  154. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  155. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  156. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  157. package/lib/skills/runtime-skill-sync.js +1 -1
  158. package/lib/skills/skill-presence.js +1 -1
  159. package/lib/utils/access-key-redaction.js +1 -1
  160. package/lib/utils/apply-jq-filter.js +1 -1
  161. package/lib/utils/cli-version-check.js +1 -1
  162. package/lib/utils/cli-version-policy.js +1 -1
  163. package/lib/utils/logger.js +1 -1
  164. package/lib/utils/lossless-json.js +1 -1
  165. package/lib/utils/params.js +1 -1
  166. package/lib/utils/platform.js +1 -1
  167. package/lib/utils/update-notice.js +1 -1
  168. package/lib/utils/version.js +1 -1
  169. package/lib/utils/write-cli-side-channel.js +1 -1
  170. package/package.json +1 -1
  171. package/skills/lovrabet/SKILL.md +3 -2
  172. package/skills/lovrabet/guides/sql-and-bff-workflow.md +1 -1
  173. package/skills/lovrabet/references/lovrabet-config-commands.md +7 -6
  174. package/skills/lovrabet/references/lovrabet-config.md +9 -8
  175. package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
  176. package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
  177. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +32 -0
  178. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a132_0x366568=a132_0x25d7;(function(_0x280696,_0x500d57){const _0x56d927=a132_0x25d7,_0x3425e3=_0x280696();while(!![]){try{const _0x2e833b=-parseInt(_0x56d927(0xcc))/0x1+-parseInt(_0x56d927(0xd1))/0x2+-parseInt(_0x56d927(0xd5))/0x3*(-parseInt(_0x56d927(0xf0))/0x4)+parseInt(_0x56d927(0x101))/0x5*(parseInt(_0x56d927(0xcb))/0x6)+parseInt(_0x56d927(0xe4))/0x7*(-parseInt(_0x56d927(0xeb))/0x8)+parseInt(_0x56d927(0xff))/0x9+-parseInt(_0x56d927(0xe3))/0xa*(parseInt(_0x56d927(0xd7))/0xb);if(_0x2e833b===_0x500d57)break;else _0x3425e3['push'](_0x3425e3['shift']());}catch(_0x261717){_0x3425e3['push'](_0x3425e3['shift']());}}}(a132_0xea84,0xd6640));import{createHash}from'node:crypto';import{lstatSync,readFileSync,readdirSync}from'node:fs';import{homedir}from'node:os';import{dirname,join,relative,resolve,sep}from'node:path';import{fileURLToPath}from'node:url';function a132_0xea84(){const _0x49cc64=['628922VZGWYH','INSTALL_FAILED','lovrabet.manifest.json','installedPath','6SIybbm','current','21197JjrqEv','Unsafe\x20manifest\x20path:\x20','join','version_mismatch','includes','message','present','lovrabet','parse','sort','packageVersion','missing','7090PEeRcx','38087MQlyXa','stdio','packageRoot','skipped','content_mismatch','startsWith','Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest','152WptjGd','split','SOURCE_INVALID','reason','length','1522892ePXjUC','path','sha256','home','skillVersion','unknown','utf8','isSymbolicLink','skills@latest\x20exited\x20','VERIFY_FAILED','version','error','Unsupported\x20Skill\x20entry:\x20','hex','pipe','13435983KgSufq','manifest','8475955oDGqrV','name','digest','SKILL.md','unverifiable','Symbolic\x20link\x20is\x20not\x20allowed:\x20','update','Installed\x20Skill\x20state\x20is\x20','state','absent','trim','6tunjXK','1287297MMUguH','flatMap','schemaVersion','isFile','isDirectory'];a132_0xea84=function(){return _0x49cc64;};return a132_0xea84();}import{runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';const DEFAULT_PACKAGE_ROOT=resolve(dirname(fileURLToPath(import.meta.url)),'..','..'),REPAIR_COMMAND='lovrabet\x20cli-skill\x20install',SKILL_NAME=a132_0x366568(0xde);function frontmatterValue(_0x322b54,_0xf5deb2){const _0x1ff83c=a132_0x366568;return _0x322b54['match'](new RegExp('^'+_0xf5deb2+':\x5cs*(.+)$','m'))?.[0x1]?.[_0x1ff83c(0xca)]()??'';}function a132_0x25d7(_0x1c8e85,_0x3250fe){_0x1c8e85=_0x1c8e85-0xc5;const _0xea84bb=a132_0xea84();let _0x25d7b5=_0xea84bb[_0x1c8e85];return _0x25d7b5;}function listFiles(_0x4c8f44,_0x2df857=_0x4c8f44){const _0x2c5479=a132_0x366568;return readdirSync(_0x2df857,{'withFileTypes':!![]})[_0x2c5479(0xcd)](_0x15f848=>{const _0xdb9d92=_0x2c5479,_0x5c174e=join(_0x2df857,_0x15f848[_0xdb9d92(0x102)]),_0x2a68aa=lstatSync(_0x5c174e);if(_0x2a68aa[_0xdb9d92(0xf7)]())throw new Error(_0xdb9d92(0xc5)+_0x5c174e);if(_0x2a68aa[_0xdb9d92(0xd0)]())return listFiles(_0x4c8f44,_0x5c174e);if(!_0x2a68aa[_0xdb9d92(0xcf)]())throw new Error(_0xdb9d92(0xfc)+_0x5c174e);return[relative(_0x4c8f44,_0x5c174e)[_0xdb9d92(0xec)](sep)[_0xdb9d92(0xd9)]('/')];})[_0x2c5479(0xe0)]((_0x44d8bd,_0x307c51)=>_0x44d8bd<_0x307c51?-0x1:_0x44d8bd>_0x307c51?0x1:0x0);}function digestFiles(_0x26aefe,_0x491044){const _0x594878=a132_0x366568,_0x559365=createHash(_0x594878(0xf2));for(const _0xfcb9e6 of _0x491044){if(_0xfcb9e6[_0x594878(0xe9)]('/')||_0xfcb9e6[_0x594878(0xec)]('/')[_0x594878(0xdb)]('..')||_0xfcb9e6[_0x594878(0xdb)]('\x5c'))throw new Error(_0x594878(0xd8)+_0xfcb9e6);_0x559365[_0x594878(0xc6)](_0xfcb9e6),_0x559365['update']('\x00'),_0x559365[_0x594878(0xc6)](readFileSync(join(_0x26aefe,..._0xfcb9e6[_0x594878(0xec)]('/')))),_0x559365['update']('\x00');}return _0x559365['digest'](_0x594878(0xfd));}function sameFiles(_0x53f3f9,_0x3b7bf9){const _0x5ee067=a132_0x366568;return _0x53f3f9[_0x5ee067(0xef)]===_0x3b7bf9[_0x5ee067(0xef)]&&_0x53f3f9['every']((_0x439074,_0x492b7c)=>_0x439074===_0x3b7bf9[_0x492b7c]);}function readSource(_0x11b375){const _0x5b8761=a132_0x366568,_0x44b47f=JSON[_0x5b8761(0xdf)](readFileSync(join(_0x11b375,'package.json'),_0x5b8761(0xf6))),_0x41f5e6=JSON[_0x5b8761(0xdf)](readFileSync(join(_0x11b375,'skills',_0x5b8761(0xd3)),'utf8')),_0x2466fe=join(_0x11b375,'skills',SKILL_NAME),_0x505ae6=frontmatterValue(readFileSync(join(_0x2466fe,_0x5b8761(0x104)),_0x5b8761(0xf6)),'version'),_0x2f542e=listFiles(_0x2466fe);if(_0x41f5e6[_0x5b8761(0xce)]!==0x1||_0x41f5e6['name']!==SKILL_NAME||!_0x44b47f[_0x5b8761(0xfa)]||_0x41f5e6['packageVersion']!==_0x44b47f[_0x5b8761(0xfa)]||_0x41f5e6['skillVersion']!==_0x44b47f[_0x5b8761(0xfa)]||_0x505ae6!==_0x44b47f[_0x5b8761(0xfa)]||!sameFiles(_0x2f542e,_0x41f5e6['files'])||digestFiles(_0x2466fe,_0x2f542e)!==_0x41f5e6[_0x5b8761(0x103)])throw new Error(_0x5b8761(0xea));return{'packageVersion':_0x44b47f[_0x5b8761(0xfa)],'skillVersion':_0x505ae6,'root':_0x2466fe,'manifest':_0x41f5e6};}function installedSkillPath(_0x1f9a1f){const _0x3e3a9f=a132_0x366568,_0xc651dc=resolveInstalledSkill(SKILL_NAME,{'home':_0x1f9a1f});if(_0xc651dc['state']===_0x3e3a9f(0xdd))return{'state':_0x3e3a9f(0xdd),'path':dirname(_0xc651dc[_0x3e3a9f(0xf1)])};if(_0xc651dc[_0x3e3a9f(0xc8)]===_0x3e3a9f(0xc9))return{'state':_0x3e3a9f(0xe2)};return{'state':_0x3e3a9f(0x105),'reason':_0xc651dc['reason']};}export function inspectInstalledBuiltinSkillVersion(_0x32195e,_0x22217e={}){const _0x21643f=a132_0x366568,_0xedd9ca=installedSkillPath(_0x22217e[_0x21643f(0xf3)]??homedir());if(_0xedd9ca[_0x21643f(0xc8)]===_0x21643f(0xe2))return{'state':'missing','expectedVersion':_0x32195e,'repairCommand':REPAIR_COMMAND};if(_0xedd9ca[_0x21643f(0xc8)]===_0x21643f(0x105))return{'state':_0x21643f(0x105),'expectedVersion':_0x32195e,'reason':_0xedd9ca['reason'],'repairCommand':REPAIR_COMMAND};try{const _0x498412=frontmatterValue(readFileSync(join(_0xedd9ca['path'],'SKILL.md'),_0x21643f(0xf6)),_0x21643f(0xfa));return{'state':_0x498412===_0x32195e?_0x21643f(0xd6):_0x21643f(0xda),'expectedVersion':_0x32195e,'skillVersion':_0x498412,'installedPath':_0xedd9ca[_0x21643f(0xf1)],'repairCommand':REPAIR_COMMAND};}catch(_0x17744e){return{'state':_0x21643f(0x105),'expectedVersion':_0x32195e,'installedPath':_0xedd9ca[_0x21643f(0xf1)],'reason':_0x17744e instanceof Error?_0x17744e['message']:String(_0x17744e),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0x430d28={}){const _0x60d9a0=a132_0x366568,_0x964c18=_0x430d28['packageRoot']??DEFAULT_PACKAGE_ROOT;let _0x37b4bb;try{_0x37b4bb=readSource(_0x964c18);}catch(_0x44eada){return{'state':_0x60d9a0(0x105),'packageVersion':_0x60d9a0(0xf5),'reason':_0x44eada instanceof Error?_0x44eada[_0x60d9a0(0xdc)]:String(_0x44eada),'repairCommand':REPAIR_COMMAND};}const _0x14e234=installedSkillPath(_0x430d28['home']??homedir());if(_0x14e234[_0x60d9a0(0xc8)]==='missing')return{'state':_0x60d9a0(0xe2),'packageVersion':_0x37b4bb[_0x60d9a0(0xe1)],'repairCommand':REPAIR_COMMAND};if(_0x14e234['state']===_0x60d9a0(0x105))return{'state':'unverifiable','packageVersion':_0x37b4bb['packageVersion'],'reason':_0x14e234[_0x60d9a0(0xee)],'repairCommand':REPAIR_COMMAND};try{const _0x4d2ecc=frontmatterValue(readFileSync(join(_0x14e234[_0x60d9a0(0xf1)],_0x60d9a0(0x104)),_0x60d9a0(0xf6)),_0x60d9a0(0xfa));if(_0x4d2ecc!==_0x37b4bb[_0x60d9a0(0xf4)])return{'state':'version_mismatch','packageVersion':_0x37b4bb[_0x60d9a0(0xe1)],'skillVersion':_0x4d2ecc,'installedPath':_0x14e234[_0x60d9a0(0xf1)],'repairCommand':REPAIR_COMMAND};const _0x46c94d=listFiles(_0x14e234[_0x60d9a0(0xf1)]),_0x22108f=digestFiles(_0x14e234[_0x60d9a0(0xf1)],_0x46c94d);return{'state':sameFiles(_0x46c94d,_0x37b4bb[_0x60d9a0(0x100)]['files'])&&_0x22108f===_0x37b4bb[_0x60d9a0(0x100)]['digest']?'current':_0x60d9a0(0xe8),'packageVersion':_0x37b4bb['packageVersion'],'skillVersion':_0x4d2ecc,'installedPath':_0x14e234[_0x60d9a0(0xf1)],'digest':_0x22108f,'repairCommand':REPAIR_COMMAND};}catch(_0x1e94ec){return{'state':_0x60d9a0(0x105),'packageVersion':_0x37b4bb[_0x60d9a0(0xe1)],'installedPath':_0x14e234[_0x60d9a0(0xf1)],'reason':_0x1e94ec instanceof Error?_0x1e94ec[_0x60d9a0(0xdc)]:String(_0x1e94ec),'repairCommand':REPAIR_COMMAND};}}function failure(_0x3513a3,_0x4d4355,_0x1cd90f,_0x5072f8){const _0x3b7e73=a132_0x366568;return{'ok':![],'code':_0x3513a3,'packageVersion':_0x4d4355[_0x3b7e73(0xe1)],'skillVersion':_0x4d4355[_0x3b7e73(0xf4)],'installedPath':_0x5072f8,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x1cd90f instanceof Error?_0x1cd90f[_0x3b7e73(0xdc)]:String(_0x1cd90f)};}export function installBuiltinSkill(_0x2d6355={}){const _0x3f5c88=a132_0x366568,_0x4f1b3d=_0x2d6355[_0x3f5c88(0xe6)]??DEFAULT_PACKAGE_ROOT,_0xf41a3b=_0x2d6355[_0x3f5c88(0xf3)]??homedir();let _0x6e2231;try{_0x6e2231=readSource(_0x4f1b3d);}catch(_0x53d622){return failure(_0x3f5c88(0xed),{'packageVersion':_0x3f5c88(0xf5),'skillVersion':'unknown'},_0x53d622);}const _0x403229=inspectBuiltinSkill({'packageRoot':_0x4f1b3d,'home':_0xf41a3b}),_0x3d3510=runNpxSkillsAddGlobal(_0x4f1b3d,_0x6e2231['root'],{'stdio':_0x2d6355[_0x3f5c88(0xe5)]??_0x3f5c88(0xfe),'expectedSkillName':SKILL_NAME,'presence':{'home':_0xf41a3b}});if(_0x3d3510[_0x3f5c88(0xe7)])return{'ok':!![],'packageVersion':_0x6e2231[_0x3f5c88(0xe1)],'skillVersion':_0x6e2231[_0x3f5c88(0xf4)],'installedPath':_0x403229[_0x3f5c88(0xd4)],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0x3d3510['ok'])return failure(_0x3f5c88(0xd2),_0x6e2231,_0x3d3510[_0x3f5c88(0xfb)]??_0x3f5c88(0xf8)+_0x3d3510['status']);const _0x14ef13=inspectBuiltinSkill({'packageRoot':_0x4f1b3d,'home':_0xf41a3b});if(_0x14ef13[_0x3f5c88(0xc8)]!==_0x3f5c88(0xd6))return failure(_0x3f5c88(0xf9),_0x6e2231,_0x14ef13[_0x3f5c88(0xee)]??_0x3f5c88(0xc7)+_0x14ef13[_0x3f5c88(0xc8)],_0x14ef13[_0x3f5c88(0xd4)]);return{'ok':!![],'packageVersion':_0x6e2231[_0x3f5c88(0xe1)],'skillVersion':_0x6e2231[_0x3f5c88(0xf4)],'installedPath':_0x14ef13['installedPath'],'changed':_0x403229['state']!==_0x3f5c88(0xd6),'repairCommand':REPAIR_COMMAND};}
1
+ const a133_0x3fde5a=a133_0x54a4;(function(_0x4dde09,_0x30059b){const _0x1b067f=a133_0x54a4,_0x9f9bbb=_0x4dde09();while(!![]){try{const _0x10dfee=-parseInt(_0x1b067f(0x1ae))/0x1+parseInt(_0x1b067f(0x199))/0x2+-parseInt(_0x1b067f(0x1b2))/0x3+parseInt(_0x1b067f(0x19f))/0x4+-parseInt(_0x1b067f(0x1cc))/0x5+-parseInt(_0x1b067f(0x1ca))/0x6+-parseInt(_0x1b067f(0x1b8))/0x7*(-parseInt(_0x1b067f(0x1cd))/0x8);if(_0x10dfee===_0x30059b)break;else _0x9f9bbb['push'](_0x9f9bbb['shift']());}catch(_0x1d2856){_0x9f9bbb['push'](_0x9f9bbb['shift']());}}}(a133_0x536e,0x2c0c8));import{createHash}from'node:crypto';import{lstatSync,readFileSync,readdirSync}from'node:fs';import{homedir}from'node:os';import{dirname,join,relative,resolve,sep}from'node:path';import{fileURLToPath}from'node:url';import{runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';const DEFAULT_PACKAGE_ROOT=resolve(dirname(fileURLToPath(import.meta.url)),'..','..'),REPAIR_COMMAND=a133_0x3fde5a(0x1b4),SKILL_NAME='lovrabet';function frontmatterValue(_0x520b09,_0xdf10ae){const _0x441d23=a133_0x3fde5a;return _0x520b09[_0x441d23(0x1c2)](new RegExp('^'+_0xdf10ae+_0x441d23(0x1bc),'m'))?.[0x1]?.[_0x441d23(0x1c5)]()??'';}function listFiles(_0xa48521,_0x35ed77=_0xa48521){return readdirSync(_0x35ed77,{'withFileTypes':!![]})['flatMap'](_0x474d2d=>{const _0x118c9c=a133_0x54a4,_0x39c603=join(_0x35ed77,_0x474d2d[_0x118c9c(0x1b0)]),_0x39232c=lstatSync(_0x39c603);if(_0x39232c[_0x118c9c(0x19c)]())throw new Error(_0x118c9c(0x1bf)+_0x39c603);if(_0x39232c['isDirectory']())return listFiles(_0xa48521,_0x39c603);if(!_0x39232c[_0x118c9c(0x1b6)]())throw new Error(_0x118c9c(0x1ab)+_0x39c603);return[relative(_0xa48521,_0x39c603)[_0x118c9c(0x1bd)](sep)[_0x118c9c(0x1a6)]('/')];})['sort']((_0x144a1c,_0x4390a0)=>_0x144a1c<_0x4390a0?-0x1:_0x144a1c>_0x4390a0?0x1:0x0);}function digestFiles(_0x2a316b,_0xb2a286){const _0x2e486d=a133_0x3fde5a,_0x24c81f=createHash(_0x2e486d(0x1b9));for(const _0x1def9e of _0xb2a286){if(_0x1def9e[_0x2e486d(0x19a)]('/')||_0x1def9e[_0x2e486d(0x1bd)]('/')['includes']('..')||_0x1def9e['includes']('\x5c'))throw new Error(_0x2e486d(0x1bb)+_0x1def9e);_0x24c81f[_0x2e486d(0x194)](_0x1def9e),_0x24c81f[_0x2e486d(0x194)]('\x00'),_0x24c81f[_0x2e486d(0x194)](readFileSync(join(_0x2a316b,..._0x1def9e[_0x2e486d(0x1bd)]('/')))),_0x24c81f[_0x2e486d(0x194)]('\x00');}return _0x24c81f['digest'](_0x2e486d(0x1c7));}function sameFiles(_0x1981c3,_0x42bc7c){const _0x35eb43=a133_0x3fde5a;return _0x1981c3[_0x35eb43(0x1a2)]===_0x42bc7c[_0x35eb43(0x1a2)]&&_0x1981c3['every']((_0x4924a9,_0x589262)=>_0x4924a9===_0x42bc7c[_0x589262]);}function readSource(_0x194dc2){const _0x5956e1=a133_0x3fde5a,_0x290df1=JSON[_0x5956e1(0x1ac)](readFileSync(join(_0x194dc2,'package.json'),'utf8')),_0x2cc10a=JSON['parse'](readFileSync(join(_0x194dc2,_0x5956e1(0x195),'lovrabet.manifest.json'),_0x5956e1(0x1be))),_0x25444c=join(_0x194dc2,'skills',SKILL_NAME),_0x36171f=frontmatterValue(readFileSync(join(_0x25444c,_0x5956e1(0x1ad)),_0x5956e1(0x1be)),_0x5956e1(0x1c8)),_0x5bb93f=listFiles(_0x25444c);if(_0x2cc10a[_0x5956e1(0x1a8)]!==0x1||_0x2cc10a[_0x5956e1(0x1b0)]!==SKILL_NAME||!_0x290df1['version']||_0x2cc10a[_0x5956e1(0x1af)]!==_0x290df1[_0x5956e1(0x1c8)]||_0x2cc10a[_0x5956e1(0x1c4)]!==_0x290df1['version']||_0x36171f!==_0x290df1[_0x5956e1(0x1c8)]||!sameFiles(_0x5bb93f,_0x2cc10a['files'])||digestFiles(_0x25444c,_0x5bb93f)!==_0x2cc10a['digest'])throw new Error('Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest');return{'packageVersion':_0x290df1[_0x5956e1(0x1c8)],'skillVersion':_0x36171f,'root':_0x25444c,'manifest':_0x2cc10a};}function a133_0x54a4(_0x36b422,_0x1379a7){_0x36b422=_0x36b422-0x192;const _0x536e81=a133_0x536e();let _0x54a48c=_0x536e81[_0x36b422];return _0x54a48c;}function installedSkillPath(_0x203cc9){const _0x3b09c7=a133_0x3fde5a,_0x39b54a=resolveInstalledSkill(SKILL_NAME,{'home':_0x203cc9});if(_0x39b54a['state']===_0x3b09c7(0x1b1))return{'state':_0x3b09c7(0x1b1),'path':dirname(_0x39b54a[_0x3b09c7(0x197)])};if(_0x39b54a[_0x3b09c7(0x198)]===_0x3b09c7(0x1a9))return{'state':_0x3b09c7(0x1b7)};return{'state':_0x3b09c7(0x1a3),'reason':_0x39b54a[_0x3b09c7(0x1c1)]};}export function inspectInstalledBuiltinSkillVersion(_0x23c6ad,_0xad2c9e={}){const _0x5339bf=a133_0x3fde5a,_0x5c0198=installedSkillPath(_0xad2c9e['home']??homedir());if(_0x5c0198[_0x5339bf(0x198)]===_0x5339bf(0x1b7))return{'state':'missing','expectedVersion':_0x23c6ad,'repairCommand':REPAIR_COMMAND};if(_0x5c0198['state']===_0x5339bf(0x1a3))return{'state':'unverifiable','expectedVersion':_0x23c6ad,'reason':_0x5c0198[_0x5339bf(0x1c1)],'repairCommand':REPAIR_COMMAND};try{const _0x4ae731=frontmatterValue(readFileSync(join(_0x5c0198[_0x5339bf(0x197)],_0x5339bf(0x1ad)),_0x5339bf(0x1be)),_0x5339bf(0x1c8));return{'state':_0x4ae731===_0x23c6ad?_0x5339bf(0x193):_0x5339bf(0x1a5),'expectedVersion':_0x23c6ad,'skillVersion':_0x4ae731,'installedPath':_0x5c0198[_0x5339bf(0x197)],'repairCommand':REPAIR_COMMAND};}catch(_0x33c6ac){return{'state':'unverifiable','expectedVersion':_0x23c6ad,'installedPath':_0x5c0198[_0x5339bf(0x197)],'reason':_0x33c6ac instanceof Error?_0x33c6ac[_0x5339bf(0x1a1)]:String(_0x33c6ac),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0x4b7d98={}){const _0x12a481=a133_0x3fde5a,_0x259e2b=_0x4b7d98['packageRoot']??DEFAULT_PACKAGE_ROOT;let _0x552b4f;try{_0x552b4f=readSource(_0x259e2b);}catch(_0x416e7c){return{'state':'unverifiable','packageVersion':'unknown','reason':_0x416e7c instanceof Error?_0x416e7c['message']:String(_0x416e7c),'repairCommand':REPAIR_COMMAND};}const _0x573a4e=installedSkillPath(_0x4b7d98[_0x12a481(0x1c0)]??homedir());if(_0x573a4e[_0x12a481(0x198)]===_0x12a481(0x1b7))return{'state':_0x12a481(0x1b7),'packageVersion':_0x552b4f[_0x12a481(0x1af)],'repairCommand':REPAIR_COMMAND};if(_0x573a4e['state']===_0x12a481(0x1a3))return{'state':'unverifiable','packageVersion':_0x552b4f[_0x12a481(0x1af)],'reason':_0x573a4e[_0x12a481(0x1c1)],'repairCommand':REPAIR_COMMAND};try{const _0x4e9ba6=frontmatterValue(readFileSync(join(_0x573a4e[_0x12a481(0x197)],_0x12a481(0x1ad)),_0x12a481(0x1be)),_0x12a481(0x1c8));if(_0x4e9ba6!==_0x552b4f[_0x12a481(0x1c4)])return{'state':'version_mismatch','packageVersion':_0x552b4f[_0x12a481(0x1af)],'skillVersion':_0x4e9ba6,'installedPath':_0x573a4e['path'],'repairCommand':REPAIR_COMMAND};const _0x5ec80b=listFiles(_0x573a4e[_0x12a481(0x197)]),_0x5b3d4e=digestFiles(_0x573a4e['path'],_0x5ec80b);return{'state':sameFiles(_0x5ec80b,_0x552b4f['manifest'][_0x12a481(0x192)])&&_0x5b3d4e===_0x552b4f[_0x12a481(0x1a7)][_0x12a481(0x1cb)]?_0x12a481(0x193):_0x12a481(0x1c6),'packageVersion':_0x552b4f['packageVersion'],'skillVersion':_0x4e9ba6,'installedPath':_0x573a4e[_0x12a481(0x197)],'digest':_0x5b3d4e,'repairCommand':REPAIR_COMMAND};}catch(_0x4d17bd){return{'state':_0x12a481(0x1a3),'packageVersion':_0x552b4f[_0x12a481(0x1af)],'installedPath':_0x573a4e[_0x12a481(0x197)],'reason':_0x4d17bd instanceof Error?_0x4d17bd[_0x12a481(0x1a1)]:String(_0x4d17bd),'repairCommand':REPAIR_COMMAND};}}function a133_0x536e(){const _0x3158c3=['length','unverifiable','Installed\x20Skill\x20state\x20is\x20','version_mismatch','join','manifest','schemaVersion','absent','skipped','Unsupported\x20Skill\x20entry:\x20','parse','SKILL.md','344195QqLoTX','packageVersion','name','present','161892hXGTcC','packageRoot','lovrabet\x20cli-skill\x20install','error','isFile','missing','566363PSFouT','sha256','INSTALL_FAILED','Unsafe\x20manifest\x20path:\x20',':\x5cs*(.+)$','split','utf8','Symbolic\x20link\x20is\x20not\x20allowed:\x20','home','reason','match','SOURCE_INVALID','skillVersion','trim','content_mismatch','hex','version','installedPath','86694HUjPtg','digest','1323865qPwioq','48qtuztF','unknown','files','current','update','skills','stdio','path','state','407944IJbGYI','startsWith','VERIFY_FAILED','isSymbolicLink','root','pipe','673516OHWJnG','status','message'];a133_0x536e=function(){return _0x3158c3;};return a133_0x536e();}function failure(_0x69b333,_0x48fc49,_0x231c97,_0x8c4f05){const _0x4905a0=a133_0x3fde5a;return{'ok':![],'code':_0x69b333,'packageVersion':_0x48fc49['packageVersion'],'skillVersion':_0x48fc49[_0x4905a0(0x1c4)],'installedPath':_0x8c4f05,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x231c97 instanceof Error?_0x231c97[_0x4905a0(0x1a1)]:String(_0x231c97)};}export function installBuiltinSkill(_0x5d8085={}){const _0x2e8ed4=a133_0x3fde5a,_0x39fb47=_0x5d8085[_0x2e8ed4(0x1b3)]??DEFAULT_PACKAGE_ROOT,_0x2e7a7a=_0x5d8085[_0x2e8ed4(0x1c0)]??homedir();let _0x26c2a1;try{_0x26c2a1=readSource(_0x39fb47);}catch(_0xe2f6f7){return failure(_0x2e8ed4(0x1c3),{'packageVersion':_0x2e8ed4(0x1ce),'skillVersion':_0x2e8ed4(0x1ce)},_0xe2f6f7);}const _0x350bcb=inspectBuiltinSkill({'packageRoot':_0x39fb47,'home':_0x2e7a7a}),_0xe4e396=runNpxSkillsAddGlobal(_0x39fb47,_0x26c2a1[_0x2e8ed4(0x19d)],{'stdio':_0x5d8085[_0x2e8ed4(0x196)]??_0x2e8ed4(0x19e),'expectedSkillName':SKILL_NAME,'presence':{'home':_0x2e7a7a}});if(_0xe4e396[_0x2e8ed4(0x1aa)])return{'ok':!![],'packageVersion':_0x26c2a1[_0x2e8ed4(0x1af)],'skillVersion':_0x26c2a1['skillVersion'],'installedPath':_0x350bcb['installedPath'],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0xe4e396['ok'])return failure(_0x2e8ed4(0x1ba),_0x26c2a1,_0xe4e396[_0x2e8ed4(0x1b5)]??'skills@latest\x20exited\x20'+_0xe4e396[_0x2e8ed4(0x1a0)]);const _0x23a529=inspectBuiltinSkill({'packageRoot':_0x39fb47,'home':_0x2e7a7a});if(_0x23a529[_0x2e8ed4(0x198)]!==_0x2e8ed4(0x193))return failure(_0x2e8ed4(0x19b),_0x26c2a1,_0x23a529[_0x2e8ed4(0x1c1)]??_0x2e8ed4(0x1a4)+_0x23a529[_0x2e8ed4(0x198)],_0x23a529['installedPath']);return{'ok':!![],'packageVersion':_0x26c2a1['packageVersion'],'skillVersion':_0x26c2a1[_0x2e8ed4(0x1c4)],'installedPath':_0x23a529[_0x2e8ed4(0x1c9)],'changed':_0x350bcb[_0x2e8ed4(0x198)]!==_0x2e8ed4(0x193),'repairCommand':REPAIR_COMMAND};}
@@ -1 +1 @@
1
- const a133_0xd7660b=a133_0x42b6;function a133_0x42b6(_0x16d8a0,_0x4a0bc7){_0x16d8a0=_0x16d8a0-0xc1;const _0x1bf4ef=a133_0x1bf4();let _0x42b604=_0x1bf4ef[_0x16d8a0];return _0x42b604;}(function(_0x564f0f,_0x475b6a){const _0x26142b=a133_0x42b6,_0x312824=_0x564f0f();while(!![]){try{const _0x302349=-parseInt(_0x26142b(0xc9))/0x1+parseInt(_0x26142b(0xf4))/0x2*(parseInt(_0x26142b(0xc8))/0x3)+parseInt(_0x26142b(0xee))/0x4*(-parseInt(_0x26142b(0xf1))/0x5)+parseInt(_0x26142b(0xc1))/0x6*(parseInt(_0x26142b(0xf2))/0x7)+-parseInt(_0x26142b(0xc5))/0x8*(parseInt(_0x26142b(0xdd))/0x9)+-parseInt(_0x26142b(0xc2))/0xa*(parseInt(_0x26142b(0xd7))/0xb)+-parseInt(_0x26142b(0xdc))/0xc*(-parseInt(_0x26142b(0xce))/0xd);if(_0x302349===_0x475b6a)break;else _0x312824['push'](_0x312824['shift']());}catch(_0x33bd26){_0x312824['push'](_0x312824['shift']());}}}(a133_0x1bf4,0x81aff));import{spawnSync}from'node:child_process';import{resolveNpmBin}from'../utils/platform.js';import{LOVRABET_SKILL_SOURCE as a133_0x26f90f}from'../constant/distribution.js';import{PRODUCT_CONFIG,productEnvName}from'../constant/product.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';export const LOVRABET_SKILL_SOURCE=a133_0x26f90f;export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG['internalSkillSource'];export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG[a133_0xd7660b(0xcf)];export function resolveGlobalSkillName(_0x588b95){switch(_0x588b95['trim']()){case LOVRABET_SKILL_SOURCE:case LOVRABET_SKILL_GIT_SOURCE:return LOVRABET_GLOBAL_SKILL_NAME;default:return undefined;}}export const LOVRABET_SKIP_NPX_SKILLS_ENV=productEnvName(PRODUCT_CONFIG[a133_0xd7660b(0xde)]);const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function failure(_0x2d390f,_0x549918,_0x33d536){return{'ok':![],'status':_0x549918,'code':_0x2d390f,'error':'['+_0x2d390f+']\x20'+_0x33d536};}function a133_0x1bf4(){const _0x27ec0c=['5227677fiSMKk','skipNpxSkillsEnvSuffix','error','code','stdout','match','!\x20Could\x20not\x20verify\x20\x22','trim','npx','NPM_CONFIG_GLOBAL','CHILD_TERMINATED','present','unknown','exit\x20','state','\x20failed\x20target(s)','INSTALL_PARTIAL','119164jKPXdT','join','SKILL_NOT_INSTALLED','5GIDkYU','28ifyIBZ','add','16084QUuiBa','EACCES','Skill\x20\x22','466350lIiLwk','1392410qepZAs','unverifiable','stderr','8ZDtxmN','expectedSkillName','toString','18qsTPIE','700287SanBFE','absent','message','signal','stdio','923KQjNhJ','globalSkillName','log','pipe','checked','PERMISSION_DENIED','filter','\x22\x20install\x20state:\x20','npm_config_global','77JNNJBq','status','npx\x20terminated\x20by\x20signal\x20','\x22\x20not\x20found\x20after\x20install\x20(checked\x20','warn','415380aXGDOr'];a133_0x1bf4=function(){return _0x27ec0c;};return a133_0x1bf4();}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}export function runNpxSkillsAddGlobal(_0x12e6ce,_0x4338a5=LOVRABET_SKILL_SOURCE,_0x212141){const _0x8cf0b7=a133_0xd7660b;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x4c0633=resolveNpmBin(_0x8cf0b7(0xe5)),_0x520d35=['-y','skills@latest',_0x8cf0b7(0xf3),_0x4338a5,'-g','-y'],_0x25aa8b=[_0x4c0633,..._0x520d35][_0x8cf0b7(0xef)]('\x20');console[_0x8cf0b7(0xd0)]('*\x20'+_0x25aa8b);const _0x44b7db={...process.env};delete _0x44b7db[_0x8cf0b7(0xd6)],delete _0x44b7db[_0x8cf0b7(0xe6)];const _0x48aaeb=spawnSync(_0x4c0633,_0x520d35,{'cwd':_0x12e6ce,'stdio':_0x8cf0b7(0xd1),'env':_0x44b7db,'shell':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x3e0bdc=[_0x48aaeb[_0x8cf0b7(0xe1)]?_0x48aaeb['stdout']['toString']():'',_0x48aaeb['stderr']?_0x48aaeb[_0x8cf0b7(0xc4)][_0x8cf0b7(0xc7)]():''][_0x8cf0b7(0xd4)](Boolean)[_0x8cf0b7(0xef)]('\x0a')[_0x8cf0b7(0xe4)]();_0x212141?.[_0x8cf0b7(0xcd)]!==_0x8cf0b7(0xd1)&&_0x3e0bdc&&console['log'](_0x3e0bdc);if(_0x48aaeb[_0x8cf0b7(0xdf)]){const _0x149618=_0x48aaeb[_0x8cf0b7(0xdf)],_0x36775c=_0x149618[_0x8cf0b7(0xe0)]==='ENOENT'?'NPX_NOT_FOUND':_0x149618[_0x8cf0b7(0xe0)]==='EPERM'||_0x149618[_0x8cf0b7(0xe0)]===_0x8cf0b7(0xf5)?_0x8cf0b7(0xd3):'SPAWN_FAILED';return failure(_0x36775c,_0x48aaeb['status'],_0x149618[_0x8cf0b7(0xcb)]);}if(_0x48aaeb[_0x8cf0b7(0xcc)])return failure(_0x8cf0b7(0xe7),_0x48aaeb['status'],_0x8cf0b7(0xd9)+_0x48aaeb['signal']);if(_0x48aaeb[_0x8cf0b7(0xd8)]!==0x0)return failure('CHILD_EXIT_NONZERO',_0x48aaeb[_0x8cf0b7(0xd8)],_0x3e0bdc||_0x8cf0b7(0xea)+(_0x48aaeb['status']??_0x8cf0b7(0xe9)));const _0x3ec915=_0x212141?.[_0x8cf0b7(0xc6)]??resolveGlobalSkillName(_0x4338a5),_0x14b22c=_0x3ec915?resolveInstalledSkill(_0x3ec915,_0x212141?.['presence']):undefined,_0x30eb59=_0x3e0bdc[_0x8cf0b7(0xe2)](/Failed to install\s+(\d+)/i);if(_0x30eb59&&Number(_0x30eb59[0x1])>0x0){const _0x19f220='Installer\x20reported\x20'+_0x30eb59[0x1]+_0x8cf0b7(0xec)+(_0x3e0bdc?':\x0a'+_0x3e0bdc:'');if(_0x14b22c?.['state']===_0x8cf0b7(0xe8))return console[_0x8cf0b7(0xdb)]('!\x20'+_0x19f220),{'ok':!![],'status':0x0};return failure(_0x8cf0b7(0xed),0x0,_0x19f220);}if(_0x3ec915&&_0x14b22c){if(_0x14b22c[_0x8cf0b7(0xeb)]===_0x8cf0b7(0xca))return failure(_0x8cf0b7(0xf0),0x0,_0x8cf0b7(0xf6)+_0x3ec915+_0x8cf0b7(0xda)+_0x14b22c[_0x8cf0b7(0xd2)]['join'](',\x20')+')');_0x14b22c[_0x8cf0b7(0xeb)]===_0x8cf0b7(0xc3)&&console[_0x8cf0b7(0xdb)](_0x8cf0b7(0xe3)+_0x3ec915+_0x8cf0b7(0xd5)+_0x14b22c['reason']);}return{'ok':!![],'status':0x0};}
1
+ const a134_0x41b1cd=a134_0x1efd;(function(_0x4caa43,_0xfd36b3){const _0x4ee120=a134_0x1efd,_0x287637=_0x4caa43();while(!![]){try{const _0xf470bd=-parseInt(_0x4ee120(0x14a))/0x1*(-parseInt(_0x4ee120(0x142))/0x2)+parseInt(_0x4ee120(0x145))/0x3*(-parseInt(_0x4ee120(0x143))/0x4)+parseInt(_0x4ee120(0x139))/0x5*(-parseInt(_0x4ee120(0x157))/0x6)+parseInt(_0x4ee120(0x141))/0x7*(-parseInt(_0x4ee120(0x13e))/0x8)+-parseInt(_0x4ee120(0x13c))/0x9*(parseInt(_0x4ee120(0x132))/0xa)+parseInt(_0x4ee120(0x146))/0xb*(parseInt(_0x4ee120(0x15c))/0xc)+parseInt(_0x4ee120(0x14d))/0xd;if(_0xf470bd===_0xfd36b3)break;else _0x287637['push'](_0x287637['shift']());}catch(_0x2f2a29){_0x287637['push'](_0x287637['shift']());}}}(a134_0x4f1d,0xe804e));import{spawnSync}from'node:child_process';import{resolveNpmBin}from'../utils/platform.js';import{LOVRABET_SKILL_SOURCE as a134_0x40bd9c}from'../constant/distribution.js';import{PRODUCT_CONFIG,productEnvName}from'../constant/product.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';export const LOVRABET_SKILL_SOURCE=a134_0x40bd9c;function a134_0x1efd(_0x1dc422,_0x55ff35){_0x1dc422=_0x1dc422-0x12a;const _0x4f1d2f=a134_0x4f1d();let _0x1efd81=_0x4f1d2f[_0x1dc422];return _0x1efd81;}function a134_0x4f1d(){const _0x8cb9b=['EPERM','Skill\x20\x22','filter','CHILD_TERMINATED','ENOENT','NPX_NOT_FOUND','expectedSkillName','1722IXgKPb','code','unknown','state','!\x20Could\x20not\x20verify\x20\x22','12yWuwHa','\x20failed\x20target(s)','log','internalSkillSource','SKILL_NOT_INSTALLED','absent','Installer\x20reported\x20','npm_config_global','SPAWN_FAILED','toString','skipNpxSkillsEnvSuffix','2810AKbdJf','warn','present','stdio','status','EACCES','presence','13085qisSEw','unverifiable','message','32274saUbZi','pipe','24fkMrkl','stderr','CHILD_EXIT_NONZERO','158683ztBSwy','28rkBhQT','3521732JfWMGP','\x22\x20install\x20state:\x20','3BHTJCn','6408919pufuuk','checked','INSTALL_PARTIAL','globalSkillName','28165mjERDd','NPM_CONFIG_GLOBAL','signal','34847748ujhQRa','error','join'];a134_0x4f1d=function(){return _0x8cb9b;};return a134_0x4f1d();}export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG[a134_0x41b1cd(0x12a)];export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG[a134_0x41b1cd(0x149)];export function resolveGlobalSkillName(_0x1bb0e3){switch(_0x1bb0e3['trim']()){case LOVRABET_SKILL_SOURCE:case LOVRABET_SKILL_GIT_SOURCE:return LOVRABET_GLOBAL_SKILL_NAME;default:return undefined;}}export const LOVRABET_SKIP_NPX_SKILLS_ENV=productEnvName(PRODUCT_CONFIG[a134_0x41b1cd(0x131)]);const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function failure(_0x8760e1,_0x4fd872,_0x43eb2f){return{'ok':![],'status':_0x4fd872,'code':_0x8760e1,'error':'['+_0x8760e1+']\x20'+_0x43eb2f};}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}export function runNpxSkillsAddGlobal(_0x57e5d3,_0x46be87=LOVRABET_SKILL_SOURCE,_0x49eeeb){const _0x180c6c=a134_0x41b1cd;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x1dad8e=resolveNpmBin('npx'),_0xcf3736=['-y','skills@latest','add',_0x46be87,'-g','-y'],_0x44c6b8=[_0x1dad8e,..._0xcf3736][_0x180c6c(0x14f)]('\x20');console[_0x180c6c(0x15e)]('*\x20'+_0x44c6b8);const _0x53e156={...process.env};delete _0x53e156[_0x180c6c(0x12e)],delete _0x53e156[_0x180c6c(0x14b)];const _0x595033=spawnSync(_0x1dad8e,_0xcf3736,{'cwd':_0x57e5d3,'stdio':_0x180c6c(0x13d),'env':_0x53e156,'shell':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x410bd4=[_0x595033['stdout']?_0x595033['stdout'][_0x180c6c(0x130)]():'',_0x595033[_0x180c6c(0x13f)]?_0x595033[_0x180c6c(0x13f)]['toString']():''][_0x180c6c(0x152)](Boolean)[_0x180c6c(0x14f)]('\x0a')['trim']();_0x49eeeb?.[_0x180c6c(0x135)]!==_0x180c6c(0x13d)&&_0x410bd4&&console[_0x180c6c(0x15e)](_0x410bd4);if(_0x595033[_0x180c6c(0x14e)]){const _0x486b4f=_0x595033[_0x180c6c(0x14e)],_0x28fbc6=_0x486b4f['code']===_0x180c6c(0x154)?_0x180c6c(0x155):_0x486b4f[_0x180c6c(0x158)]===_0x180c6c(0x150)||_0x486b4f['code']===_0x180c6c(0x137)?'PERMISSION_DENIED':_0x180c6c(0x12f);return failure(_0x28fbc6,_0x595033['status'],_0x486b4f[_0x180c6c(0x13b)]);}if(_0x595033[_0x180c6c(0x14c)])return failure(_0x180c6c(0x153),_0x595033['status'],'npx\x20terminated\x20by\x20signal\x20'+_0x595033[_0x180c6c(0x14c)]);if(_0x595033[_0x180c6c(0x136)]!==0x0)return failure(_0x180c6c(0x140),_0x595033[_0x180c6c(0x136)],_0x410bd4||'exit\x20'+(_0x595033[_0x180c6c(0x136)]??_0x180c6c(0x159)));const _0x103cdd=_0x49eeeb?.[_0x180c6c(0x156)]??resolveGlobalSkillName(_0x46be87),_0x1a49bd=_0x103cdd?resolveInstalledSkill(_0x103cdd,_0x49eeeb?.[_0x180c6c(0x138)]):undefined,_0x10dc92=_0x410bd4['match'](/Failed to install\s+(\d+)/i);if(_0x10dc92&&Number(_0x10dc92[0x1])>0x0){const _0x3c49c7=_0x180c6c(0x12d)+_0x10dc92[0x1]+_0x180c6c(0x15d)+(_0x410bd4?':\x0a'+_0x410bd4:'');if(_0x1a49bd?.[_0x180c6c(0x15a)]===_0x180c6c(0x134))return console[_0x180c6c(0x133)]('!\x20'+_0x3c49c7),{'ok':!![],'status':0x0};return failure(_0x180c6c(0x148),0x0,_0x3c49c7);}if(_0x103cdd&&_0x1a49bd){if(_0x1a49bd[_0x180c6c(0x15a)]===_0x180c6c(0x12c))return failure(_0x180c6c(0x12b),0x0,_0x180c6c(0x151)+_0x103cdd+'\x22\x20not\x20found\x20after\x20install\x20(checked\x20'+_0x1a49bd[_0x180c6c(0x147)][_0x180c6c(0x14f)](',\x20')+')');_0x1a49bd[_0x180c6c(0x15a)]===_0x180c6c(0x13a)&&console[_0x180c6c(0x133)](_0x180c6c(0x15b)+_0x103cdd+_0x180c6c(0x144)+_0x1a49bd['reason']);}return{'ok':!![],'status':0x0};}
@@ -1 +1 @@
1
- const a134_0x559e2e=a134_0x2ff1;function a134_0x2271(){const _0x1634ab=['12AjWJfz','.next','839249Pcxoyl','77aIEcxS','.hg','.DS_Store','.turbo','SKILL.md','.git','5797745lLWvJj','lovrabet.skill.json','build','.cache','.svn','885672PcuRCT','dist','2393262mAyGdE','node_modules','7902054tXHxQN','497151WqAytu','coverage','1504776HXYcUf'];a134_0x2271=function(){return _0x1634ab;};return a134_0x2271();}function a134_0x2ff1(_0x539be3,_0x42ba9b){_0x539be3=_0x539be3-0x1a4;const _0x227154=a134_0x2271();let _0x2ff10a=_0x227154[_0x539be3];return _0x2ff10a;}(function(_0x20be9f,_0x49b002){const _0x3cddfe=a134_0x2ff1,_0x5679c6=_0x20be9f();while(!![]){try{const _0x5612b3=-parseInt(_0x3cddfe(0x1b7))/0x1+-parseInt(_0x3cddfe(0x1b5))/0x2*(-parseInt(_0x3cddfe(0x1b2))/0x3)+-parseInt(_0x3cddfe(0x1b4))/0x4+parseInt(_0x3cddfe(0x1a8))/0x5+parseInt(_0x3cddfe(0x1b1))/0x6+parseInt(_0x3cddfe(0x1b8))/0x7*(-parseInt(_0x3cddfe(0x1ad))/0x8)+-parseInt(_0x3cddfe(0x1af))/0x9;if(_0x5612b3===_0x49b002)break;else _0x5679c6['push'](_0x5679c6['shift']());}catch(_0x2d8e96){_0x5679c6['push'](_0x5679c6['shift']());}}}(a134_0x2271,0xbc674));export const METADATA_FILE=a134_0x559e2e(0x1a9);export const SKILL_FILE=a134_0x559e2e(0x1a6);export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,a134_0x559e2e(0x1a4)]);export const IGNORED_DIR_NAMES=new Set([a134_0x559e2e(0x1a7),a134_0x559e2e(0x1b9),a134_0x559e2e(0x1ac),a134_0x559e2e(0x1b0),a134_0x559e2e(0x1b6),a134_0x559e2e(0x1ae),a134_0x559e2e(0x1aa),a134_0x559e2e(0x1b3),a134_0x559e2e(0x1a5),a134_0x559e2e(0x1ab)]);
1
+ const a135_0x2d4ed1=a135_0x8fdc;(function(_0x3aa2a2,_0x53b948){const _0x2e01d6=a135_0x8fdc,_0x5b4590=_0x3aa2a2();while(!![]){try{const _0xb5d7a1=-parseInt(_0x2e01d6(0xdd))/0x1+parseInt(_0x2e01d6(0xd0))/0x2+-parseInt(_0x2e01d6(0xdc))/0x3*(-parseInt(_0x2e01d6(0xd2))/0x4)+-parseInt(_0x2e01d6(0xd9))/0x5*(parseInt(_0x2e01d6(0xce))/0x6)+-parseInt(_0x2e01d6(0xd8))/0x7*(-parseInt(_0x2e01d6(0xd3))/0x8)+parseInt(_0x2e01d6(0xd7))/0x9+-parseInt(_0x2e01d6(0xcc))/0xa*(-parseInt(_0x2e01d6(0xcd))/0xb);if(_0xb5d7a1===_0x53b948)break;else _0x5b4590['push'](_0x5b4590['shift']());}catch(_0x388b84){_0x5b4590['push'](_0x5b4590['shift']());}}}(a135_0x4f1e,0xefe57));export const METADATA_FILE='lovrabet.skill.json';export const SKILL_FILE=a135_0x2d4ed1(0xd1);function a135_0x8fdc(_0x108ea5,_0x1ecdee){_0x108ea5=_0x108ea5-0xcc;const _0x4f1e87=a135_0x4f1e();let _0x8fdcaf=_0x4f1e87[_0x108ea5];return _0x8fdcaf;}export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,a135_0x2d4ed1(0xd5)]);export const IGNORED_DIR_NAMES=new Set([a135_0x2d4ed1(0xda),a135_0x2d4ed1(0xdb),a135_0x2d4ed1(0xd4),a135_0x2d4ed1(0xcf),a135_0x2d4ed1(0xdf),a135_0x2d4ed1(0xd6),a135_0x2d4ed1(0xde),'coverage','.turbo','.cache']);function a135_0x4f1e(){const _0x369392=['99UMRNuC','10740192JivCQd','node_modules','3907672MgmTvL','SKILL.md','16076XzEwcO','8cbRnOE','.svn','.DS_Store','dist','604278EDlRDL','8520134YSWoSS','5XQiyhB','.git','.hg','3bdldPJ','1272546aXdPiO','build','.next','892260HcjgSC'];a135_0x4f1e=function(){return _0x369392;};return a135_0x4f1e();}
@@ -1 +1 @@
1
- (function(_0x3d8862,_0x300a22){const _0x2c1b15=a135_0x7dba,_0x49d4c8=_0x3d8862();while(!![]){try{const _0xff56d7=parseInt(_0x2c1b15(0x1f3))/0x1*(-parseInt(_0x2c1b15(0x1ee))/0x2)+parseInt(_0x2c1b15(0x1e9))/0x3+-parseInt(_0x2c1b15(0x1f2))/0x4*(-parseInt(_0x2c1b15(0x1fd))/0x5)+-parseInt(_0x2c1b15(0x1ec))/0x6+-parseInt(_0x2c1b15(0x1f6))/0x7*(parseInt(_0x2c1b15(0x1f0))/0x8)+parseInt(_0x2c1b15(0x1eb))/0x9*(parseInt(_0x2c1b15(0x1fa))/0xa)+parseInt(_0x2c1b15(0x1fe))/0xb;if(_0xff56d7===_0x300a22)break;else _0x49d4c8['push'](_0x49d4c8['shift']());}catch(_0x27185d){_0x49d4c8['push'](_0x49d4c8['shift']());}}}(a135_0x4b2f,0x6c031));import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';function a135_0x4b2f(){const _0x55a697=['1635237VrnQLN','2847228gLEaOO','endsWith','86kcHPsd','validation','32ejqRtz','.tmp','4moVvbp','12093mFNxYG','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','from','171794bCtYOn','startsWith','utf8','stringify','20VFLfuO','Unsafe\x20Skill\x20file\x20path:\x20','isSymbolicLink','849025RfYVcY','9399269KtkJVm','442356WIXfoZ','split'];a135_0x4b2f=function(){return _0x55a697;};return a135_0x4b2f();}import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x53a1cb,_0x517c48){const _0x1f475e=a135_0x7dba,_0x347714=normalizeSkillRelativePath(_0x517c48),_0x434668=realOrResolved(_0x53a1cb),_0x29cea4=resolve(_0x434668,..._0x347714[_0x1f475e(0x1ea)]('/'));if(!isPathInside(_0x29cea4,_0x434668))throw CliErrors[_0x1f475e(0x1ef)](_0x1f475e(0x1fb)+_0x517c48);return ensureNoSymlinkInManagedPath(_0x434668,_0x347714),_0x29cea4;}function a135_0x7dba(_0x110284,_0x378030){_0x110284=_0x110284-0x1e9;const _0x4b2f3d=a135_0x4b2f();let _0x7dba3d=_0x4b2f3d[_0x110284];return _0x7dba3d;}export function ensureNoSymlinkInManagedPath(_0x56629d,_0x446417){const _0x10f155=a135_0x7dba;let _0x2a8a8c=_0x56629d;for(const _0x2b2350 of _0x446417[_0x10f155(0x1ea)]('/')){_0x2a8a8c=resolve(_0x2a8a8c,_0x2b2350);const _0x2c9162=lstatIfPresent(_0x2a8a8c);if(_0x2c9162?.['isSymbolicLink']())throw CliErrors[_0x10f155(0x1ef)](_0x10f155(0x1f4)+_0x446417);}}export function isDanglingSymlink(_0x3890bb){const _0x5ae033=a135_0x7dba;try{return lstatSync(_0x3890bb)[_0x5ae033(0x1fc)]();}catch{return![];}}export function resolveSymlinkTarget(_0xc12404){const _0x5a0bcc=readlinkSync(_0xc12404);return isAbsolute(_0x5a0bcc)?_0x5a0bcc:resolve(dirname(_0xc12404),_0x5a0bcc);}export function isPathInside(_0x3a81c9,_0x19fe71){const _0x12b61d=a135_0x7dba,_0x3dad42=_0x3a81c9[_0x12b61d(0x1ed)](sep)?_0x3a81c9:''+_0x3a81c9+sep,_0x4839a8=_0x19fe71[_0x12b61d(0x1ed)](sep)?_0x19fe71:''+_0x19fe71+sep;return _0x3a81c9===_0x19fe71||_0x3dad42[_0x12b61d(0x1f7)](_0x4839a8);}export function realOrResolved(_0x319afb){try{return realpathSync(_0x319afb);}catch{return resolve(_0x319afb);}}export function lstatIfPresent(_0xdf2bcc){try{return lstatSync(_0xdf2bcc);}catch{return undefined;}}export function writeTextAtomic(_0x1249bf,_0x5807e9,_0x1f1b5a){const _0x403c5a=a135_0x7dba;writeBytesAtomic(_0x1249bf,Buffer[_0x403c5a(0x1f5)](_0x5807e9,_0x403c5a(0x1f8)),_0x1f1b5a);}export function writeBytesAtomic(_0x11695a,_0x570f01,_0xf003e2){const _0x1bd6b9=a135_0x7dba,_0x1489f8=_0x11695a+_0x1bd6b9(0x1f1);try{writeFileSync(_0x1489f8,_0x570f01,{'mode':_0xf003e2}),renameSync(_0x1489f8,_0x11695a);}catch(_0x14d1b0){try{rmSync(_0x1489f8,{'force':!![]});}catch{}throw _0x14d1b0;}}export function writeJsonAtomic(_0x20e0c6,_0x28d7e3){const _0x419de4=a135_0x7dba;writeTextAtomic(_0x20e0c6,JSON[_0x419de4(0x1f9)](_0x28d7e3,null,0x2)+'\x0a',0x180);}
1
+ (function(_0x1c7327,_0x52b79b){const _0x973f90=a136_0x53a6,_0x815784=_0x1c7327();while(!![]){try{const _0x1ffd6b=parseInt(_0x973f90(0xaf))/0x1*(parseInt(_0x973f90(0xb5))/0x2)+parseInt(_0x973f90(0xab))/0x3*(-parseInt(_0x973f90(0xac))/0x4)+parseInt(_0x973f90(0xa6))/0x5*(parseInt(_0x973f90(0xad))/0x6)+parseInt(_0x973f90(0xa5))/0x7*(-parseInt(_0x973f90(0xb4))/0x8)+-parseInt(_0x973f90(0xb3))/0x9+parseInt(_0x973f90(0xb7))/0xa+parseInt(_0x973f90(0xb8))/0xb*(parseInt(_0x973f90(0xa8))/0xc);if(_0x1ffd6b===_0x52b79b)break;else _0x815784['push'](_0x815784['shift']());}catch(_0x2f0c85){_0x815784['push'](_0x815784['shift']());}}}(a136_0x4a5b,0xcbe77));import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';function a136_0x53a6(_0x4ee0b7,_0x4784ae){_0x4ee0b7=_0x4ee0b7-0xa3;const _0x4a5b66=a136_0x4a5b();let _0x53a679=_0x4a5b66[_0x4ee0b7];return _0x53a679;}import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x155b57,_0x5d4282){const _0x5c54cf=a136_0x53a6,_0x713c8e=normalizeSkillRelativePath(_0x5d4282),_0x1ffbbf=realOrResolved(_0x155b57),_0x17448a=resolve(_0x1ffbbf,..._0x713c8e[_0x5c54cf(0xb6)]('/'));if(!isPathInside(_0x17448a,_0x1ffbbf))throw CliErrors[_0x5c54cf(0xaa)](_0x5c54cf(0xa3)+_0x5d4282);return ensureNoSymlinkInManagedPath(_0x1ffbbf,_0x713c8e),_0x17448a;}export function ensureNoSymlinkInManagedPath(_0x484874,_0x3284b8){const _0x482501=a136_0x53a6;let _0x4921c2=_0x484874;for(const _0x58165d of _0x3284b8[_0x482501(0xb6)]('/')){_0x4921c2=resolve(_0x4921c2,_0x58165d);const _0x4bf0b9=lstatIfPresent(_0x4921c2);if(_0x4bf0b9?.[_0x482501(0xa9)]())throw CliErrors[_0x482501(0xaa)](_0x482501(0xa7)+_0x3284b8);}}function a136_0x4a5b(){const _0x4d1a7f=['349789YUyaYE','Unsafe\x20Skill\x20file\x20path:\x20','stringify','7XPhTXv','49145uANgMK','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','636lFeVoZ','isSymbolicLink','validation','742701BAAapN','12CJALNq','6ePAlIY','utf8','2yQHZhT','endsWith','from','.tmp','2870793lXZqxs','12515896NWnzhE','494786eAensp','split','12713940wvTBwA'];a136_0x4a5b=function(){return _0x4d1a7f;};return a136_0x4a5b();}export function isDanglingSymlink(_0x1c9da8){const _0x4fab8b=a136_0x53a6;try{return lstatSync(_0x1c9da8)[_0x4fab8b(0xa9)]();}catch{return![];}}export function resolveSymlinkTarget(_0xf5acb0){const _0x46f694=readlinkSync(_0xf5acb0);return isAbsolute(_0x46f694)?_0x46f694:resolve(dirname(_0xf5acb0),_0x46f694);}export function isPathInside(_0x1ed3ae,_0x43d283){const _0x105c4e=a136_0x53a6,_0x3e5246=_0x1ed3ae[_0x105c4e(0xb0)](sep)?_0x1ed3ae:''+_0x1ed3ae+sep,_0x466168=_0x43d283[_0x105c4e(0xb0)](sep)?_0x43d283:''+_0x43d283+sep;return _0x1ed3ae===_0x43d283||_0x3e5246['startsWith'](_0x466168);}export function realOrResolved(_0x4a5579){try{return realpathSync(_0x4a5579);}catch{return resolve(_0x4a5579);}}export function lstatIfPresent(_0x5c19ce){try{return lstatSync(_0x5c19ce);}catch{return undefined;}}export function writeTextAtomic(_0x7458f0,_0x4c8bc4,_0x19260c){const _0x5b1de9=a136_0x53a6;writeBytesAtomic(_0x7458f0,Buffer[_0x5b1de9(0xb1)](_0x4c8bc4,_0x5b1de9(0xae)),_0x19260c);}export function writeBytesAtomic(_0x5610ac,_0x5267de,_0x66294f){const _0x561f19=a136_0x53a6,_0x43434f=_0x5610ac+_0x561f19(0xb2);try{writeFileSync(_0x43434f,_0x5267de,{'mode':_0x66294f}),renameSync(_0x43434f,_0x5610ac);}catch(_0x58caab){try{rmSync(_0x43434f,{'force':!![]});}catch{}throw _0x58caab;}}export function writeJsonAtomic(_0x4c1a52,_0x2e0c84){const _0x1be5b2=a136_0x53a6;writeTextAtomic(_0x4c1a52,JSON[_0x1be5b2(0xa4)](_0x2e0c84,null,0x2)+'\x0a',0x180);}
@@ -1 +1 @@
1
- (function(_0x5cb072,_0x40baf3){const _0x4181b9=a136_0x17f4,_0x5cdd09=_0x5cb072();while(!![]){try{const _0x5e5f58=parseInt(_0x4181b9(0xf2))/0x1+-parseInt(_0x4181b9(0xe4))/0x2*(-parseInt(_0x4181b9(0xf4))/0x3)+-parseInt(_0x4181b9(0xeb))/0x4*(-parseInt(_0x4181b9(0xf0))/0x5)+-parseInt(_0x4181b9(0xe8))/0x6*(parseInt(_0x4181b9(0xe9))/0x7)+-parseInt(_0x4181b9(0xef))/0x8+parseInt(_0x4181b9(0xec))/0x9*(parseInt(_0x4181b9(0xee))/0xa)+-parseInt(_0x4181b9(0xea))/0xb;if(_0x5e5f58===_0x40baf3)break;else _0x5cdd09['push'](_0x5cdd09['shift']());}catch(_0x46f908){_0x5cdd09['push'](_0x5cdd09['shift']());}}}(a136_0x87db,0xea5b1));import{createHash}from'node:crypto';import{fileContent,normalizeManifestFiles}from'./local-files.js';function a136_0x17f4(_0x771dc6,_0x343169){_0x771dc6=_0x771dc6-0xe4;const _0x87db81=a136_0x87db();let _0x17f416=_0x87db81[_0x771dc6];return _0x17f416;}export function contentHash(_0x577fec){const _0x5a4cb3=a136_0x17f4;return createHash(_0x5a4cb3(0xe6))[_0x5a4cb3(0xed)](_0x577fec)[_0x5a4cb3(0xf3)](_0x5a4cb3(0xe7));}export function fileHash(_0x3634b0){return bufferSha256(fileContent(_0x3634b0));}function a136_0x87db(){const _0x195cd6=['digest','33yaYdYf','128846EvttlF','path','sha256','hex','3672534ohzEyi','7QoLkCW','12208075WSuYth','60508yHkJAx','9JWVUvH','update','16973130GgJBST','11901168AryZuj','260WSKOyP','size','976911HrnbtT'];a136_0x87db=function(){return _0x195cd6;};return a136_0x87db();}export function bufferSha256(_0x49c9fe){const _0x52663e=a136_0x17f4;return createHash('sha256')[_0x52663e(0xed)](_0x49c9fe)[_0x52663e(0xf3)]('hex');}export function fileTreeHash(_0xedfc31){const _0x587bf4=a136_0x17f4,_0x45ef73=createHash('sha256');for(const _0x1f84af of normalizeManifestFiles(_0xedfc31)){_0x45ef73[_0x587bf4(0xed)](_0x1f84af[_0x587bf4(0xe5)]),_0x45ef73['update']('\x00'),_0x45ef73[_0x587bf4(0xed)](_0x1f84af[_0x587bf4(0xe6)]),_0x45ef73[_0x587bf4(0xed)]('\x00'),_0x45ef73['update'](String(_0x1f84af[_0x587bf4(0xf1)])),_0x45ef73[_0x587bf4(0xed)]('\x00');}return _0x45ef73[_0x587bf4(0xf3)]('hex');}
1
+ (function(_0x36555d,_0x3b3640){const _0x310b15=a137_0x70d3,_0x2ffc29=_0x36555d();while(!![]){try{const _0x1ef552=-parseInt(_0x310b15(0x19d))/0x1+-parseInt(_0x310b15(0x198))/0x2*(parseInt(_0x310b15(0x19f))/0x3)+parseInt(_0x310b15(0x1a6))/0x4+parseInt(_0x310b15(0x1a3))/0x5*(parseInt(_0x310b15(0x1a4))/0x6)+-parseInt(_0x310b15(0x196))/0x7*(-parseInt(_0x310b15(0x195))/0x8)+-parseInt(_0x310b15(0x19a))/0x9*(parseInt(_0x310b15(0x1a2))/0xa)+-parseInt(_0x310b15(0x1a5))/0xb*(-parseInt(_0x310b15(0x199))/0xc);if(_0x1ef552===_0x3b3640)break;else _0x2ffc29['push'](_0x2ffc29['shift']());}catch(_0x5c339c){_0x2ffc29['push'](_0x2ffc29['shift']());}}}(a137_0xb7df,0xc4a2e));function a137_0x70d3(_0x49cd0d,_0x3701fd){_0x49cd0d=_0x49cd0d-0x195;const _0xb7df61=a137_0xb7df();let _0x70d397=_0xb7df61[_0x49cd0d];return _0x70d397;}import{createHash}from'node:crypto';import{fileContent,normalizeManifestFiles}from'./local-files.js';export function contentHash(_0x4586a8){const _0x2d5695=a137_0x70d3;return createHash('sha256')[_0x2d5695(0x197)](_0x4586a8)[_0x2d5695(0x19e)](_0x2d5695(0x19c));}export function fileHash(_0x407fef){return bufferSha256(fileContent(_0x407fef));}export function bufferSha256(_0x5aaec2){const _0x4ce0ed=a137_0x70d3;return createHash('sha256')[_0x4ce0ed(0x197)](_0x5aaec2)[_0x4ce0ed(0x19e)]('hex');}function a137_0xb7df(){const _0x3fa699=['4351041dTEuFb','size','path','28240QHLJKe','15DZjNPc','2349300MAHNoy','11Tjkhyx','247652LdCgoa','88iRoRti','364350JRLnGN','update','2YAnVEB','24994452nLNJzb','1233MUMQbx','sha256','hex','1249327TnnVgR','digest'];a137_0xb7df=function(){return _0x3fa699;};return a137_0xb7df();}export function fileTreeHash(_0x374b5b){const _0x4e91b3=a137_0x70d3,_0x2c961a=createHash(_0x4e91b3(0x19b));for(const _0x27a5f1 of normalizeManifestFiles(_0x374b5b)){_0x2c961a[_0x4e91b3(0x197)](_0x27a5f1[_0x4e91b3(0x1a1)]),_0x2c961a[_0x4e91b3(0x197)]('\x00'),_0x2c961a[_0x4e91b3(0x197)](_0x27a5f1[_0x4e91b3(0x19b)]),_0x2c961a[_0x4e91b3(0x197)]('\x00'),_0x2c961a[_0x4e91b3(0x197)](String(_0x27a5f1[_0x4e91b3(0x1a0)])),_0x2c961a[_0x4e91b3(0x197)]('\x00');}return _0x2c961a[_0x4e91b3(0x19e)](_0x4e91b3(0x19c));}
@@ -1 +1 @@
1
- const a137_0xc26423=a137_0x1cf6;(function(_0x4ee45e,_0x2784e7){const _0x5f20a8=a137_0x1cf6,_0x52e966=_0x4ee45e();while(!![]){try{const _0x5c3cf3=parseInt(_0x5f20a8(0x10d))/0x1*(-parseInt(_0x5f20a8(0xff))/0x2)+-parseInt(_0x5f20a8(0x109))/0x3+-parseInt(_0x5f20a8(0x10e))/0x4*(-parseInt(_0x5f20a8(0x100))/0x5)+-parseInt(_0x5f20a8(0x10c))/0x6+parseInt(_0x5f20a8(0x103))/0x7*(-parseInt(_0x5f20a8(0xfe))/0x8)+parseInt(_0x5f20a8(0x102))/0x9+parseInt(_0x5f20a8(0x104))/0xa*(parseInt(_0x5f20a8(0x107))/0xb);if(_0x5c3cf3===_0x2784e7)break;else _0x52e966['push'](_0x52e966['shift']());}catch(_0x1f1b23){_0x52e966['push'](_0x52e966['shift']());}}}(a137_0x4428,0x34a78));import{resolve}from'node:path';function a137_0x1cf6(_0xc16e76,_0x333b2e){_0xc16e76=_0xc16e76-0xfe;const _0x442896=a137_0x4428();let _0x1cf636=_0x442896[_0xc16e76];return _0x1cf636;}import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';function a137_0x4428(){const _0x253c30=['freeze','2812923wgPKhK','2114tWaYVd','10uvofKK','.agents','global','9291238ciHQDz','skills','30903NabYtg','appCode','project','2511714LrVlZn','10DeMoNT','10732JVrBRH','cwd','7064cNNNuD','81922TYSiZR','305dqQcsg'];a137_0x4428=function(){return _0x253c30;};return a137_0x4428();}export function resolveRuntimeSkillInstallTarget(_0x5d0350,_0x673fe9=a137_0xc26423(0x106),_0x18fe60={}){const _0x828b10=a137_0xc26423,_0x1d59eb=resolveSkillSyncPaths(_0x18fe60),_0x41da14=safePathSegment(_0x5d0350,_0x828b10(0x10a)),_0x4c44bd=_0x673fe9===_0x828b10(0x10b)?[resolve(_0x18fe60['cwd']??process[_0x828b10(0x10f)](),_0x828b10(0x105),_0x828b10(0x108))]:runtimeAgentSkillRoots(_0x1d59eb);return Object[_0x828b10(0x101)]({'scope':_0x673fe9,'appCode':_0x41da14,'skillRoots':Object[_0x828b10(0x101)](_0x4c44bd),'managedRoot':_0x1d59eb['managedRoot']});}
1
+ const a138_0x532594=a138_0x28f0;function a138_0x28f0(_0x262fd2,_0x477e20){_0x262fd2=_0x262fd2-0x87;const _0x1cf3fb=a138_0x1cf3();let _0x28f0f1=_0x1cf3fb[_0x262fd2];return _0x28f0f1;}(function(_0x487df6,_0x124224){const _0x4c99ba=a138_0x28f0,_0x21130d=_0x487df6();while(!![]){try{const _0x27ca69=parseInt(_0x4c99ba(0x8a))/0x1*(-parseInt(_0x4c99ba(0x96))/0x2)+parseInt(_0x4c99ba(0x8e))/0x3+parseInt(_0x4c99ba(0x95))/0x4*(parseInt(_0x4c99ba(0x91))/0x5)+parseInt(_0x4c99ba(0x8b))/0x6+-parseInt(_0x4c99ba(0x88))/0x7+parseInt(_0x4c99ba(0x8f))/0x8+-parseInt(_0x4c99ba(0x8c))/0x9*(parseInt(_0x4c99ba(0x8d))/0xa);if(_0x27ca69===_0x124224)break;else _0x21130d['push'](_0x21130d['shift']());}catch(_0x2f5eb2){_0x21130d['push'](_0x21130d['shift']());}}}(a138_0x1cf3,0x575fc));function a138_0x1cf3(){const _0x5c1d96=['cwd','freeze','317360PvDSJc','10xnIFMv','appCode','project','1031226KIIWtV','global','65759VvDjJn','1465248GkNhdx','819KVKGmz','50010YThmpe','768465VnGZrN','3770920pBULNm','skills','20oEkPUo','.agents'];a138_0x1cf3=function(){return _0x5c1d96;};return a138_0x1cf3();}import{resolve}from'node:path';import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';export function resolveRuntimeSkillInstallTarget(_0x4afcb6,_0x349242=a138_0x532594(0x89),_0x21a602={}){const _0x3ebb7e=a138_0x532594,_0x1571e3=resolveSkillSyncPaths(_0x21a602),_0x4a8b8b=safePathSegment(_0x4afcb6,_0x3ebb7e(0x97)),_0x4a2825=_0x349242===_0x3ebb7e(0x87)?[resolve(_0x21a602[_0x3ebb7e(0x93)]??process[_0x3ebb7e(0x93)](),_0x3ebb7e(0x92),_0x3ebb7e(0x90))]:runtimeAgentSkillRoots(_0x1571e3);return Object[_0x3ebb7e(0x94)]({'scope':_0x349242,'appCode':_0x4a8b8b,'skillRoots':Object['freeze'](_0x4a2825),'managedRoot':_0x1571e3['managedRoot']});}
@@ -1 +1 @@
1
- const a138_0xf7154f=a138_0x22fc;function a138_0x2ed3(){const _0x23d56a=['Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','lovrabet','secret-retriever','5jqbSGG','updated','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','agentsSkillsDir','has','linked-from-protected-root','3397112hZnwMh','appCode','skillCode','metadata-mismatch','created','8676441CPVBFZ','258234yZIggf','external-symlink','builtin','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','skill','name','70FYlrpd','skipped','dir','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','managedRoot','removed','project','validation','unchanged','scopes','get','contentHash','slice','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','company','map','startsWith','1946172DyRmJL','accessKey','personal','skillRoots','Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','isSymbolicLink','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','pruneSkillCodes','push','Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20','isDirectory','protectedLinkRoots','values','307196GcUeLf','filter','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','scope','30893mnAKpO','trim','402908MHAYEe'];a138_0x2ed3=function(){return _0x23d56a;};return a138_0x2ed3();}(function(_0x4c993a,_0x58ded3){const _0xf98441=a138_0x22fc,_0x350bae=_0x4c993a();while(!![]){try{const _0xd9ec80=-parseInt(_0xf98441(0x15c))/0x1+parseInt(_0xf98441(0x158))/0x2+-parseInt(_0xf98441(0x185))/0x3+-parseInt(_0xf98441(0x15e))/0x4*(parseInt(_0xf98441(0x162))/0x5)+-parseInt(_0xf98441(0x16e))/0x6*(parseInt(_0xf98441(0x174))/0x7)+parseInt(_0xf98441(0x168))/0x8+parseInt(_0xf98441(0x16d))/0x9;if(_0xd9ec80===_0x58ded3)break;else _0x350bae['push'](_0x350bae['shift']());}catch(_0x43ec7a){_0x350bae['push'](_0x350bae['shift']());}}}(a138_0x2ed3,0x50f20));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a138_0x44cb17 from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';function a138_0x22fc(_0x2b8df6,_0x2c5edd){_0x2b8df6=_0x2b8df6-0x152;const _0x2ed31b=a138_0x2ed3();let _0x22fc5c=_0x2ed31b[_0x2b8df6];return _0x22fc5c;}import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a138_0x44cb17,RESERVED_PROJECT_SKILL_CODES=new Set([a138_0xf7154f(0x160),'runtime-observe',a138_0xf7154f(0x161)]);export function linkEffectiveRuntimeSkills(_0x27212f,_0x11a8b9){const _0x30708e=a138_0xf7154f,_0x11c90b=new Map();for(const _0x30f303 of _0x27212f){const _0x47a202=_0x30f303[_0x30708e(0x172)][_0x30708e(0x16a)];if(!_0x47a202)continue;const _0x4604ff=_0x11c90b[_0x30708e(0x17e)](_0x47a202);(!_0x4604ff||_0x30f303[_0x30708e(0x15b)]===_0x30708e(0x187))&&_0x11c90b['set'](_0x47a202,_0x30f303);}const _0x37cdfe=[];for(const _0x158b65 of _0x11c90b[_0x30708e(0x157)]()){const _0x3017b3=requireSkillCode(_0x158b65[_0x30708e(0x172)]),_0x3e3051=readMetadataIfPresent(_0x158b65['metadataPath']);if(_0x3e3051?.[_0x30708e(0x169)]!==_0x11a8b9[_0x30708e(0x169)]||_0x3e3051[_0x30708e(0x16a)]!==_0x3017b3)throw CliErrors[_0x30708e(0x17b)](_0x30708e(0x18c)+_0x11a8b9[_0x30708e(0x169)]+':\x20'+_0x158b65['metadataPath']);const _0xd47aae=runtimeSkillLinkName(_0x11a8b9,_0x3017b3);for(const _0x3cdd4b of _0x11a8b9['skillRoots']){_0x37cdfe[_0x30708e(0x153)](ensureManagedSymlink(resolve(_0x3cdd4b,_0xd47aae),_0x158b65['dir'],_0x11a8b9,_0x3017b3));}}return _0x37cdfe;}export function pruneStaleRuntimeSkillLinks(_0x373a00,_0x3ada53,_0x361645){const _0x5bda61=a138_0xf7154f,_0x1c245f=new Set([..._0x3ada53][_0x5bda61(0x183)](_0x9c529a=>_0x9c529a[_0x5bda61(0x15d)]())[_0x5bda61(0x159)](Boolean)),_0x263048=_0x361645?new Set([..._0x361645][_0x5bda61(0x183)](_0x15c0c5=>_0x15c0c5[_0x5bda61(0x15d)]())[_0x5bda61(0x159)](Boolean)):undefined,_0x4ea09a=[];for(const _0xcc0f1b of _0x373a00[_0x5bda61(0x188)]){for(const _0x515707 of managedTargetSkillLinkPaths(_0xcc0f1b,_0x373a00)){const _0x486ec4=runtimeSkillCodeFromLink(_0x373a00,_0x515707);if(_0x263048&&!_0x263048[_0x5bda61(0x166)](_0x486ec4))continue;if(_0x1c245f[_0x5bda61(0x166)](_0x486ec4))continue;_0x4ea09a[_0x5bda61(0x153)](removeManagedSkillLink(_0x515707,_0x373a00,_0x486ec4));}}return _0x4ea09a;}export function pruneStaleRuntimeSkillCache(_0x177c82,_0x115595={}){const _0x2d1c59=a138_0xf7154f,_0x21c1e6=new Set([..._0x177c82['activeSkillCodes']][_0x2d1c59(0x183)](_0x4fa7b0=>_0x4fa7b0[_0x2d1c59(0x15d)]())[_0x2d1c59(0x159)](Boolean)),_0x32e011=_0x177c82[_0x2d1c59(0x152)]?new Set([..._0x177c82['pruneSkillCodes']][_0x2d1c59(0x183)](_0x4b0343=>_0x4b0343['trim']())['filter'](Boolean)):undefined,_0x3e54c6=_0x177c82[_0x2d1c59(0x17d)]??[_0x2d1c59(0x187),_0x2d1c59(0x182)],_0x814dfe=resolve(getRuntimeSkillCacheRoot(_0x177c82['env'],_0x177c82[_0x2d1c59(0x186)],_0x115595),safePathSegment(_0x177c82['appCode'],_0x2d1c59(0x169))),_0x59cbb2=[];for(const _0x36a1ea of _0x3e54c6){const _0x4cc75=resolve(_0x814dfe,_0x36a1ea);if(!existsSync(_0x4cc75))continue;for(const _0x19763e of readdirSync(_0x4cc75,{'withFileTypes':!![]})){if(!_0x19763e['isDirectory']())continue;const _0x483a66=_0x19763e[_0x2d1c59(0x173)];if(_0x32e011&&!_0x32e011[_0x2d1c59(0x166)](_0x483a66))continue;if(_0x21c1e6[_0x2d1c59(0x166)](_0x483a66))continue;const _0x45da53=resolve(_0x4cc75,_0x483a66),_0x36ce62=readMetadataIfPresent(resolve(_0x45da53,METADATA_FILE));if(_0x36ce62?.[_0x2d1c59(0x169)]!==_0x177c82[_0x2d1c59(0x169)]||_0x36ce62[_0x2d1c59(0x15b)]!==_0x36a1ea||_0x36ce62[_0x2d1c59(0x16a)]!==_0x483a66){_0x59cbb2[_0x2d1c59(0x153)]({'path':_0x45da53,'action':'skipped','reason':_0x2d1c59(0x16b)});continue;}if(isLinkedFromAnyRoot(_0x45da53,_0x177c82[_0x2d1c59(0x156)]??[])){_0x59cbb2['push']({'path':_0x45da53,'action':_0x2d1c59(0x175),'reason':_0x2d1c59(0x167)});continue;}removeSync(_0x45da53),_0x59cbb2['push']({'path':_0x45da53,'action':_0x2d1c59(0x179)});}}return _0x59cbb2;}export function linkGlobalRuntimeSkills(_0xf04d7d,_0x2e308f={}){const _0x4c559=a138_0xf7154f,_0x3b5972=resolveSkillSyncPaths(_0x2e308f),_0x2b1a3c=[];for(const _0x1d06f8 of _0xf04d7d){if(_0x1d06f8['scope']!==_0x4c559(0x170))throw CliErrors['validation'](_0x4c559(0x154)+_0x1d06f8[_0x4c559(0x15b)]);const _0x361429=requireSkillCode(_0x1d06f8[_0x4c559(0x172)]),_0x332852=copyManagedSkillDirectory(_0x1d06f8['dir'],resolve(_0x3b5972[_0x4c559(0x165)],_0x361429));_0x2b1a3c['push']({..._0x332852,'contentHash':_0x1d06f8[_0x4c559(0x17f)]});}return _0x2b1a3c;}function ensureManagedSymlink(_0x3ce80a,_0x2af573,_0x1727dd,_0x2d73f4){const _0x29bc57=a138_0xf7154f;mkdirSync(dirname(_0x3ce80a),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x3ce80a)||isDanglingSymlink(_0x3ce80a)){const _0x4edebc=lstatSync(_0x3ce80a);if(!_0x4edebc[_0x29bc57(0x18b)]())throw CliErrors['validation'](_0x29bc57(0x177)+_0x3ce80a);const _0x54296b=resolveSymlinkTarget(_0x3ce80a);if(!isPathInside(realOrResolved(_0x54296b),realOrResolved(_0x1727dd[_0x29bc57(0x178)])))throw CliErrors['validation'](_0x29bc57(0x171)+_0x3ce80a);if(realOrResolved(_0x54296b)===realOrResolved(_0x2af573))return{'path':_0x3ce80a,'target':_0x2af573,'action':_0x29bc57(0x17c)};const _0x1038b8=readMetadataIfPresent(resolve(_0x54296b,METADATA_FILE));if(_0x1727dd[_0x29bc57(0x15b)]==='project'&&(_0x1038b8?.[_0x29bc57(0x169)]!==_0x1727dd[_0x29bc57(0x169)]||_0x1038b8[_0x29bc57(0x16a)]!==_0x2d73f4))throw CliErrors['validation'](_0x29bc57(0x181)+_0x3ce80a);return unlinkSync(_0x3ce80a),symlinkSync(_0x2af573,_0x3ce80a,_0x29bc57(0x176)),{'path':_0x3ce80a,'target':_0x2af573,'action':_0x29bc57(0x163)};}return symlinkSync(_0x2af573,_0x3ce80a,_0x29bc57(0x176)),{'path':_0x3ce80a,'target':_0x2af573,'action':'created'};}function managedTargetSkillLinkPaths(_0x31c3da,_0x357ddf){const _0x2815a1=a138_0xf7154f;if(!existsSync(_0x31c3da))return[];const _0x51e0f0=_0x357ddf[_0x2815a1(0x169)]+'--';return readdirSync(_0x31c3da,{'withFileTypes':!![]})[_0x2815a1(0x159)](_0x41e4c1=>_0x357ddf[_0x2815a1(0x15b)]===_0x2815a1(0x17a)||_0x41e4c1[_0x2815a1(0x173)][_0x2815a1(0x184)](_0x51e0f0))[_0x2815a1(0x183)](_0xf35a70=>resolve(_0x31c3da,_0xf35a70[_0x2815a1(0x173)]));}function removeManagedSkillLink(_0x5b581e,_0x2e8457,_0x12e99a){const _0x553db2=a138_0xf7154f,_0x50dad8=lstatIfPresent(_0x5b581e);if(!_0x50dad8?.[_0x553db2(0x18b)]())return{'path':_0x5b581e,'action':'skipped','reason':'not-managed-symlink'};const _0x38cd96=resolveSymlinkTarget(_0x5b581e);if(!isPathInside(realOrResolved(_0x38cd96),realOrResolved(_0x2e8457[_0x553db2(0x178)])))return{'path':_0x5b581e,'action':_0x553db2(0x175),'reason':_0x553db2(0x16f)};const _0x50ab07=readMetadataIfPresent(resolve(_0x38cd96,METADATA_FILE));if(_0x2e8457[_0x553db2(0x15b)]===_0x553db2(0x17a)&&(_0x50ab07?.[_0x553db2(0x169)]!==_0x2e8457['appCode']||_0x50ab07[_0x553db2(0x16a)]!==_0x12e99a))return{'path':_0x5b581e,'action':'skipped','reason':_0x553db2(0x16b)};return unlinkSync(_0x5b581e),{'path':_0x5b581e,'action':_0x553db2(0x179)};}function isLinkedFromAnyRoot(_0x13e37c,_0x24aff6){const _0x1d1c7f=a138_0xf7154f,_0x43b6ff=realOrResolved(_0x13e37c);for(const _0x103924 of _0x24aff6){if(!existsSync(_0x103924))continue;for(const _0x1fcf18 of readdirSync(_0x103924,{'withFileTypes':!![]})){if(!_0x1fcf18[_0x1d1c7f(0x18b)]())continue;const _0x103398=resolve(_0x103924,_0x1fcf18[_0x1d1c7f(0x173)]);if(realOrResolved(resolveSymlinkTarget(_0x103398))===_0x43b6ff)return!![];}}return![];}function runtimeSkillLinkName(_0x517ce3,_0x354c5f){const _0x13d5eb=a138_0xf7154f,_0x171868=safePathSegment(_0x354c5f,_0x13d5eb(0x16a));if(_0x517ce3[_0x13d5eb(0x15b)]==='project'&&RESERVED_PROJECT_SKILL_CODES[_0x13d5eb(0x166)](_0x171868))throw CliErrors[_0x13d5eb(0x17b)](_0x13d5eb(0x15a)+_0x171868);return _0x517ce3[_0x13d5eb(0x15b)]===_0x13d5eb(0x17a)?_0x171868:_0x517ce3[_0x13d5eb(0x169)]+'--'+_0x171868;}function runtimeSkillCodeFromLink(_0x3ceaf1,_0x388311){const _0x5521ee=a138_0xf7154f,_0x4f1a12=basename(_0x388311);return _0x3ceaf1['scope']===_0x5521ee(0x17a)?_0x4f1a12:_0x4f1a12[_0x5521ee(0x180)]((_0x3ceaf1['appCode']+'--')['length']);}export function copyManagedSkillDirectory(_0x54820d,_0x23f062){const _0x253add=a138_0xf7154f,_0x246c9f=resolve(_0x23f062,METADATA_FILE),_0x4383a1=existsSync(_0x23f062);if(_0x4383a1){const _0x1c8a95=lstatSync(_0x23f062);if(_0x1c8a95['isSymbolicLink']())throw CliErrors[_0x253add(0x17b)](_0x253add(0x189)+_0x23f062);if(!_0x1c8a95[_0x253add(0x155)]())throw CliErrors['validation'](_0x253add(0x164)+_0x23f062);const _0x217b45=readMetadataIfPresent(_0x246c9f);if(_0x217b45?.[_0x253add(0x15b)]!==_0x253add(0x170))throw CliErrors[_0x253add(0x17b)](_0x253add(0x18a)+_0x23f062);}ensureDirSync(dirname(_0x23f062));const _0x31d1a5=_0x4383a1?readMetadataIfPresent(_0x246c9f)?.[_0x253add(0x17f)]:undefined,_0x718006=readMetadataIfPresent(resolve(_0x54820d,METADATA_FILE))?.[_0x253add(0x17f)];return _0x4383a1&&removeSync(_0x23f062),copySkillDirectory(_0x54820d,_0x23f062),{'path':_0x23f062,'target':_0x54820d,'action':!_0x4383a1?_0x253add(0x16c):_0x31d1a5===_0x718006?'unchanged':_0x253add(0x163)};}function copySkillDirectory(_0x6b2f78,_0x1b09a5){copySync(_0x6b2f78,_0x1b09a5,{'dereference':![],'overwrite':!![],'filter'(_0x22000c){const _0x7999ef=a138_0x22fc;if(lstatSync(_0x22000c)[_0x7999ef(0x18b)]())throw CliErrors[_0x7999ef(0x17b)](_0x7999ef(0x15f)+_0x22000c);return!![];}});}
1
+ const a139_0x445778=a139_0x57ee;(function(_0x37cd9c,_0x40602e){const _0x18233c=a139_0x57ee,_0x4f5daa=_0x37cd9c();while(!![]){try{const _0x3f4836=-parseInt(_0x18233c(0x18d))/0x1+-parseInt(_0x18233c(0x16d))/0x2+parseInt(_0x18233c(0x17e))/0x3+parseInt(_0x18233c(0x181))/0x4+-parseInt(_0x18233c(0x168))/0x5*(-parseInt(_0x18233c(0x193))/0x6)+parseInt(_0x18233c(0x17f))/0x7*(-parseInt(_0x18233c(0x177))/0x8)+-parseInt(_0x18233c(0x182))/0x9*(-parseInt(_0x18233c(0x186))/0xa);if(_0x3f4836===_0x40602e)break;else _0x4f5daa['push'](_0x4f5daa['shift']());}catch(_0x1932a6){_0x4f5daa['push'](_0x4f5daa['shift']());}}}(a139_0x1fc7,0xc8fa8));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a139_0x1a10af from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a139_0x1a10af,RESERVED_PROJECT_SKILL_CODES=new Set([a139_0x445778(0x166),a139_0x445778(0x189),a139_0x445778(0x17b)]);export function linkEffectiveRuntimeSkills(_0x6edbf1,_0x1f25c7){const _0x263aff=a139_0x445778,_0x2033ab=new Map();for(const _0x2332cf of _0x6edbf1){const _0x58caa8=_0x2332cf[_0x263aff(0x15e)]['skillCode'];if(!_0x58caa8)continue;const _0x59ead5=_0x2033ab['get'](_0x58caa8);(!_0x59ead5||_0x2332cf[_0x263aff(0x172)]===_0x263aff(0x184))&&_0x2033ab[_0x263aff(0x18b)](_0x58caa8,_0x2332cf);}const _0xecfc26=[];for(const _0x5ad94e of _0x2033ab[_0x263aff(0x179)]()){const _0x14fb4f=requireSkillCode(_0x5ad94e['skill']),_0xaf16c8=readMetadataIfPresent(_0x5ad94e[_0x263aff(0x176)]);if(_0xaf16c8?.['appCode']!==_0x1f25c7[_0x263aff(0x197)]||_0xaf16c8[_0x263aff(0x195)]!==_0x14fb4f)throw CliErrors['validation'](_0x263aff(0x175)+_0x1f25c7[_0x263aff(0x197)]+':\x20'+_0x5ad94e[_0x263aff(0x176)]);const _0x21994b=runtimeSkillLinkName(_0x1f25c7,_0x14fb4f);for(const _0x146185 of _0x1f25c7[_0x263aff(0x18c)]){_0xecfc26[_0x263aff(0x16b)](ensureManagedSymlink(resolve(_0x146185,_0x21994b),_0x5ad94e['dir'],_0x1f25c7,_0x14fb4f));}}return _0xecfc26;}export function pruneStaleRuntimeSkillLinks(_0x20a36b,_0x21291d,_0x3f86b4){const _0x5a9f39=a139_0x445778,_0xe91bc0=new Set([..._0x21291d][_0x5a9f39(0x170)](_0x2b11b6=>_0x2b11b6['trim']())[_0x5a9f39(0x191)](Boolean)),_0x201e5c=_0x3f86b4?new Set([..._0x3f86b4][_0x5a9f39(0x170)](_0x5cde5e=>_0x5cde5e['trim']())['filter'](Boolean)):undefined,_0x33a3a5=[];for(const _0x2ac00c of _0x20a36b[_0x5a9f39(0x18c)]){for(const _0x4b5d59 of managedTargetSkillLinkPaths(_0x2ac00c,_0x20a36b)){const _0x283a3a=runtimeSkillCodeFromLink(_0x20a36b,_0x4b5d59);if(_0x201e5c&&!_0x201e5c['has'](_0x283a3a))continue;if(_0xe91bc0[_0x5a9f39(0x15c)](_0x283a3a))continue;_0x33a3a5[_0x5a9f39(0x16b)](removeManagedSkillLink(_0x4b5d59,_0x20a36b,_0x283a3a));}}return _0x33a3a5;}export function pruneStaleRuntimeSkillCache(_0x330a77,_0x2ff373={}){const _0x477d38=a139_0x445778,_0x5be1ea=new Set([..._0x330a77[_0x477d38(0x192)]]['map'](_0x4f4711=>_0x4f4711[_0x477d38(0x180)]())[_0x477d38(0x191)](Boolean)),_0x56dc1c=_0x330a77[_0x477d38(0x162)]?new Set([..._0x330a77[_0x477d38(0x162)]][_0x477d38(0x170)](_0x1a91c0=>_0x1a91c0['trim']())[_0x477d38(0x191)](Boolean)):undefined,_0x5079c4=_0x330a77['scopes']??['personal','company'],_0x2b5fc0=resolve(getRuntimeSkillCacheRoot(_0x330a77[_0x477d38(0x187)],_0x330a77[_0x477d38(0x171)],_0x2ff373),safePathSegment(_0x330a77[_0x477d38(0x197)],'appCode')),_0x41583c=[];for(const _0x456a41 of _0x5079c4){const _0x32fa22=resolve(_0x2b5fc0,_0x456a41);if(!existsSync(_0x32fa22))continue;for(const _0x28ba23 of readdirSync(_0x32fa22,{'withFileTypes':!![]})){if(!_0x28ba23[_0x477d38(0x16f)]())continue;const _0x4ad7dd=_0x28ba23[_0x477d38(0x16c)];if(_0x56dc1c&&!_0x56dc1c['has'](_0x4ad7dd))continue;if(_0x5be1ea['has'](_0x4ad7dd))continue;const _0x4d7742=resolve(_0x32fa22,_0x4ad7dd),_0x39271c=readMetadataIfPresent(resolve(_0x4d7742,METADATA_FILE));if(_0x39271c?.[_0x477d38(0x197)]!==_0x330a77['appCode']||_0x39271c['scope']!==_0x456a41||_0x39271c[_0x477d38(0x195)]!==_0x4ad7dd){_0x41583c[_0x477d38(0x16b)]({'path':_0x4d7742,'action':_0x477d38(0x183),'reason':'metadata-mismatch'});continue;}if(isLinkedFromAnyRoot(_0x4d7742,_0x330a77['protectedLinkRoots']??[])){_0x41583c[_0x477d38(0x16b)]({'path':_0x4d7742,'action':'skipped','reason':_0x477d38(0x185)});continue;}removeSync(_0x4d7742),_0x41583c[_0x477d38(0x16b)]({'path':_0x4d7742,'action':_0x477d38(0x190)});}}return _0x41583c;}export function linkGlobalRuntimeSkills(_0x28b970,_0x181f5d={}){const _0x444360=a139_0x445778,_0x1fed88=resolveSkillSyncPaths(_0x181f5d),_0x46a8f8=[];for(const _0x12acbc of _0x28b970){if(_0x12acbc['scope']!==_0x444360(0x17a))throw CliErrors[_0x444360(0x174)](_0x444360(0x161)+_0x12acbc[_0x444360(0x172)]);const _0x532b9b=requireSkillCode(_0x12acbc[_0x444360(0x15e)]),_0x59c1b1=copyManagedSkillDirectory(_0x12acbc[_0x444360(0x169)],resolve(_0x1fed88[_0x444360(0x17d)],_0x532b9b));_0x46a8f8[_0x444360(0x16b)]({..._0x59c1b1,'contentHash':_0x12acbc['contentHash']});}return _0x46a8f8;}function a139_0x1fc7(){const _0x3c99e8=['skillRoots','920118kynPmw','unchanged','created','removed','filter','activeSkillCodes','12cyKVKH','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','skillCode','isSymbolicLink','appCode','has','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','skill','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','managedRoot','Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20','pruneSkillCodes','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','metadata-mismatch','slice','lovrabet','project','3867175icFrGS','dir','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','push','name','3068666tzaSyE','length','isDirectory','map','accessKey','scope','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','validation','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','metadataPath','8IllAJs','contentHash','values','builtin','secret-retriever','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','agentsSkillsDir','2542152PXXaQn','7014511OCqJig','trim','1029376OEgyLa','9MhiIwB','skipped','personal','linked-from-protected-root','16281340iwLQLH','env','updated','runtime-observe','startsWith','set'];a139_0x1fc7=function(){return _0x3c99e8;};return a139_0x1fc7();}function ensureManagedSymlink(_0x54ae12,_0x2c7771,_0x5a2f99,_0x462733){const _0x114d04=a139_0x445778;mkdirSync(dirname(_0x54ae12),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x54ae12)||isDanglingSymlink(_0x54ae12)){const _0x449a13=lstatSync(_0x54ae12);if(!_0x449a13[_0x114d04(0x196)]())throw CliErrors[_0x114d04(0x174)](_0x114d04(0x16a)+_0x54ae12);const _0x46956a=resolveSymlinkTarget(_0x54ae12);if(!isPathInside(realOrResolved(_0x46956a),realOrResolved(_0x5a2f99['managedRoot'])))throw CliErrors['validation'](_0x114d04(0x194)+_0x54ae12);if(realOrResolved(_0x46956a)===realOrResolved(_0x2c7771))return{'path':_0x54ae12,'target':_0x2c7771,'action':_0x114d04(0x18e)};const _0x9ef6e9=readMetadataIfPresent(resolve(_0x46956a,METADATA_FILE));if(_0x5a2f99[_0x114d04(0x172)]===_0x114d04(0x167)&&(_0x9ef6e9?.[_0x114d04(0x197)]!==_0x5a2f99[_0x114d04(0x197)]||_0x9ef6e9['skillCode']!==_0x462733))throw CliErrors['validation'](_0x114d04(0x15d)+_0x54ae12);return unlinkSync(_0x54ae12),symlinkSync(_0x2c7771,_0x54ae12,_0x114d04(0x169)),{'path':_0x54ae12,'target':_0x2c7771,'action':'updated'};}return symlinkSync(_0x2c7771,_0x54ae12,_0x114d04(0x169)),{'path':_0x54ae12,'target':_0x2c7771,'action':'created'};}function managedTargetSkillLinkPaths(_0x50b671,_0x3e055a){const _0x686dbe=a139_0x445778;if(!existsSync(_0x50b671))return[];const _0x1b3d6b=_0x3e055a['appCode']+'--';return readdirSync(_0x50b671,{'withFileTypes':!![]})[_0x686dbe(0x191)](_0x198165=>_0x3e055a['scope']===_0x686dbe(0x167)||_0x198165[_0x686dbe(0x16c)][_0x686dbe(0x18a)](_0x1b3d6b))[_0x686dbe(0x170)](_0x136aa1=>resolve(_0x50b671,_0x136aa1['name']));}function removeManagedSkillLink(_0x1ba372,_0x3dceaa,_0x2fea82){const _0x242fab=a139_0x445778,_0x2b602a=lstatIfPresent(_0x1ba372);if(!_0x2b602a?.[_0x242fab(0x196)]())return{'path':_0x1ba372,'action':'skipped','reason':'not-managed-symlink'};const _0x52e700=resolveSymlinkTarget(_0x1ba372);if(!isPathInside(realOrResolved(_0x52e700),realOrResolved(_0x3dceaa[_0x242fab(0x160)])))return{'path':_0x1ba372,'action':_0x242fab(0x183),'reason':'external-symlink'};const _0x5da421=readMetadataIfPresent(resolve(_0x52e700,METADATA_FILE));if(_0x3dceaa[_0x242fab(0x172)]===_0x242fab(0x167)&&(_0x5da421?.['appCode']!==_0x3dceaa['appCode']||_0x5da421[_0x242fab(0x195)]!==_0x2fea82))return{'path':_0x1ba372,'action':_0x242fab(0x183),'reason':_0x242fab(0x164)};return unlinkSync(_0x1ba372),{'path':_0x1ba372,'action':_0x242fab(0x190)};}function isLinkedFromAnyRoot(_0xf80d26,_0x18a750){const _0x1d64ea=a139_0x445778,_0x152225=realOrResolved(_0xf80d26);for(const _0x18f427 of _0x18a750){if(!existsSync(_0x18f427))continue;for(const _0x4bb1da of readdirSync(_0x18f427,{'withFileTypes':!![]})){if(!_0x4bb1da['isSymbolicLink']())continue;const _0x3ea9c0=resolve(_0x18f427,_0x4bb1da[_0x1d64ea(0x16c)]);if(realOrResolved(resolveSymlinkTarget(_0x3ea9c0))===_0x152225)return!![];}}return![];}function a139_0x57ee(_0x383b9d,_0x49ed25){_0x383b9d=_0x383b9d-0x15c;const _0x1fc750=a139_0x1fc7();let _0x57ee79=_0x1fc750[_0x383b9d];return _0x57ee79;}function runtimeSkillLinkName(_0x8fa443,_0x1f9264){const _0x107079=a139_0x445778,_0x54534d=safePathSegment(_0x1f9264,_0x107079(0x195));if(_0x8fa443[_0x107079(0x172)]===_0x107079(0x167)&&RESERVED_PROJECT_SKILL_CODES[_0x107079(0x15c)](_0x54534d))throw CliErrors['validation'](_0x107079(0x17c)+_0x54534d);return _0x8fa443[_0x107079(0x172)]===_0x107079(0x167)?_0x54534d:_0x8fa443[_0x107079(0x197)]+'--'+_0x54534d;}function runtimeSkillCodeFromLink(_0x8d4710,_0x33e928){const _0x204899=a139_0x445778,_0x1f4456=basename(_0x33e928);return _0x8d4710[_0x204899(0x172)]==='project'?_0x1f4456:_0x1f4456[_0x204899(0x165)]((_0x8d4710[_0x204899(0x197)]+'--')[_0x204899(0x16e)]);}export function copyManagedSkillDirectory(_0x4fffc7,_0x2ba2ff){const _0xd297ce=a139_0x445778,_0x17b438=resolve(_0x2ba2ff,METADATA_FILE),_0x5eedb6=existsSync(_0x2ba2ff);if(_0x5eedb6){const _0x893156=lstatSync(_0x2ba2ff);if(_0x893156['isSymbolicLink']())throw CliErrors[_0xd297ce(0x174)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20'+_0x2ba2ff);if(!_0x893156[_0xd297ce(0x16f)]())throw CliErrors[_0xd297ce(0x174)](_0xd297ce(0x163)+_0x2ba2ff);const _0x4c8f92=readMetadataIfPresent(_0x17b438);if(_0x4c8f92?.['scope']!==_0xd297ce(0x17a))throw CliErrors[_0xd297ce(0x174)](_0xd297ce(0x173)+_0x2ba2ff);}ensureDirSync(dirname(_0x2ba2ff));const _0x211575=_0x5eedb6?readMetadataIfPresent(_0x17b438)?.['contentHash']:undefined,_0x5a7f29=readMetadataIfPresent(resolve(_0x4fffc7,METADATA_FILE))?.[_0xd297ce(0x178)];return _0x5eedb6&&removeSync(_0x2ba2ff),copySkillDirectory(_0x4fffc7,_0x2ba2ff),{'path':_0x2ba2ff,'target':_0x4fffc7,'action':!_0x5eedb6?_0xd297ce(0x18f):_0x211575===_0x5a7f29?_0xd297ce(0x18e):_0xd297ce(0x188)};}function copySkillDirectory(_0x122d57,_0x1d02e3){copySync(_0x122d57,_0x1d02e3,{'dereference':![],'overwrite':!![],'filter'(_0x51cd26){const _0x305aa1=a139_0x57ee;if(lstatSync(_0x51cd26)[_0x305aa1(0x196)]())throw CliErrors[_0x305aa1(0x174)](_0x305aa1(0x15f)+_0x51cd26);return!![];}});}
@@ -1 +1 @@
1
- (function(_0x2b7cc3,_0x607847){const _0x2f2eab=a139_0x41af,_0x458ec0=_0x2b7cc3();while(!![]){try{const _0x59aea5=-parseInt(_0x2f2eab(0x15e))/0x1*(parseInt(_0x2f2eab(0x17c))/0x2)+parseInt(_0x2f2eab(0x162))/0x3+parseInt(_0x2f2eab(0x165))/0x4*(parseInt(_0x2f2eab(0x168))/0x5)+-parseInt(_0x2f2eab(0x172))/0x6+parseInt(_0x2f2eab(0x156))/0x7*(parseInt(_0x2f2eab(0x155))/0x8)+parseInt(_0x2f2eab(0x167))/0x9*(-parseInt(_0x2f2eab(0x158))/0xa)+parseInt(_0x2f2eab(0x15c))/0xb;if(_0x59aea5===_0x607847)break;else _0x458ec0['push'](_0x458ec0['shift']());}catch(_0x207beb){_0x458ec0['push'](_0x458ec0['shift']());}}}(a139_0x495c,0x64ff8));import{existsSync,readdirSync}from'node:fs';import{resolve}from'node:path';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{readMetadataIfPresent}from'./metadata.js';function a139_0x41af(_0x913e20,_0x3d6288){_0x913e20=_0x913e20-0x152;const _0x495c2e=a139_0x495c();let _0x41af6d=_0x495c2e[_0x913e20];return _0x41af6d;}import{getRuntimeSkillCacheRoot,safePathSegment}from'./paths.js';import{isRuntimeSkillScope,normalizeRuntimeSkillScopes}from'./scopes.js';function a139_0x495c(){const _0x161394=['appCode','name','16aRFkaB','dir','cache','skillRoots','includes','set','get','178472cgwRBF','105yvRKJW','env','580KAEIXH','tags','validation','filter','3570897CmqUPN','sort','73288BFEWZt','trim','skillMdPath','linkedPath','1125822PwhZKk','scope','isSymbolicLink','162916ZfmXvf','push','6552dJwiYs','35mXoBgc','project','Runtime\x20Skill\x20install\x20target\x20app\x20mismatch:\x20','startsWith','builtin','\x20!=\x20','source','code','cacheDir','linkedPaths','1664538KtSYfZ','localeCompare','accessKey','has','skillCode','values','isDirectory','scopes'];a139_0x495c=function(){return _0x161394;};return a139_0x495c();}export function listLocalRuntimeSkills(_0xd34e67,_0x190580,_0x26bc0e={}){const _0xd0b501=a139_0x41af,_0x34c5c4=safePathSegment(_0xd34e67[_0xd0b501(0x17a)],_0xd0b501(0x17a));if(_0x190580[_0xd0b501(0x17a)]!==_0x34c5c4)throw CliErrors[_0xd0b501(0x15a)](_0xd0b501(0x16a)+_0x190580[_0xd0b501(0x17a)]+_0xd0b501(0x16d)+_0x34c5c4);const _0x576a55=normalizeRuntimeSkillScopes(_0xd34e67[_0xd0b501(0x179)]),_0xb1b6e9=new Set(_0x576a55),_0x5707e7=_0xd34e67[_0xd0b501(0x16f)]?.[_0xd0b501(0x15f)](),_0x22b893=new Map(),_0x1a476c=resolve(getRuntimeSkillCacheRoot(_0xd34e67[_0xd0b501(0x157)],_0xd34e67[_0xd0b501(0x174)],_0x26bc0e),_0x34c5c4);for(const _0x565426 of _0x576a55){for(const _0x494013 of localSkillEntryDirs(resolve(_0x1a476c,_0x565426))){collectLocalRuntimeSkill(_0x22b893,_0x494013,{'appCode':_0x34c5c4,'scopes':_0xb1b6e9,'code':_0x5707e7,'source':_0xd0b501(0x17e)});}}for(const _0x548706 of _0x190580[_0xd0b501(0x17f)]){for(const _0x74da12 of localSkillLinkCandidates(_0x548706,_0x190580,_0xb1b6e9)){collectLocalRuntimeSkill(_0x22b893,_0x74da12,{'appCode':_0x34c5c4,'scopes':_0xb1b6e9,'code':_0x5707e7,'source':'link','linkedPath':_0x74da12});}}return Array['from'](_0x22b893[_0xd0b501(0x177)]())[_0xd0b501(0x15d)](compareLocalRuntimeSkills);}function localSkillEntryDirs(_0x4e0b92){const _0x5587c3=a139_0x41af;if(!existsSync(_0x4e0b92))return[];return readdirSync(_0x4e0b92,{'withFileTypes':!![]})[_0x5587c3(0x15b)](_0x3d75e1=>_0x3d75e1[_0x5587c3(0x178)]()||_0x3d75e1['isSymbolicLink']())['map'](_0x30aab4=>resolve(_0x4e0b92,_0x30aab4[_0x5587c3(0x17b)]));}function localSkillLinkCandidates(_0x2e2ea9,_0x534523,_0x1da339){const _0x18d7c8=a139_0x41af;if(!existsSync(_0x2e2ea9))return[];const _0x18c066=_0x534523[_0x18d7c8(0x17a)]+'--';return readdirSync(_0x2e2ea9,{'withFileTypes':!![]})['filter'](_0x34ab09=>_0x34ab09[_0x18d7c8(0x178)]()||_0x34ab09[_0x18d7c8(0x164)]())[_0x18d7c8(0x15b)](_0x1a4191=>_0x534523[_0x18d7c8(0x163)]===_0x18d7c8(0x169)||_0x1a4191[_0x18d7c8(0x17b)][_0x18d7c8(0x16b)](_0x18c066)||_0x1da339[_0x18d7c8(0x175)](_0x18d7c8(0x16c)))['map'](_0x229546=>resolve(_0x2e2ea9,_0x229546['name']));}function collectLocalRuntimeSkill(_0x397a34,_0x449d05,_0x567753){const _0x3172df=a139_0x41af,_0x672a95=resolve(_0x449d05,METADATA_FILE),_0x358831=readMetadataIfPresent(_0x672a95);if(!_0x358831)return;if(_0x358831[_0x3172df(0x17a)]!==_0x567753[_0x3172df(0x17a)])return;if(!isRuntimeSkillScope(_0x358831['scope'])||!_0x567753[_0x3172df(0x179)]['has'](_0x358831[_0x3172df(0x163)]))return;const _0x3e4c94=_0x358831[_0x3172df(0x176)]?.['trim']();if(!_0x3e4c94)return;if(_0x567753['code']&&_0x3e4c94!==_0x567753['code'])return;const _0x416f70=_0x358831['scope']+':'+_0x3e4c94,_0x26f0d9=_0x567753[_0x3172df(0x161)]?[_0x567753[_0x3172df(0x161)]]:[],_0x3d5b95=_0x397a34[_0x3172df(0x154)](_0x416f70);if(_0x3d5b95){_0x567753[_0x3172df(0x16e)]===_0x3172df(0x17e)&&(_0x3d5b95[_0x3172df(0x17d)]=_0x449d05,_0x3d5b95[_0x3172df(0x170)]=_0x449d05,_0x3d5b95[_0x3172df(0x160)]=resolve(_0x449d05,SKILL_FILE),_0x3d5b95['metadataPath']=_0x672a95);for(const _0x5c9493 of _0x26f0d9){!_0x3d5b95[_0x3172df(0x171)][_0x3172df(0x152)](_0x5c9493)&&_0x3d5b95[_0x3172df(0x171)][_0x3172df(0x166)](_0x5c9493);}_0x3d5b95[_0x3172df(0x171)][_0x3172df(0x15d)]();return;}_0x397a34[_0x3172df(0x153)](_0x416f70,{..._0x358831,'tags':Array['isArray'](_0x358831['tags'])?_0x358831[_0x3172df(0x159)]:[],'scope':_0x358831[_0x3172df(0x163)],'source':'local','dir':_0x449d05,'cacheDir':_0x567753['source']===_0x3172df(0x17e)?_0x449d05:undefined,'skillMdPath':resolve(_0x449d05,SKILL_FILE),'metadataPath':_0x672a95,'linkedPaths':_0x26f0d9});}function compareLocalRuntimeSkills(_0x135a4a,_0x2683d8){const _0x2c0022=a139_0x41af,_0x4aab6d={'personal':0x0,'company':0x1,'builtin':0x2};return _0x4aab6d[_0x135a4a[_0x2c0022(0x163)]]-_0x4aab6d[_0x2683d8[_0x2c0022(0x163)]]||_0x135a4a[_0x2c0022(0x176)][_0x2c0022(0x173)](_0x2683d8[_0x2c0022(0x176)])||_0x135a4a[_0x2c0022(0x17d)][_0x2c0022(0x173)](_0x2683d8[_0x2c0022(0x17d)]);}
1
+ function a140_0x3085(){const _0x58962d=['64509hYzhYI','isArray','scopes','link','validation','9jUZLMr','code','skillMdPath','startsWith','83282ciRZPs','1993110QgNEZU','skillRoots','isDirectory','from','includes','localeCompare','scope','set','appCode','filter','get','values','source','skillCode','env','dir','linkedPaths','accessKey','sort','5330455nIFhcE','isSymbolicLink','trim','linkedPath','push','3445409udFsnb','local','tags','\x20!=\x20','map','cache','project','6CumwAi','10LrDpFg','metadataPath','name','Runtime\x20Skill\x20install\x20target\x20app\x20mismatch:\x20','4264716WtRLbJ','12roTCuP','10010584RrFNeV','cacheDir','has'];a140_0x3085=function(){return _0x58962d;};return a140_0x3085();}(function(_0x2b4ffa,_0x4d834d){const _0x24e2b5=a140_0x477f,_0x23b0ff=_0x2b4ffa();while(!![]){try{const _0x398d46=parseInt(_0x24e2b5(0xa4))/0x1+-parseInt(_0x24e2b5(0x97))/0x2*(parseInt(_0x24e2b5(0x9b))/0x3)+parseInt(_0x24e2b5(0x96))/0x4+parseInt(_0x24e2b5(0x85))/0x5*(parseInt(_0x24e2b5(0x91))/0x6)+-parseInt(_0x24e2b5(0xa5))/0x7+parseInt(_0x24e2b5(0x98))/0x8*(-parseInt(_0x24e2b5(0xa0))/0x9)+-parseInt(_0x24e2b5(0x92))/0xa*(-parseInt(_0x24e2b5(0x8a))/0xb);if(_0x398d46===_0x4d834d)break;else _0x23b0ff['push'](_0x23b0ff['shift']());}catch(_0x40800b){_0x23b0ff['push'](_0x23b0ff['shift']());}}}(a140_0x3085,0xd2dd4));import{existsSync,readdirSync}from'node:fs';function a140_0x477f(_0xa39d2d,_0x1269cb){_0xa39d2d=_0xa39d2d-0x85;const _0x308579=a140_0x3085();let _0x477f84=_0x308579[_0xa39d2d];return _0x477f84;}import{resolve}from'node:path';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{readMetadataIfPresent}from'./metadata.js';import{getRuntimeSkillCacheRoot,safePathSegment}from'./paths.js';import{isRuntimeSkillScope,normalizeRuntimeSkillScopes}from'./scopes.js';export function listLocalRuntimeSkills(_0x24f3f3,_0x4059ce,_0x5b5512={}){const _0x41aae2=a140_0x477f,_0x4ae143=safePathSegment(_0x24f3f3[_0x41aae2(0xad)],_0x41aae2(0xad));if(_0x4059ce[_0x41aae2(0xad)]!==_0x4ae143)throw CliErrors[_0x41aae2(0x9f)](_0x41aae2(0x95)+_0x4059ce[_0x41aae2(0xad)]+_0x41aae2(0x8d)+_0x4ae143);const _0x5ccca6=normalizeRuntimeSkillScopes(_0x24f3f3[_0x41aae2(0x9d)]),_0xf933a5=new Set(_0x5ccca6),_0x20f6cb=_0x24f3f3[_0x41aae2(0xa1)]?.[_0x41aae2(0x87)](),_0x59ae05=new Map(),_0x4ff81b=resolve(getRuntimeSkillCacheRoot(_0x24f3f3[_0x41aae2(0xb3)],_0x24f3f3[_0x41aae2(0xb6)],_0x5b5512),_0x4ae143);for(const _0x212340 of _0x5ccca6){for(const _0x589e1b of localSkillEntryDirs(resolve(_0x4ff81b,_0x212340))){collectLocalRuntimeSkill(_0x59ae05,_0x589e1b,{'appCode':_0x4ae143,'scopes':_0xf933a5,'code':_0x20f6cb,'source':_0x41aae2(0x8f)});}}for(const _0x5863d1 of _0x4059ce[_0x41aae2(0xa6)]){for(const _0x156ec7 of localSkillLinkCandidates(_0x5863d1,_0x4059ce,_0xf933a5)){collectLocalRuntimeSkill(_0x59ae05,_0x156ec7,{'appCode':_0x4ae143,'scopes':_0xf933a5,'code':_0x20f6cb,'source':_0x41aae2(0x9e),'linkedPath':_0x156ec7});}}return Array[_0x41aae2(0xa8)](_0x59ae05[_0x41aae2(0xb0)]())[_0x41aae2(0xb7)](compareLocalRuntimeSkills);}function localSkillEntryDirs(_0x46aea6){const _0x1dd86e=a140_0x477f;if(!existsSync(_0x46aea6))return[];return readdirSync(_0x46aea6,{'withFileTypes':!![]})[_0x1dd86e(0xae)](_0x58e1fa=>_0x58e1fa[_0x1dd86e(0xa7)]()||_0x58e1fa[_0x1dd86e(0x86)]())[_0x1dd86e(0x8e)](_0x44787f=>resolve(_0x46aea6,_0x44787f[_0x1dd86e(0x94)]));}function localSkillLinkCandidates(_0x587461,_0x42e67a,_0x5090e3){const _0x28a435=a140_0x477f;if(!existsSync(_0x587461))return[];const _0x393a09=_0x42e67a[_0x28a435(0xad)]+'--';return readdirSync(_0x587461,{'withFileTypes':!![]})['filter'](_0x5ca8d8=>_0x5ca8d8['isDirectory']()||_0x5ca8d8[_0x28a435(0x86)]())[_0x28a435(0xae)](_0x5494c6=>_0x42e67a['scope']===_0x28a435(0x90)||_0x5494c6[_0x28a435(0x94)][_0x28a435(0xa3)](_0x393a09)||_0x5090e3[_0x28a435(0x9a)]('builtin'))[_0x28a435(0x8e)](_0x14147e=>resolve(_0x587461,_0x14147e[_0x28a435(0x94)]));}function collectLocalRuntimeSkill(_0x443bc2,_0xa4c3d4,_0x40bd4e){const _0x5c731a=a140_0x477f,_0x195cfd=resolve(_0xa4c3d4,METADATA_FILE),_0xe255ce=readMetadataIfPresent(_0x195cfd);if(!_0xe255ce)return;if(_0xe255ce[_0x5c731a(0xad)]!==_0x40bd4e[_0x5c731a(0xad)])return;if(!isRuntimeSkillScope(_0xe255ce[_0x5c731a(0xab)])||!_0x40bd4e['scopes'][_0x5c731a(0x9a)](_0xe255ce['scope']))return;const _0x476730=_0xe255ce['skillCode']?.[_0x5c731a(0x87)]();if(!_0x476730)return;if(_0x40bd4e[_0x5c731a(0xa1)]&&_0x476730!==_0x40bd4e[_0x5c731a(0xa1)])return;const _0x28516f=_0xe255ce[_0x5c731a(0xab)]+':'+_0x476730,_0x16ed16=_0x40bd4e[_0x5c731a(0x88)]?[_0x40bd4e[_0x5c731a(0x88)]]:[],_0x2334d7=_0x443bc2[_0x5c731a(0xaf)](_0x28516f);if(_0x2334d7){_0x40bd4e[_0x5c731a(0xb1)]===_0x5c731a(0x8f)&&(_0x2334d7['dir']=_0xa4c3d4,_0x2334d7[_0x5c731a(0x99)]=_0xa4c3d4,_0x2334d7[_0x5c731a(0xa2)]=resolve(_0xa4c3d4,SKILL_FILE),_0x2334d7[_0x5c731a(0x93)]=_0x195cfd);for(const _0x428267 of _0x16ed16){!_0x2334d7[_0x5c731a(0xb5)][_0x5c731a(0xa9)](_0x428267)&&_0x2334d7[_0x5c731a(0xb5)][_0x5c731a(0x89)](_0x428267);}_0x2334d7[_0x5c731a(0xb5)]['sort']();return;}_0x443bc2[_0x5c731a(0xac)](_0x28516f,{..._0xe255ce,'tags':Array[_0x5c731a(0x9c)](_0xe255ce[_0x5c731a(0x8c)])?_0xe255ce[_0x5c731a(0x8c)]:[],'scope':_0xe255ce['scope'],'source':_0x5c731a(0x8b),'dir':_0xa4c3d4,'cacheDir':_0x40bd4e[_0x5c731a(0xb1)]==='cache'?_0xa4c3d4:undefined,'skillMdPath':resolve(_0xa4c3d4,SKILL_FILE),'metadataPath':_0x195cfd,'linkedPaths':_0x16ed16});}function compareLocalRuntimeSkills(_0x224a36,_0x418d3a){const _0x598688=a140_0x477f,_0x1233a0={'personal':0x0,'company':0x1,'builtin':0x2};return _0x1233a0[_0x224a36['scope']]-_0x1233a0[_0x418d3a[_0x598688(0xab)]]||_0x224a36[_0x598688(0xb2)]['localeCompare'](_0x418d3a[_0x598688(0xb2)])||_0x224a36[_0x598688(0xb4)][_0x598688(0xaa)](_0x418d3a[_0x598688(0xb4)]);}
@@ -1 +1 @@
1
- (function(_0xe606e0,_0x2e03b8){const _0x389378=a140_0x2108,_0x20883a=_0xe606e0();while(!![]){try{const _0x2409d7=parseInt(_0x389378(0x20f))/0x1+parseInt(_0x389378(0x20e))/0x2+parseInt(_0x389378(0x1ff))/0x3+parseInt(_0x389378(0x20a))/0x4*(-parseInt(_0x389378(0x217))/0x5)+parseInt(_0x389378(0x1fe))/0x6+parseInt(_0x389378(0x1f7))/0x7*(parseInt(_0x389378(0x1f9))/0x8)+-parseInt(_0x389378(0x1f6))/0x9;if(_0x2409d7===_0x2e03b8)break;else _0x20883a['push'](_0x20883a['shift']());}catch(_0x4171e6){_0x20883a['push'](_0x20883a['shift']());}}}(a140_0x2600,0x36b25));import{readFileSync,readdirSync,realpathSync}from'node:fs';import{relative,resolve}from'node:path';function a140_0x2600(){const _0x200943=['add','has','size','Skill\x20file\x20content\x20must\x20be\x20text\x20or\x20bytes:\x20','string','utf8','Skill\x20file\x20size\x20is\x20invalid:\x20','125CZGogS','toLowerCase','Skill\x20file\x20path\x20must\x20be\x20text.','validation','from','bytes','Skill\x20file\x20sha256\x20is\x20invalid:\x20','sha256','isDirectory','push','test','8584767DLzkty','765982oIwypt','isSymbolicLink','32yUgQmY','object','Skill\x20directory\x20contains\x20unsupported\x20symlink:\x20','isSafeInteger','isArray','2035494jiVJuR','1056768iJZIIy','isFile','sort','compare','length','Unsafe\x20Skill\x20file\x20path:\x20','Skill\x20file\x20bytes\x20must\x20be\x20a\x20Buffer:\x20','content','name','Duplicate\x20Skill\x20file\x20path:\x20','startsWith','63868qZmSnM','path','values','toString','261398VFdLiO','317167JYdfZo'];a140_0x2600=function(){return _0x200943;};return a140_0x2600();}import{CliErrors}from'../../errors.js';import{IGNORED_DIR_NAMES,IGNORED_FILE_NAMES,SKILL_FILE}from'./constants.js';export function fileContent(_0x3cc60d){const _0x5b8258=a140_0x2108;return _0x3cc60d[_0x5b8258(0x1f0)]??Buffer[_0x5b8258(0x1ef)](_0x3cc60d[_0x5b8258(0x206)]??'',_0x5b8258(0x215));}export function fileText(_0x57585e){const _0x44ead3=a140_0x2108;return fileContent(_0x57585e)[_0x44ead3(0x20d)](_0x44ead3(0x215));}export function normalizeLocalFiles(_0x4b0600){const _0x474f50=a140_0x2108;if(!Array['isArray'](_0x4b0600)||_0x4b0600[_0x474f50(0x203)]===0x0)return[];const _0x4be9f0=new Map();for(const _0x47816b of _0x4b0600){if(!_0x47816b||typeof _0x47816b!==_0x474f50(0x1fa)||typeof _0x47816b[_0x474f50(0x20b)]!==_0x474f50(0x214))throw CliErrors[_0x474f50(0x1ee)](_0x474f50(0x1ed));const _0xe97904=normalizeSkillRelativePath(_0x47816b[_0x474f50(0x20b)]);if(_0x4be9f0['has'](_0xe97904))throw CliErrors[_0x474f50(0x1ee)](_0x474f50(0x208)+_0xe97904);if(_0x47816b[_0x474f50(0x1f0)]!==undefined&&!Buffer['isBuffer'](_0x47816b[_0x474f50(0x1f0)]))throw CliErrors[_0x474f50(0x1ee)](_0x474f50(0x205)+_0xe97904);if(_0x47816b[_0x474f50(0x1f0)]===undefined&&typeof _0x47816b[_0x474f50(0x206)]!=='string')throw CliErrors[_0x474f50(0x1ee)](_0x474f50(0x213)+_0xe97904);const _0x52ae2e=fileContent(_0x47816b);_0x4be9f0['set'](_0xe97904,{'path':_0xe97904,'bytes':_0x52ae2e});}return Array[_0x474f50(0x1ef)](_0x4be9f0[_0x474f50(0x20c)]())[_0x474f50(0x201)](compareSkillFiles);}export function normalizeManifestFiles(_0x99b936){const _0x27405b=a140_0x2108;if(!Array[_0x27405b(0x1fd)](_0x99b936)||_0x99b936[_0x27405b(0x203)]===0x0)return[];const _0xcd8502=new Map();for(const _0xbf9a59 of _0x99b936){if(!_0xbf9a59||typeof _0xbf9a59!=='object'||typeof _0xbf9a59['path']!==_0x27405b(0x214))throw CliErrors['validation'](_0x27405b(0x1ed));const _0x522500=normalizeSkillRelativePath(_0xbf9a59['path']);if(_0xcd8502[_0x27405b(0x211)](_0x522500))throw CliErrors[_0x27405b(0x1ee)](_0x27405b(0x208)+_0x522500);if(!isSha256Hex(_0xbf9a59[_0x27405b(0x1f2)]))throw CliErrors[_0x27405b(0x1ee)](_0x27405b(0x1f1)+_0x522500);if(!Number[_0x27405b(0x1fc)](_0xbf9a59[_0x27405b(0x212)])||_0xbf9a59[_0x27405b(0x212)]<0x0)throw CliErrors[_0x27405b(0x1ee)](_0x27405b(0x216)+_0x522500);_0xcd8502['set'](_0x522500,{'path':_0x522500,'sha256':_0xbf9a59[_0x27405b(0x1f2)][_0x27405b(0x1ec)](),'size':_0xbf9a59[_0x27405b(0x212)]});}return Array['from'](_0xcd8502[_0x27405b(0x20c)]())[_0x27405b(0x201)](compareSkillFiles);}export function scanSkillDirectory(_0x127f6c,_0x5e5f11={}){const _0x2dc428=realpathSync(_0x127f6c),_0x371e7a=canonicalExcludedFilePaths(_0x5e5f11['excludedFilePaths']),_0x377c5d=[];function _0x380ed6(_0x12914c){const _0x524623=a140_0x2108,_0x583413=readdirSync(_0x12914c,{'withFileTypes':!![]})[_0x524623(0x201)]((_0x423424,_0x51e0e5)=>_0x423424[_0x524623(0x207)]['localeCompare'](_0x51e0e5['name']));for(const _0x35b340 of _0x583413){if(_0x35b340[_0x524623(0x1f3)]()&&IGNORED_DIR_NAMES[_0x524623(0x211)](_0x35b340[_0x524623(0x207)]))continue;if(IGNORED_FILE_NAMES['has'](_0x35b340[_0x524623(0x207)]))continue;const _0x13c916=resolve(_0x12914c,_0x35b340[_0x524623(0x207)]);if(isExcludedFilePath(_0x13c916,_0x371e7a))continue;if(_0x35b340[_0x524623(0x1f8)]())throw CliErrors[_0x524623(0x1ee)](_0x524623(0x1fb)+_0x13c916);const _0x20dccd=toPosixPath(relative(_0x2dc428,_0x13c916));if(_0x35b340[_0x524623(0x1f3)]()){_0x380ed6(_0x13c916);continue;}if(!_0x35b340[_0x524623(0x200)]())continue;validateSkillRelativePath(_0x20dccd);const _0x3f1afa=readFileSync(_0x13c916);_0x377c5d[_0x524623(0x1f4)]({'path':_0x20dccd,'bytes':_0x3f1afa});}}return _0x380ed6(_0x2dc428),normalizeLocalFiles(_0x377c5d);}function canonicalExcludedFilePaths(_0x477cc6){const _0x830f80=a140_0x2108,_0x429317=new Set();for(const _0x5c88e2 of _0x477cc6??[]){const _0x592703=resolve(_0x5c88e2);_0x429317[_0x830f80(0x210)](_0x592703);try{_0x429317[_0x830f80(0x210)](realpathSync(_0x592703));}catch{}}return _0x429317;}function isExcludedFilePath(_0x531179,_0x287aeb){const _0xab4477=a140_0x2108;if(_0x287aeb[_0xab4477(0x211)](_0x531179))return!![];if(_0x287aeb[_0xab4477(0x212)]===0x0)return![];try{return _0x287aeb[_0xab4477(0x211)](realpathSync(_0x531179));}catch{return![];}}export function compareSkillFiles(_0xe6d0e8,_0x1c7b80){const _0x5dc283=a140_0x2108;if(_0xe6d0e8['path']===SKILL_FILE)return _0x1c7b80[_0x5dc283(0x20b)]===SKILL_FILE?0x0:-0x1;if(_0x1c7b80[_0x5dc283(0x20b)]===SKILL_FILE)return 0x1;return Buffer[_0x5dc283(0x202)](Buffer[_0x5dc283(0x1ef)](_0xe6d0e8['path'],'utf8'),Buffer[_0x5dc283(0x1ef)](_0x1c7b80['path'],_0x5dc283(0x215)));}export function normalizeSkillRelativePath(_0x5dbb33){const _0x3e93a5=toPosixPath(_0x5dbb33['trim']());return validateSkillRelativePath(_0x3e93a5),_0x3e93a5;}function a140_0x2108(_0x435efb,_0x569997){_0x435efb=_0x435efb-0x1ec;const _0x260072=a140_0x2600();let _0x210896=_0x260072[_0x435efb];return _0x210896;}export function validateSkillRelativePath(_0x3fe261){const _0x8d4f7d=a140_0x2108;if(!_0x3fe261||_0x3fe261[_0x8d4f7d(0x209)]('/')||_0x3fe261['includes']('//'))throw CliErrors['validation']('Unsafe\x20Skill\x20file\x20path:\x20'+_0x3fe261);for(const _0x243ff3 of _0x3fe261['split']('/')){if(!_0x243ff3||_0x243ff3==='.'||_0x243ff3==='..')throw CliErrors[_0x8d4f7d(0x1ee)](_0x8d4f7d(0x204)+_0x3fe261);}}export function toPosixPath(_0xbffb1){return _0xbffb1['replace'](/\\/g,'/');}export function isSha256Hex(_0x41cc72){const _0x50e940=a140_0x2108;return typeof _0x41cc72===_0x50e940(0x214)&&/^[a-fA-F0-9]{64}$/[_0x50e940(0x1f5)](_0x41cc72);}
1
+ (function(_0x3c260b,_0x5a0546){const _0x45aa2d=a141_0x2e7d,_0x31b344=_0x3c260b();while(!![]){try{const _0x4b951e=parseInt(_0x45aa2d(0xbb))/0x1+parseInt(_0x45aa2d(0xc6))/0x2+parseInt(_0x45aa2d(0xba))/0x3*(parseInt(_0x45aa2d(0xbf))/0x4)+parseInt(_0x45aa2d(0xc2))/0x5+parseInt(_0x45aa2d(0xe1))/0x6*(parseInt(_0x45aa2d(0xe0))/0x7)+parseInt(_0x45aa2d(0xcb))/0x8+-parseInt(_0x45aa2d(0xc4))/0x9;if(_0x4b951e===_0x5a0546)break;else _0x31b344['push'](_0x31b344['shift']());}catch(_0x240678){_0x31b344['push'](_0x31b344['shift']());}}}(a141_0xcd87,0x2959a));import{readFileSync,readdirSync,realpathSync}from'node:fs';function a141_0xcd87(){const _0x22616a=['sha256','string','isBuffer','917YsEHdZ','1644cBabgL','name','size','has','utf8','54444PYERbC','63204NiMLaQ','Duplicate\x20Skill\x20file\x20path:\x20','Skill\x20directory\x20contains\x20unsupported\x20symlink:\x20','toString','32fmgrHd','set','localeCompare','583345fxntVf','trim','3914865iGGxBP','values','358104lSNKWe','replace','object','isSymbolicLink','includes','514816wlwSpO','content','sort','Skill\x20file\x20size\x20is\x20invalid:\x20','Skill\x20file\x20content\x20must\x20be\x20text\x20or\x20bytes:\x20','compare','push','from','Skill\x20file\x20bytes\x20must\x20be\x20a\x20Buffer:\x20','Unsafe\x20Skill\x20file\x20path:\x20','isSafeInteger','bytes','length','validation','excludedFilePaths','isDirectory','add','path'];a141_0xcd87=function(){return _0x22616a;};return a141_0xcd87();}import{relative,resolve}from'node:path';import{CliErrors}from'../../errors.js';import{IGNORED_DIR_NAMES,IGNORED_FILE_NAMES,SKILL_FILE}from'./constants.js';export function fileContent(_0x460450){const _0x3e34f4=a141_0x2e7d;return _0x460450[_0x3e34f4(0xd6)]??Buffer['from'](_0x460450[_0x3e34f4(0xcc)]??'','utf8');}export function fileText(_0x25842b){const _0x18f185=a141_0x2e7d;return fileContent(_0x25842b)[_0x18f185(0xbe)]('utf8');}export function normalizeLocalFiles(_0x6f551a){const _0x4f4a54=a141_0x2e7d;if(!Array['isArray'](_0x6f551a)||_0x6f551a[_0x4f4a54(0xd7)]===0x0)return[];const _0x19132=new Map();for(const _0x35b2a8 of _0x6f551a){if(!_0x35b2a8||typeof _0x35b2a8!==_0x4f4a54(0xc8)||typeof _0x35b2a8[_0x4f4a54(0xdc)]!==_0x4f4a54(0xde))throw CliErrors[_0x4f4a54(0xd8)]('Skill\x20file\x20path\x20must\x20be\x20text.');const _0x5e1f60=normalizeSkillRelativePath(_0x35b2a8['path']);if(_0x19132[_0x4f4a54(0xb8)](_0x5e1f60))throw CliErrors['validation'](_0x4f4a54(0xbc)+_0x5e1f60);if(_0x35b2a8[_0x4f4a54(0xd6)]!==undefined&&!Buffer[_0x4f4a54(0xdf)](_0x35b2a8[_0x4f4a54(0xd6)]))throw CliErrors[_0x4f4a54(0xd8)](_0x4f4a54(0xd3)+_0x5e1f60);if(_0x35b2a8[_0x4f4a54(0xd6)]===undefined&&typeof _0x35b2a8[_0x4f4a54(0xcc)]!==_0x4f4a54(0xde))throw CliErrors['validation'](_0x4f4a54(0xcf)+_0x5e1f60);const _0x45da9e=fileContent(_0x35b2a8);_0x19132[_0x4f4a54(0xc0)](_0x5e1f60,{'path':_0x5e1f60,'bytes':_0x45da9e});}return Array[_0x4f4a54(0xd2)](_0x19132[_0x4f4a54(0xc5)]())[_0x4f4a54(0xcd)](compareSkillFiles);}export function normalizeManifestFiles(_0x447fc9){const _0x2cc3b0=a141_0x2e7d;if(!Array['isArray'](_0x447fc9)||_0x447fc9[_0x2cc3b0(0xd7)]===0x0)return[];const _0x449cb3=new Map();for(const _0x1a27ec of _0x447fc9){if(!_0x1a27ec||typeof _0x1a27ec!==_0x2cc3b0(0xc8)||typeof _0x1a27ec[_0x2cc3b0(0xdc)]!=='string')throw CliErrors[_0x2cc3b0(0xd8)]('Skill\x20file\x20path\x20must\x20be\x20text.');const _0x330acf=normalizeSkillRelativePath(_0x1a27ec['path']);if(_0x449cb3[_0x2cc3b0(0xb8)](_0x330acf))throw CliErrors[_0x2cc3b0(0xd8)](_0x2cc3b0(0xbc)+_0x330acf);if(!isSha256Hex(_0x1a27ec[_0x2cc3b0(0xdd)]))throw CliErrors[_0x2cc3b0(0xd8)]('Skill\x20file\x20sha256\x20is\x20invalid:\x20'+_0x330acf);if(!Number[_0x2cc3b0(0xd5)](_0x1a27ec[_0x2cc3b0(0xe3)])||_0x1a27ec[_0x2cc3b0(0xe3)]<0x0)throw CliErrors[_0x2cc3b0(0xd8)](_0x2cc3b0(0xce)+_0x330acf);_0x449cb3[_0x2cc3b0(0xc0)](_0x330acf,{'path':_0x330acf,'sha256':_0x1a27ec[_0x2cc3b0(0xdd)]['toLowerCase'](),'size':_0x1a27ec[_0x2cc3b0(0xe3)]});}return Array[_0x2cc3b0(0xd2)](_0x449cb3['values']())[_0x2cc3b0(0xcd)](compareSkillFiles);}export function scanSkillDirectory(_0x2e82ee,_0x512d70={}){const _0xe18d7=a141_0x2e7d,_0x56674e=realpathSync(_0x2e82ee),_0x5a150d=canonicalExcludedFilePaths(_0x512d70[_0xe18d7(0xd9)]),_0x37d214=[];function _0x5bc9b7(_0x4ad7c3){const _0x58ac3c=_0xe18d7,_0x55d4b2=readdirSync(_0x4ad7c3,{'withFileTypes':!![]})[_0x58ac3c(0xcd)]((_0xfc5d9e,_0x2e696f)=>_0xfc5d9e[_0x58ac3c(0xe2)][_0x58ac3c(0xc1)](_0x2e696f[_0x58ac3c(0xe2)]));for(const _0x1e85dc of _0x55d4b2){if(_0x1e85dc[_0x58ac3c(0xda)]()&&IGNORED_DIR_NAMES['has'](_0x1e85dc[_0x58ac3c(0xe2)]))continue;if(IGNORED_FILE_NAMES[_0x58ac3c(0xb8)](_0x1e85dc[_0x58ac3c(0xe2)]))continue;const _0x6f2343=resolve(_0x4ad7c3,_0x1e85dc[_0x58ac3c(0xe2)]);if(isExcludedFilePath(_0x6f2343,_0x5a150d))continue;if(_0x1e85dc[_0x58ac3c(0xc9)]())throw CliErrors[_0x58ac3c(0xd8)](_0x58ac3c(0xbd)+_0x6f2343);const _0x4b4c36=toPosixPath(relative(_0x56674e,_0x6f2343));if(_0x1e85dc['isDirectory']()){_0x5bc9b7(_0x6f2343);continue;}if(!_0x1e85dc['isFile']())continue;validateSkillRelativePath(_0x4b4c36);const _0x1077f6=readFileSync(_0x6f2343);_0x37d214[_0x58ac3c(0xd1)]({'path':_0x4b4c36,'bytes':_0x1077f6});}}return _0x5bc9b7(_0x56674e),normalizeLocalFiles(_0x37d214);}function a141_0x2e7d(_0x37ba1f,_0xaa0528){_0x37ba1f=_0x37ba1f-0xb8;const _0xcd87a2=a141_0xcd87();let _0x2e7d3d=_0xcd87a2[_0x37ba1f];return _0x2e7d3d;}function canonicalExcludedFilePaths(_0x3dbe9f){const _0x387c9b=a141_0x2e7d,_0x52b260=new Set();for(const _0x3cf1b6 of _0x3dbe9f??[]){const _0x16600d=resolve(_0x3cf1b6);_0x52b260[_0x387c9b(0xdb)](_0x16600d);try{_0x52b260[_0x387c9b(0xdb)](realpathSync(_0x16600d));}catch{}}return _0x52b260;}function isExcludedFilePath(_0x4c7d31,_0x55389e){const _0x46add1=a141_0x2e7d;if(_0x55389e['has'](_0x4c7d31))return!![];if(_0x55389e[_0x46add1(0xe3)]===0x0)return![];try{return _0x55389e[_0x46add1(0xb8)](realpathSync(_0x4c7d31));}catch{return![];}}export function compareSkillFiles(_0x391bba,_0x10b7a0){const _0x3a3246=a141_0x2e7d;if(_0x391bba[_0x3a3246(0xdc)]===SKILL_FILE)return _0x10b7a0[_0x3a3246(0xdc)]===SKILL_FILE?0x0:-0x1;if(_0x10b7a0['path']===SKILL_FILE)return 0x1;return Buffer[_0x3a3246(0xd0)](Buffer[_0x3a3246(0xd2)](_0x391bba[_0x3a3246(0xdc)],_0x3a3246(0xb9)),Buffer[_0x3a3246(0xd2)](_0x10b7a0[_0x3a3246(0xdc)],_0x3a3246(0xb9)));}export function normalizeSkillRelativePath(_0xf19d3f){const _0x56663f=a141_0x2e7d,_0x2fbba0=toPosixPath(_0xf19d3f[_0x56663f(0xc3)]());return validateSkillRelativePath(_0x2fbba0),_0x2fbba0;}export function validateSkillRelativePath(_0x118837){const _0x251d79=a141_0x2e7d;if(!_0x118837||_0x118837['startsWith']('/')||_0x118837[_0x251d79(0xca)]('//'))throw CliErrors[_0x251d79(0xd8)]('Unsafe\x20Skill\x20file\x20path:\x20'+_0x118837);for(const _0x45c421 of _0x118837['split']('/')){if(!_0x45c421||_0x45c421==='.'||_0x45c421==='..')throw CliErrors[_0x251d79(0xd8)](_0x251d79(0xd4)+_0x118837);}}export function toPosixPath(_0x1a8551){const _0x1e57ba=a141_0x2e7d;return _0x1a8551[_0x1e57ba(0xc7)](/\\/g,'/');}export function isSha256Hex(_0x4ff6a3){const _0x417281=a141_0x2e7d;return typeof _0x4ff6a3===_0x417281(0xde)&&/^[a-fA-F0-9]{64}$/['test'](_0x4ff6a3);}
@@ -1 +1 @@
1
- (function(_0x4a2cfc,_0x8ba15c){const _0xc4fad7=a141_0x4833,_0x5af903=_0x4a2cfc();while(!![]){try{const _0x48d3a4=-parseInt(_0xc4fad7(0xb3))/0x1*(-parseInt(_0xc4fad7(0xae))/0x2)+-parseInt(_0xc4fad7(0xc5))/0x3*(parseInt(_0xc4fad7(0xdd))/0x4)+parseInt(_0xc4fad7(0xd6))/0x5*(-parseInt(_0xc4fad7(0xbc))/0x6)+-parseInt(_0xc4fad7(0xac))/0x7*(-parseInt(_0xc4fad7(0xda))/0x8)+-parseInt(_0xc4fad7(0xc0))/0x9*(-parseInt(_0xc4fad7(0xcd))/0xa)+-parseInt(_0xc4fad7(0xd3))/0xb+parseInt(_0xc4fad7(0xe0))/0xc;if(_0x48d3a4===_0x8ba15c)break;else _0x5af903['push'](_0x5af903['shift']());}catch(_0x50b369){_0x5af903['push'](_0x5af903['shift']());}}}(a141_0x5358,0x532e0));import{existsSync,lstatSync,mkdirSync,readFileSync,rmSync}from'node:fs';import{dirname,resolve}from'node:path';import{isCollection,isMap,isNode,parseDocument,visit}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{resolveManagedFilePath,writeBytesAtomic,writeJsonAtomic}from'./fs-utils.js';import{bufferSha256,contentHash,fileHash}from'./hashing.js';import{fileContent,fileText,normalizeLocalFiles}from'./local-files.js';import{buildMetadata,readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillDir}from'./paths.js';import{extractDownloadedPackage,requirePackageBytes}from'./zip-package.js';export function materializeRuntimeSkill(_0x39526a,_0x350df6,_0xd494f6){const _0x424b8b=a141_0x4833,_0x581f8c=requireSkillCode(_0x39526a),_0x32ad6b=requirePackageBytes(_0x581f8c,_0xd494f6[_0x424b8b(0xd8)]),_0x530e65=extractDownloadedPackage(_0x32ad6b),_0x21fc1e=_0x530e65[_0x424b8b(0xc1)](_0x11d127=>_0x11d127[_0x424b8b(0xc3)]===SKILL_FILE);if(!_0x21fc1e)throw CliErrors[_0x424b8b(0xd2)](_0x424b8b(0xc4)+SKILL_FILE+':\x20'+_0x581f8c);const _0x59b8d9=withMaterializedSkillFrontmatter(_0x530e65,_0x39526a,_0x581f8c),_0x309b9a=_0x59b8d9[_0x424b8b(0xc1)](_0x228f42=>_0x228f42[_0x424b8b(0xc3)]===SKILL_FILE),_0x2fe2af=fileText(_0x309b9a),_0x20784f=getRuntimeSkillDir(_0xd494f6[_0x424b8b(0xd0)],_0xd494f6[_0x424b8b(0xe1)],_0xd494f6[_0x424b8b(0xc6)],_0x350df6,_0x581f8c,_0xd494f6['paths']),_0x5c6e29=resolve(_0x20784f,SKILL_FILE),_0x19447f=resolve(_0x20784f,METADATA_FILE),_0x3fa440=contentHash(_0x2fe2af),_0x769a1f=readMetadataIfPresent(_0x19447f)?.[_0x424b8b(0xbf)];ensurePulledFilesCanBeOverwritten(_0x20784f,_0x19447f,_0x59b8d9,_0xd494f6['force']===!![]),mkdirSync(_0x20784f,{'recursive':!![],'mode':0x1c0});const _0x1c97a8=existsSync(_0x5c6e29)?readFileSync(_0x5c6e29,_0x424b8b(0xe3)):undefined;return materializeFiles(_0x20784f,_0x59b8d9),removeStaleManagedFiles(_0x20784f,_0x769a1f,_0x59b8d9),writeJsonAtomic(_0x19447f,buildMetadata(_0x39526a,_0x350df6,_0xd494f6[_0x424b8b(0xc6)],_0x3fa440,_0xd494f6[_0x424b8b(0xbe)],_0x59b8d9,_0x32ad6b)),{'skill':_0x39526a,'scope':_0x350df6,'dir':_0x20784f,'skillMdPath':_0x5c6e29,'metadataPath':_0x19447f,'contentHash':_0x3fa440,'changed':_0x1c97a8!==_0x2fe2af};}export function reuseMaterializedRuntimeSkill(_0x360537,_0x2fe3bc,_0x12104b){const _0x4fcd1e=a141_0x4833,_0x404b6e=_0x360537[_0x4fcd1e(0xb6)]?.[_0x4fcd1e(0xa8)]();if(!_0x404b6e)return undefined;const _0x517751=requireSkillCode(_0x360537),_0x2febb4=getRuntimeSkillDir(_0x12104b[_0x4fcd1e(0xd0)],_0x12104b[_0x4fcd1e(0xe1)],_0x12104b[_0x4fcd1e(0xc6)],_0x2fe3bc,_0x517751,_0x12104b['paths']),_0x466cfc=resolve(_0x2febb4,SKILL_FILE),_0xb74409=resolve(_0x2febb4,METADATA_FILE),_0x58689f=readMetadataIfPresent(_0xb74409);if(!_0x58689f||_0x58689f[_0x4fcd1e(0xb2)]!==0x2||_0x58689f[_0x4fcd1e(0xc6)]!==_0x12104b[_0x4fcd1e(0xc6)]||_0x58689f[_0x4fcd1e(0xca)]!==_0x2fe3bc||_0x58689f[_0x4fcd1e(0xb1)]!==_0x517751||_0x58689f[_0x4fcd1e(0xb6)]!==_0x404b6e||_0x58689f['id']!==_0x360537['id']||_0x58689f['skillName']!==_0x360537[_0x4fcd1e(0xba)]||_0x58689f[_0x4fcd1e(0xad)]!==_0x360537['description']||_0x58689f[_0x4fcd1e(0xdb)]!==_0x360537[_0x4fcd1e(0xdb)]||_0x58689f[_0x4fcd1e(0xb4)]!==_0x360537['status']||!_0x58689f[_0x4fcd1e(0xe2)]||!_0x58689f['fileHashes']||!Object[_0x4fcd1e(0xcc)](_0x58689f[_0x4fcd1e(0xbf)],SKILL_FILE))return undefined;for(const [_0x1636ab,_0x2076ea]of Object[_0x4fcd1e(0xe4)](_0x58689f[_0x4fcd1e(0xbf)])){if(!/^[a-f0-9]{64}$/[_0x4fcd1e(0xbd)](_0x2076ea))return undefined;const _0x3dae74=resolveManagedFilePath(_0x2febb4,_0x1636ab);if(!existsSync(_0x3dae74)||!lstatSync(_0x3dae74)[_0x4fcd1e(0xd7)]())return undefined;if(bufferSha256(readFileSync(_0x3dae74))!==_0x2076ea)return undefined;}return{'skill':_0x360537,'scope':_0x2fe3bc,'dir':_0x2febb4,'skillMdPath':_0x466cfc,'metadataPath':_0xb74409,'contentHash':_0x58689f[_0x4fcd1e(0xe2)],'changed':![]};}function withMaterializedSkillFrontmatter(_0x142158,_0x277271,_0x4e0949){const _0xae5079=a141_0x4833,_0x307fae=skillDisplayName(_0x277271,_0x4e0949),_0x404662=_0x277271[_0xae5079(0xad)]?.[_0xae5079(0xa8)]()||_0x307fae||_0x4e0949;return normalizeLocalFiles(_0x142158)[_0xae5079(0xbb)](_0x370f5c=>{const _0x5ae445=_0xae5079,_0x86afef=fileText(_0x370f5c);if(_0x370f5c['path']!==SKILL_FILE)return _0x370f5c;if(hasYamlFrontmatter(_0x86afef))return{'path':_0x370f5c[_0x5ae445(0xc3)],'content':withSyncedDisplayName(_0x86afef,_0x307fae)};return{'path':_0x370f5c[_0x5ae445(0xc3)],'content':prependSkillFrontmatter(_0x86afef,{'name':_0x4e0949,'displayName':_0x307fae,'description':_0x404662})};});}function hasYamlFrontmatter(_0x31fce1){const _0x647fec=a141_0x4833;return/^\uFEFF?---\s*\r?\n/[_0x647fec(0xbd)](_0x31fce1);}function a141_0x5358(){const _0x2268a5=['schemaVersion','797qHbuWm','status','trimEnd','version','match','---\x0a','displayName:\x20','skillName','map','312olRmRp','test','pulledAt','fileHashes','594QmBDTM','find','Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20','path','Runtime\x20Skill\x20package\x20is\x20missing\x20','633RKtqBl','appCode','keys','displayName','flow','scope','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.\x20Changed\x20file:\x20','hasOwn','94730LyEqKP','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.','stringify','env','.\x20Changed\x20file:\x20','validation','3130061phFvbW','name:\x20','has','26115JMaOFT','isFile','packageBytes','length','1112WpWWWN','example','Remote\x20Skill\x20would\x20overwrite\x20an\x20unmanaged\x20local\x20file:\x20','12536jymbSo','Local\x20SKILL.md\x20has\x20unpushed\x20edits:\x20','\x0a---\x0a\x0a','1084824VtWdkC','accessKey','contentHash','utf8','entries','join','description:\x20','trim','replace','---','name','15617BWttiG','description','1336CtKuAp','Managed\x20file\x20is\x20no\x20longer\x20a\x20regular\x20file:\x20','set','skillCode'];a141_0x5358=function(){return _0x2268a5;};return a141_0x5358();}function prependSkillFrontmatter(_0x5212cf,_0x25ca3a){const _0x96f4d8=a141_0x4833,_0x282260=_0x5212cf[_0x96f4d8(0xa9)](/^\uFEFF/,'');return[_0x96f4d8(0xaa),_0x96f4d8(0xd4)+yamlString(_0x25ca3a[_0x96f4d8(0xab)]),_0x25ca3a[_0x96f4d8(0xc8)]?_0x96f4d8(0xb9)+yamlString(_0x25ca3a[_0x96f4d8(0xc8)]):undefined,_0x96f4d8(0xa7)+yamlString(_0x25ca3a[_0x96f4d8(0xad)]),_0x96f4d8(0xaa),'',_0x282260]['filter'](_0x3a7f49=>_0x3a7f49!==undefined)[_0x96f4d8(0xe5)]('\x0a');}function yamlString(_0x20fb21){const _0x268612=a141_0x4833;return JSON[_0x268612(0xcf)](_0x20fb21[_0x268612(0xa9)](/\r/g,'')[_0x268612(0xa8)]());}function skillDisplayName(_0x288230,_0x25ccf4){const _0x1d2906=a141_0x4833,_0x52df5c=_0x288230['skillName']?.[_0x1d2906(0xa8)]();return _0x52df5c||_0x25ccf4;}function a141_0x4833(_0x2483a6,_0x1428ca){_0x2483a6=_0x2483a6-0xa7;const _0x5358f9=a141_0x5358();let _0x4833ba=_0x5358f9[_0x2483a6];return _0x4833ba;}function withSyncedDisplayName(_0x547eb3,_0x22d8f8){const _0x55b17a=a141_0x4833,_0x3aee6d=_0x547eb3[_0x55b17a(0xb7)](/^(\uFEFF?)---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x3aee6d)return _0x547eb3;const _0x524b68=_0x3aee6d[0x1]??'',_0x281c29=_0x3aee6d[0x2]??'',_0x324613=parseDocument(_0x281c29);if(_0x324613['errors'][_0x55b17a(0xd9)]>0x0||!isMap(_0x324613['contents']))return _0x547eb3;if(_0x22d8f8)_0x324613[_0x55b17a(0xb0)](_0x55b17a(0xc8),_0x22d8f8);else{if(_0x324613[_0x55b17a(0xd5)]('displayName'))_0x324613['delete']('displayName');else return _0x547eb3;}forceBlockCollections(_0x324613['contents']);const _0x3fdaab=_0x324613['toString']({'lineWidth':0x0})[_0x55b17a(0xb5)](),_0x88ee13=_0x547eb3['slice'](_0x3aee6d[0x0][_0x55b17a(0xd9)])[_0x55b17a(0xa9)](/^\r?\n/,'');return _0x524b68+_0x55b17a(0xb8)+_0x3fdaab+_0x55b17a(0xdf)+_0x88ee13;}function forceBlockCollections(_0x5a47fb){if(!isNode(_0x5a47fb))return;visit(_0x5a47fb,(_0x23fd98,_0x40ab52)=>{const _0x2cba0f=a141_0x4833;isCollection(_0x40ab52)&&(_0x40ab52[_0x2cba0f(0xc9)]=![]);});}function ensurePulledFilesCanBeOverwritten(_0x296c62,_0x1fc5f9,_0x455537,_0x1c475a){const _0x3864af=a141_0x4833;if(_0x1c475a||!existsSync(_0x1fc5f9))return;const _0x86b5f8=readMetadataIfPresent(_0x1fc5f9);if(!_0x86b5f8)return;const _0x44c98d=_0x86b5f8[_0x3864af(0xbf)]&&Object[_0x3864af(0xc7)](_0x86b5f8[_0x3864af(0xbf)])[_0x3864af(0xd9)]>0x0?_0x86b5f8[_0x3864af(0xbf)]:undefined;if(_0x44c98d)for(const [_0x18bd8f,_0x1246eb]of Object[_0x3864af(0xe4)](_0x44c98d)){const _0x413ccf=resolveManagedFilePath(_0x296c62,_0x18bd8f);if(!existsSync(_0x413ccf))throw CliErrors['validation'](_0x3864af(0xc2)+_0x296c62,'Managed\x20file\x20was\x20removed\x20locally:\x20'+_0x18bd8f);const _0xa74846=lstatSync(_0x413ccf);if(!_0xa74846['isFile']())throw CliErrors['validation'](_0x3864af(0xc2)+_0x296c62,_0x3864af(0xaf)+_0x18bd8f);const _0x28a793=bufferSha256(readFileSync(_0x413ccf));if(_0x28a793!==_0x1246eb)throw CliErrors['validation'](_0x3864af(0xc2)+_0x296c62+_0x3864af(0xd1)+_0x18bd8f,_0x3864af(0xcb)+_0x18bd8f);}else{const _0x4f5b4d=resolve(_0x296c62,SKILL_FILE);if(existsSync(_0x4f5b4d)&&_0x86b5f8['contentHash']){const _0x267fc6=contentHash(readFileSync(_0x4f5b4d,_0x3864af(0xe3)));if(_0x267fc6!==_0x86b5f8[_0x3864af(0xe2)])throw CliErrors[_0x3864af(0xd2)](_0x3864af(0xde)+_0x4f5b4d,_0x3864af(0xce));}}for(const _0x22cdd1 of normalizeLocalFiles(_0x455537)){if(_0x44c98d?.[_0x22cdd1['path']])continue;if(!_0x44c98d&&_0x22cdd1[_0x3864af(0xc3)]===SKILL_FILE)continue;const _0x190824=resolveManagedFilePath(_0x296c62,_0x22cdd1[_0x3864af(0xc3)]);if(!existsSync(_0x190824))continue;const _0x37f1e6=lstatSync(_0x190824);if(!_0x37f1e6[_0x3864af(0xd7)]())throw CliErrors['validation']('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x296c62,'Remote\x20Skill\x20would\x20overwrite\x20a\x20local\x20non-file\x20path:\x20'+_0x22cdd1[_0x3864af(0xc3)]);const _0x4d3bad=bufferSha256(readFileSync(_0x190824));if(_0x4d3bad!==fileHash(_0x22cdd1))throw CliErrors['validation']('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x296c62,_0x3864af(0xdc)+_0x22cdd1[_0x3864af(0xc3)]);}}function materializeFiles(_0x4bf505,_0x471939){const _0x998050=a141_0x4833;for(const _0x4b9b80 of normalizeLocalFiles(_0x471939)){const _0x4a2b9d=resolveManagedFilePath(_0x4bf505,_0x4b9b80[_0x998050(0xc3)]);mkdirSync(dirname(_0x4a2b9d),{'recursive':!![],'mode':0x1c0}),writeBytesAtomic(_0x4a2b9d,fileContent(_0x4b9b80),0x180);}}function removeStaleManagedFiles(_0x47b814,_0x32616b,_0x317512){const _0x3ea91c=a141_0x4833;if(!_0x32616b)return;const _0x15714d=new Set(normalizeLocalFiles(_0x317512)[_0x3ea91c(0xbb)](_0x3c6201=>_0x3c6201[_0x3ea91c(0xc3)]));for(const _0x2e594f of Object[_0x3ea91c(0xc7)](_0x32616b)){if(_0x15714d[_0x3ea91c(0xd5)](_0x2e594f))continue;const _0x2b581a=resolveManagedFilePath(_0x47b814,_0x2e594f);existsSync(_0x2b581a)&&lstatSync(_0x2b581a)[_0x3ea91c(0xd7)]()&&rmSync(_0x2b581a,{'force':!![]});}}
1
+ (function(_0x488bb2,_0x1505fd){const _0x5aa9e2=a142_0x5a84,_0x18c7d9=_0x488bb2();while(!![]){try{const _0xd262c8=parseInt(_0x5aa9e2(0x1a7))/0x1+parseInt(_0x5aa9e2(0x1bb))/0x2*(-parseInt(_0x5aa9e2(0x198))/0x3)+parseInt(_0x5aa9e2(0x1ae))/0x4*(-parseInt(_0x5aa9e2(0x18c))/0x5)+parseInt(_0x5aa9e2(0x18f))/0x6+parseInt(_0x5aa9e2(0x196))/0x7+-parseInt(_0x5aa9e2(0x1af))/0x8*(parseInt(_0x5aa9e2(0x1ab))/0x9)+parseInt(_0x5aa9e2(0x1a1))/0xa;if(_0xd262c8===_0x1505fd)break;else _0x18c7d9['push'](_0x18c7d9['shift']());}catch(_0x21ea53){_0x18c7d9['push'](_0x18c7d9['shift']());}}}(a142_0x5a67,0xa3865));function a142_0x5a84(_0x428e6f,_0x1196ab){_0x428e6f=_0x428e6f-0x188;const _0x5a67c7=a142_0x5a67();let _0x5a84cd=_0x5a67c7[_0x428e6f];return _0x5a84cd;}import{existsSync,lstatSync,mkdirSync,readFileSync,rmSync}from'node:fs';import{dirname,resolve}from'node:path';import{isCollection,isMap,isNode,parseDocument,visit}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{resolveManagedFilePath,writeBytesAtomic,writeJsonAtomic}from'./fs-utils.js';import{bufferSha256,contentHash,fileHash}from'./hashing.js';import{fileContent,fileText,normalizeLocalFiles}from'./local-files.js';import{buildMetadata,readMetadataIfPresent,requireSkillCode}from'./metadata.js';function a142_0x5a67(){const _0x3ae318=['test','schemaVersion','delete','---\x0a','packageBytes','env','filter','5055370JJnqnm','trimEnd','match','name:\x20','validation','.\x20Changed\x20file:\x20','434683HcXRKk','replace','Remote\x20Skill\x20would\x20overwrite\x20a\x20local\x20non-file\x20path:\x20','appCode','3805164QZSHwF','contentHash','contents','62668zayZEQ','8CAKqys','map','join','length','scope','example','pulledAt','skillName','entries','keys','path','errors','1332556yKLlNM','name','Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20','version','isFile','utf8','fileHashes','set','skillCode','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.','trim','150wpZepb','Managed\x20file\x20was\x20removed\x20locally:\x20','paths','7666146GPLnMu','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.\x20Changed\x20file:\x20','has','description','accessKey','find','displayName','76790hsJQbl','hasOwn','3LZsuTz','Runtime\x20Skill\x20package\x20is\x20missing\x20'];a142_0x5a67=function(){return _0x3ae318;};return a142_0x5a67();}import{getRuntimeSkillDir}from'./paths.js';import{extractDownloadedPackage,requirePackageBytes}from'./zip-package.js';export function materializeRuntimeSkill(_0x655de1,_0x345726,_0x4d36ca){const _0x16bf1d=a142_0x5a84,_0x4bee79=requireSkillCode(_0x655de1),_0x444ea9=requirePackageBytes(_0x4bee79,_0x4d36ca[_0x16bf1d(0x19e)]),_0x4f118c=extractDownloadedPackage(_0x444ea9),_0x5de61c=_0x4f118c[_0x16bf1d(0x194)](_0x116933=>_0x116933[_0x16bf1d(0x1b9)]===SKILL_FILE);if(!_0x5de61c)throw CliErrors['validation'](_0x16bf1d(0x199)+SKILL_FILE+':\x20'+_0x4bee79);const _0x5ca8ce=withMaterializedSkillFrontmatter(_0x4f118c,_0x655de1,_0x4bee79),_0x2c61b6=_0x5ca8ce['find'](_0x19748d=>_0x19748d[_0x16bf1d(0x1b9)]===SKILL_FILE),_0x14c9cc=fileText(_0x2c61b6),_0x349129=getRuntimeSkillDir(_0x4d36ca['env'],_0x4d36ca[_0x16bf1d(0x193)],_0x4d36ca[_0x16bf1d(0x1aa)],_0x345726,_0x4bee79,_0x4d36ca[_0x16bf1d(0x18e)]),_0x3bc464=resolve(_0x349129,SKILL_FILE),_0x523382=resolve(_0x349129,METADATA_FILE),_0x2d6040=contentHash(_0x14c9cc),_0x5a5722=readMetadataIfPresent(_0x523382)?.['fileHashes'];ensurePulledFilesCanBeOverwritten(_0x349129,_0x523382,_0x5ca8ce,_0x4d36ca['force']===!![]),mkdirSync(_0x349129,{'recursive':!![],'mode':0x1c0});const _0x34ad4e=existsSync(_0x3bc464)?readFileSync(_0x3bc464,_0x16bf1d(0x1c0)):undefined;return materializeFiles(_0x349129,_0x5ca8ce),removeStaleManagedFiles(_0x349129,_0x5a5722,_0x5ca8ce),writeJsonAtomic(_0x523382,buildMetadata(_0x655de1,_0x345726,_0x4d36ca['appCode'],_0x2d6040,_0x4d36ca[_0x16bf1d(0x1b5)],_0x5ca8ce,_0x444ea9)),{'skill':_0x655de1,'scope':_0x345726,'dir':_0x349129,'skillMdPath':_0x3bc464,'metadataPath':_0x523382,'contentHash':_0x2d6040,'changed':_0x34ad4e!==_0x14c9cc};}export function reuseMaterializedRuntimeSkill(_0x39d490,_0x167746,_0x191907){const _0x23f990=a142_0x5a84,_0x519065=_0x39d490['version']?.[_0x23f990(0x18b)]();if(!_0x519065)return undefined;const _0x3bb683=requireSkillCode(_0x39d490),_0x3956df=getRuntimeSkillDir(_0x191907[_0x23f990(0x19f)],_0x191907['accessKey'],_0x191907[_0x23f990(0x1aa)],_0x167746,_0x3bb683,_0x191907[_0x23f990(0x18e)]),_0x250945=resolve(_0x3956df,SKILL_FILE),_0x36b8cd=resolve(_0x3956df,METADATA_FILE),_0x5bfc24=readMetadataIfPresent(_0x36b8cd);if(!_0x5bfc24||_0x5bfc24[_0x23f990(0x19b)]!==0x2||_0x5bfc24[_0x23f990(0x1aa)]!==_0x191907['appCode']||_0x5bfc24[_0x23f990(0x1b3)]!==_0x167746||_0x5bfc24[_0x23f990(0x189)]!==_0x3bb683||_0x5bfc24[_0x23f990(0x1be)]!==_0x519065||_0x5bfc24['id']!==_0x39d490['id']||_0x5bfc24[_0x23f990(0x1b6)]!==_0x39d490[_0x23f990(0x1b6)]||_0x5bfc24[_0x23f990(0x192)]!==_0x39d490[_0x23f990(0x192)]||_0x5bfc24[_0x23f990(0x1b4)]!==_0x39d490[_0x23f990(0x1b4)]||_0x5bfc24['status']!==_0x39d490['status']||!_0x5bfc24[_0x23f990(0x1ac)]||!_0x5bfc24[_0x23f990(0x1c1)]||!Object[_0x23f990(0x197)](_0x5bfc24[_0x23f990(0x1c1)],SKILL_FILE))return undefined;for(const [_0x1674ab,_0x4f0911]of Object['entries'](_0x5bfc24[_0x23f990(0x1c1)])){if(!/^[a-f0-9]{64}$/['test'](_0x4f0911))return undefined;const _0x9475dd=resolveManagedFilePath(_0x3956df,_0x1674ab);if(!existsSync(_0x9475dd)||!lstatSync(_0x9475dd)[_0x23f990(0x1bf)]())return undefined;if(bufferSha256(readFileSync(_0x9475dd))!==_0x4f0911)return undefined;}return{'skill':_0x39d490,'scope':_0x167746,'dir':_0x3956df,'skillMdPath':_0x250945,'metadataPath':_0x36b8cd,'contentHash':_0x5bfc24[_0x23f990(0x1ac)],'changed':![]};}function withMaterializedSkillFrontmatter(_0x2386ad,_0x2beb9a,_0x292c2b){const _0x176978=a142_0x5a84,_0x2d4952=skillDisplayName(_0x2beb9a,_0x292c2b),_0x90d4f=_0x2beb9a['description']?.['trim']()||_0x2d4952||_0x292c2b;return normalizeLocalFiles(_0x2386ad)[_0x176978(0x1b0)](_0x120d85=>{const _0x53410d=_0x176978,_0x3b55ff=fileText(_0x120d85);if(_0x120d85[_0x53410d(0x1b9)]!==SKILL_FILE)return _0x120d85;if(hasYamlFrontmatter(_0x3b55ff))return{'path':_0x120d85[_0x53410d(0x1b9)],'content':withSyncedDisplayName(_0x3b55ff,_0x2d4952)};return{'path':_0x120d85['path'],'content':prependSkillFrontmatter(_0x3b55ff,{'name':_0x292c2b,'displayName':_0x2d4952,'description':_0x90d4f})};});}function hasYamlFrontmatter(_0x5e1bdb){const _0x32d574=a142_0x5a84;return/^\uFEFF?---\s*\r?\n/[_0x32d574(0x19a)](_0x5e1bdb);}function prependSkillFrontmatter(_0x3187ce,_0x343766){const _0x1ab8ed=a142_0x5a84,_0x3e1def=_0x3187ce[_0x1ab8ed(0x1a8)](/^\uFEFF/,'');return['---',_0x1ab8ed(0x1a4)+yamlString(_0x343766[_0x1ab8ed(0x1bc)]),_0x343766[_0x1ab8ed(0x195)]?'displayName:\x20'+yamlString(_0x343766['displayName']):undefined,'description:\x20'+yamlString(_0x343766[_0x1ab8ed(0x192)]),'---','',_0x3e1def][_0x1ab8ed(0x1a0)](_0x28a1d1=>_0x28a1d1!==undefined)[_0x1ab8ed(0x1b1)]('\x0a');}function yamlString(_0x2a9fac){const _0x1dc8f4=a142_0x5a84;return JSON['stringify'](_0x2a9fac[_0x1dc8f4(0x1a8)](/\r/g,'')['trim']());}function skillDisplayName(_0x3b15e5,_0x149778){const _0x2c9023=a142_0x5a84,_0x37052a=_0x3b15e5[_0x2c9023(0x1b6)]?.[_0x2c9023(0x18b)]();return _0x37052a||_0x149778;}function withSyncedDisplayName(_0x344025,_0x41a25e){const _0x3eb98d=a142_0x5a84,_0x4d5fbf=_0x344025[_0x3eb98d(0x1a3)](/^(\uFEFF?)---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x4d5fbf)return _0x344025;const _0x20e622=_0x4d5fbf[0x1]??'',_0x4c2c73=_0x4d5fbf[0x2]??'',_0x3baf3d=parseDocument(_0x4c2c73);if(_0x3baf3d[_0x3eb98d(0x1ba)][_0x3eb98d(0x1b2)]>0x0||!isMap(_0x3baf3d[_0x3eb98d(0x1ad)]))return _0x344025;if(_0x41a25e)_0x3baf3d[_0x3eb98d(0x188)](_0x3eb98d(0x195),_0x41a25e);else{if(_0x3baf3d['has'](_0x3eb98d(0x195)))_0x3baf3d[_0x3eb98d(0x19c)](_0x3eb98d(0x195));else return _0x344025;}forceBlockCollections(_0x3baf3d[_0x3eb98d(0x1ad)]);const _0x56c039=_0x3baf3d['toString']({'lineWidth':0x0})[_0x3eb98d(0x1a2)](),_0x30dd54=_0x344025['slice'](_0x4d5fbf[0x0][_0x3eb98d(0x1b2)])[_0x3eb98d(0x1a8)](/^\r?\n/,'');return _0x20e622+_0x3eb98d(0x19d)+_0x56c039+'\x0a---\x0a\x0a'+_0x30dd54;}function forceBlockCollections(_0x177db3){if(!isNode(_0x177db3))return;visit(_0x177db3,(_0x5d1a9d,_0x150680)=>{isCollection(_0x150680)&&(_0x150680['flow']=![]);});}function ensurePulledFilesCanBeOverwritten(_0x4cd7c6,_0x540c7c,_0x54da99,_0x16042c){const _0x81f454=a142_0x5a84;if(_0x16042c||!existsSync(_0x540c7c))return;const _0x428439=readMetadataIfPresent(_0x540c7c);if(!_0x428439)return;const _0x209802=_0x428439[_0x81f454(0x1c1)]&&Object[_0x81f454(0x1b8)](_0x428439[_0x81f454(0x1c1)])[_0x81f454(0x1b2)]>0x0?_0x428439['fileHashes']:undefined;if(_0x209802)for(const [_0x3bca02,_0x2d9b20]of Object[_0x81f454(0x1b7)](_0x209802)){const _0x4f5b9e=resolveManagedFilePath(_0x4cd7c6,_0x3bca02);if(!existsSync(_0x4f5b9e))throw CliErrors[_0x81f454(0x1a5)](_0x81f454(0x1bd)+_0x4cd7c6,_0x81f454(0x18d)+_0x3bca02);const _0x3f8451=lstatSync(_0x4f5b9e);if(!_0x3f8451['isFile']())throw CliErrors[_0x81f454(0x1a5)]('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x4cd7c6,'Managed\x20file\x20is\x20no\x20longer\x20a\x20regular\x20file:\x20'+_0x3bca02);const _0x2f95c3=bufferSha256(readFileSync(_0x4f5b9e));if(_0x2f95c3!==_0x2d9b20)throw CliErrors[_0x81f454(0x1a5)](_0x81f454(0x1bd)+_0x4cd7c6+_0x81f454(0x1a6)+_0x3bca02,_0x81f454(0x190)+_0x3bca02);}else{const _0x176b30=resolve(_0x4cd7c6,SKILL_FILE);if(existsSync(_0x176b30)&&_0x428439[_0x81f454(0x1ac)]){const _0xc3bea3=contentHash(readFileSync(_0x176b30,_0x81f454(0x1c0)));if(_0xc3bea3!==_0x428439[_0x81f454(0x1ac)])throw CliErrors['validation']('Local\x20SKILL.md\x20has\x20unpushed\x20edits:\x20'+_0x176b30,_0x81f454(0x18a));}}for(const _0xa03501 of normalizeLocalFiles(_0x54da99)){if(_0x209802?.[_0xa03501[_0x81f454(0x1b9)]])continue;if(!_0x209802&&_0xa03501[_0x81f454(0x1b9)]===SKILL_FILE)continue;const _0x269c90=resolveManagedFilePath(_0x4cd7c6,_0xa03501[_0x81f454(0x1b9)]);if(!existsSync(_0x269c90))continue;const _0x3ba1de=lstatSync(_0x269c90);if(!_0x3ba1de[_0x81f454(0x1bf)]())throw CliErrors['validation']('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x4cd7c6,_0x81f454(0x1a9)+_0xa03501[_0x81f454(0x1b9)]);const _0x3d5a45=bufferSha256(readFileSync(_0x269c90));if(_0x3d5a45!==fileHash(_0xa03501))throw CliErrors[_0x81f454(0x1a5)](_0x81f454(0x1bd)+_0x4cd7c6,'Remote\x20Skill\x20would\x20overwrite\x20an\x20unmanaged\x20local\x20file:\x20'+_0xa03501[_0x81f454(0x1b9)]);}}function materializeFiles(_0x21628c,_0x2c9e88){const _0x3e49d0=a142_0x5a84;for(const _0x1c968b of normalizeLocalFiles(_0x2c9e88)){const _0x5c021d=resolveManagedFilePath(_0x21628c,_0x1c968b[_0x3e49d0(0x1b9)]);mkdirSync(dirname(_0x5c021d),{'recursive':!![],'mode':0x1c0}),writeBytesAtomic(_0x5c021d,fileContent(_0x1c968b),0x180);}}function removeStaleManagedFiles(_0x5700ba,_0x362b1b,_0x12e03f){const _0x216104=a142_0x5a84;if(!_0x362b1b)return;const _0xded917=new Set(normalizeLocalFiles(_0x12e03f)[_0x216104(0x1b0)](_0x5c8986=>_0x5c8986[_0x216104(0x1b9)]));for(const _0x54ca41 of Object[_0x216104(0x1b8)](_0x362b1b)){if(_0xded917[_0x216104(0x191)](_0x54ca41))continue;const _0x2e5879=resolveManagedFilePath(_0x5700ba,_0x54ca41);existsSync(_0x2e5879)&&lstatSync(_0x2e5879)[_0x216104(0x1bf)]()&&rmSync(_0x2e5879,{'force':!![]});}}
@@ -1 +1 @@
1
- (function(_0x338144,_0x8148eb){const _0x29b6b0=a142_0x1771,_0xf0c5ad=_0x338144();while(!![]){try{const _0x434c34=parseInt(_0x29b6b0(0x14b))/0x1+parseInt(_0x29b6b0(0x14c))/0x2+-parseInt(_0x29b6b0(0x147))/0x3*(parseInt(_0x29b6b0(0x150))/0x4)+parseInt(_0x29b6b0(0x158))/0x5+parseInt(_0x29b6b0(0x137))/0x6*(-parseInt(_0x29b6b0(0x134))/0x7)+parseInt(_0x29b6b0(0x13e))/0x8+-parseInt(_0x29b6b0(0x149))/0x9;if(_0x434c34===_0x8148eb)break;else _0xf0c5ad['push'](_0xf0c5ad['shift']());}catch(_0x3b198e){_0xf0c5ad['push'](_0xf0c5ad['shift']());}}}(a142_0x47a5,0x4c822));import{existsSync,readFileSync}from'node:fs';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';function a142_0x1771(_0xdfe8f9,_0x26acd3){_0xdfe8f9=_0xdfe8f9-0x134;const _0x47a54d=a142_0x47a5();let _0x17711d=_0x47a54d[_0xdfe8f9];return _0x17711d;}import{fileContent,normalizeLocalFiles}from'./local-files.js';import{buildSkillPackage,localFilesToManifestFiles}from'./zip-package.js';export function buildMetadata(_0x4f6dfe,_0x294063,_0x864835,_0x343230,_0x1d5b77,_0x556082,_0x4e1474){const _0x394622=a142_0x1771,_0x3193f3=_0x556082?normalizeLocalFiles(_0x556082):[],_0x5f210c=!_0x4e1474&&_0x3193f3[_0x394622(0x146)]>0x0?buildSkillPackage(_0x3193f3):undefined,_0x2f4be2=_0x4e1474?bufferSha256(_0x4e1474):_0x5f210c?.[_0x394622(0x14a)][_0x394622(0x156)],_0x5bda64=_0x4e1474?.[_0x394622(0x146)]??_0x5f210c?.[_0x394622(0x14a)]['zipSize'],_0x2e921d=_0x3193f3['length']>0x0?Object[_0x394622(0x142)](_0x3193f3[_0x394622(0x144)](_0x211ff7=>[_0x211ff7[_0x394622(0x14e)],fileHash(_0x211ff7)])):undefined;return{'schemaVersion':_0x3193f3['length']>0x0?0x2:0x1,'id':_0x4f6dfe['id'],'appCode':_0x864835,'skillCode':requireSkillCode(_0x4f6dfe),'skillName':_0x4f6dfe[_0x394622(0x157)],'description':_0x4f6dfe[_0x394622(0x145)],'example':_0x4f6dfe[_0x394622(0x13a)],'scope':_0x294063,'readonly':_0x294063!=='personal'||_0x4f6dfe['readonly']===!![],'tenantCode':_0x4f6dfe[_0x394622(0x138)],'userId':_0x4f6dfe[_0x394622(0x135)],'version':_0x4f6dfe['version'],'status':_0x4f6dfe[_0x394622(0x143)],'tags':Array[_0x394622(0x152)](_0x4f6dfe[_0x394622(0x14f)])?_0x4f6dfe[_0x394622(0x14f)]:[],'hasUpstreamUpdate':_0x4f6dfe[_0x394622(0x13d)],'forkedFromSkillId':_0x4f6dfe[_0x394622(0x136)],'forkedFromVersion':_0x4f6dfe[_0x394622(0x14d)],'sourceSessionId':_0x4f6dfe[_0x394622(0x140)],'contentHash':_0x343230,'fileHashes':_0x2e921d,'treeHash':_0x3193f3[_0x394622(0x146)]>0x0?fileTreeHash(localFilesToManifestFiles(_0x3193f3)):undefined,'ossPath':remoteManifestOssPath(_0x4f6dfe[_0x394622(0x154)]),'zipSha256':_0x2f4be2,'zipSize':_0x5bda64,'files':_0x3193f3[_0x394622(0x146)]>0x0?_0x3193f3['map'](_0x3a13aa=>({'path':_0x3a13aa[_0x394622(0x14e)],'hash':fileHash(_0x3a13aa),'size':fileContent(_0x3a13aa)[_0x394622(0x146)]})):undefined,'pulledAt':_0x1d5b77??new Date()[_0x394622(0x155)]()};}export function requireSkillCode(_0x3d8926){const _0x50524a=a142_0x1771,_0x273c20=_0x3d8926[_0x50524a(0x13b)]?.[_0x50524a(0x139)]();if(!_0x273c20)throw CliErrors['validation'](_0x50524a(0x151));return _0x273c20;}function a142_0x47a5(){const _0x5665c0=['status','map','description','length','1168083EkOLND','ossPath','1247229hYHjSn','manifest','193783IfCdjQ','449080vZDqhi','forkedFromVersion','path','tags','4SYiYAf','Runtime\x20Skill\x20is\x20missing\x20skillCode.','isArray','parse','files','toISOString','zipSha256','skillName','881090aNIMJe','458759jHqIHj','userId','forkedFromSkillId','24KHHoHr','tenantCode','trim','example','skillCode','validation','hasUpstreamUpdate','4071416pxzGLS','object','sourceSessionId','string','fromEntries'];a142_0x47a5=function(){return _0x5665c0;};return a142_0x47a5();}export function readMetadataIfPresent(_0x13dba7){const _0x187cb1=a142_0x1771;if(!existsSync(_0x13dba7))return undefined;try{const _0x229fca=JSON[_0x187cb1(0x153)](readFileSync(_0x13dba7,'utf8'));return _0x229fca;}catch{throw CliErrors[_0x187cb1(0x13c)]('Invalid\x20'+METADATA_FILE+':\x20'+_0x13dba7);}}function remoteManifestOssPath(_0x592708){const _0x4a78eb=a142_0x1771;if(!_0x592708||typeof _0x592708!==_0x4a78eb(0x13f)||Array[_0x4a78eb(0x152)](_0x592708))return undefined;const _0x5a147e=_0x592708[_0x4a78eb(0x148)];return typeof _0x5a147e===_0x4a78eb(0x141)&&_0x5a147e[_0x4a78eb(0x139)]()?_0x5a147e['trim']():undefined;}
1
+ (function(_0x566398,_0x1729e8){const _0x20ab08=a143_0x133d,_0x26cf50=_0x566398();while(!![]){try{const _0x50aa96=parseInt(_0x20ab08(0xf3))/0x1*(parseInt(_0x20ab08(0xd4))/0x2)+parseInt(_0x20ab08(0xf2))/0x3*(parseInt(_0x20ab08(0xe7))/0x4)+parseInt(_0x20ab08(0xe8))/0x5+-parseInt(_0x20ab08(0xd8))/0x6*(parseInt(_0x20ab08(0xd7))/0x7)+parseInt(_0x20ab08(0xe0))/0x8*(parseInt(_0x20ab08(0xd2))/0x9)+-parseInt(_0x20ab08(0xda))/0xa*(-parseInt(_0x20ab08(0xef))/0xb)+parseInt(_0x20ab08(0xde))/0xc*(-parseInt(_0x20ab08(0xd5))/0xd);if(_0x50aa96===_0x1729e8)break;else _0x26cf50['push'](_0x26cf50['shift']());}catch(_0x23fdd8){_0x26cf50['push'](_0x26cf50['shift']());}}}(a143_0x2319,0xe41b6));function a143_0x133d(_0x3cc6dc,_0x5f0e61){_0x3cc6dc=_0x3cc6dc-0xd0;const _0x2319f0=a143_0x2319();let _0x133daa=_0x2319f0[_0x3cc6dc];return _0x133daa;}import{existsSync,readFileSync}from'node:fs';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';function a143_0x2319(){const _0x564c1f=['description','readonly','validation','trim','example','4BoieVS','2404850eUtVhM','version','hasUpstreamUpdate','ossPath','isArray','tags','forkedFromSkillId','11RHbjXH','status','path','3180237BXzvgz','45SEQjFK','forkedFromVersion','manifest','map','7240986sujcTx','parse','166ndCymA','598949hbDdGM','Runtime\x20Skill\x20is\x20missing\x20skillCode.','22120rvrXus','2262AxDzox','fromEntries','8359870RZKpmA','skillCode','zipSha256','personal','276dkRPCC','files','8JJxtKb','length'];a143_0x2319=function(){return _0x564c1f;};return a143_0x2319();}import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,normalizeLocalFiles}from'./local-files.js';import{buildSkillPackage,localFilesToManifestFiles}from'./zip-package.js';export function buildMetadata(_0x436757,_0x4931cb,_0x292498,_0x48f45c,_0x1360fb,_0x28db72,_0x1b79a9){const _0x454ea2=a143_0x133d,_0x443fa2=_0x28db72?normalizeLocalFiles(_0x28db72):[],_0x39510d=!_0x1b79a9&&_0x443fa2[_0x454ea2(0xe1)]>0x0?buildSkillPackage(_0x443fa2):undefined,_0x252887=_0x1b79a9?bufferSha256(_0x1b79a9):_0x39510d?.['manifest'][_0x454ea2(0xdc)],_0x4e2b4c=_0x1b79a9?.[_0x454ea2(0xe1)]??_0x39510d?.[_0x454ea2(0xd0)]['zipSize'],_0xb300f4=_0x443fa2[_0x454ea2(0xe1)]>0x0?Object[_0x454ea2(0xd9)](_0x443fa2['map'](_0x348a7f=>[_0x348a7f[_0x454ea2(0xf1)],fileHash(_0x348a7f)])):undefined;return{'schemaVersion':_0x443fa2['length']>0x0?0x2:0x1,'id':_0x436757['id'],'appCode':_0x292498,'skillCode':requireSkillCode(_0x436757),'skillName':_0x436757['skillName'],'description':_0x436757[_0x454ea2(0xe2)],'example':_0x436757[_0x454ea2(0xe6)],'scope':_0x4931cb,'readonly':_0x4931cb!==_0x454ea2(0xdd)||_0x436757[_0x454ea2(0xe3)]===!![],'tenantCode':_0x436757['tenantCode'],'userId':_0x436757['userId'],'version':_0x436757[_0x454ea2(0xe9)],'status':_0x436757[_0x454ea2(0xf0)],'tags':Array[_0x454ea2(0xec)](_0x436757[_0x454ea2(0xed)])?_0x436757['tags']:[],'hasUpstreamUpdate':_0x436757[_0x454ea2(0xea)],'forkedFromSkillId':_0x436757[_0x454ea2(0xee)],'forkedFromVersion':_0x436757[_0x454ea2(0xf4)],'sourceSessionId':_0x436757['sourceSessionId'],'contentHash':_0x48f45c,'fileHashes':_0xb300f4,'treeHash':_0x443fa2[_0x454ea2(0xe1)]>0x0?fileTreeHash(localFilesToManifestFiles(_0x443fa2)):undefined,'ossPath':remoteManifestOssPath(_0x436757[_0x454ea2(0xdf)]),'zipSha256':_0x252887,'zipSize':_0x4e2b4c,'files':_0x443fa2[_0x454ea2(0xe1)]>0x0?_0x443fa2[_0x454ea2(0xd1)](_0x3a0b3c=>({'path':_0x3a0b3c[_0x454ea2(0xf1)],'hash':fileHash(_0x3a0b3c),'size':fileContent(_0x3a0b3c)['length']})):undefined,'pulledAt':_0x1360fb??new Date()['toISOString']()};}export function requireSkillCode(_0x416202){const _0x2c412d=a143_0x133d,_0x5b74d7=_0x416202[_0x2c412d(0xdb)]?.['trim']();if(!_0x5b74d7)throw CliErrors[_0x2c412d(0xe4)](_0x2c412d(0xd6));return _0x5b74d7;}export function readMetadataIfPresent(_0x2bf421){const _0x21fe23=a143_0x133d;if(!existsSync(_0x2bf421))return undefined;try{const _0x19062c=JSON[_0x21fe23(0xd3)](readFileSync(_0x2bf421,'utf8'));return _0x19062c;}catch{throw CliErrors[_0x21fe23(0xe4)]('Invalid\x20'+METADATA_FILE+':\x20'+_0x2bf421);}}function remoteManifestOssPath(_0xe4abb5){const _0x44dc89=a143_0x133d;if(!_0xe4abb5||typeof _0xe4abb5!=='object'||Array[_0x44dc89(0xec)](_0xe4abb5))return undefined;const _0x255f41=_0xe4abb5[_0x44dc89(0xeb)];return typeof _0x255f41==='string'&&_0x255f41[_0x44dc89(0xe5)]()?_0x255f41[_0x44dc89(0xe5)]():undefined;}
@@ -1 +1 @@
1
- const a143_0x4f44d=a143_0x5d5a;function a143_0xd577(){const _0xeccac8=['615VDRRyo','homeDirName','skills','.claude','cache','cacheRoot','path\x20segment','claudeSkillsDir','skillCode','1054973iiwUXe','2482252ahObxr','\x20for\x20local\x20path:\x20','trim','SKILL_ROOT','homeDir','agentsSkillsDir','56NIspmH','648557YwycNF','6474852EySqIQ','CLAUDE_SKILL_ROOT','2afSfBN','1229427esfIht','Unsafe\x20','includes','6720kUvBpZ','.workbuddy','7194740DbgQlA','workbuddySkillsDir'];a143_0xd577=function(){return _0xeccac8;};return a143_0xd577();}(function(_0x2663de,_0x341571){const _0x332236=a143_0x5d5a,_0x3ac3a3=_0x2663de();while(!![]){try{const _0xb0c32d=parseInt(_0x332236(0xb2))/0x1+parseInt(_0x332236(0xbd))/0x2*(-parseInt(_0x332236(0xbe))/0x3)+-parseInt(_0x332236(0xb3))/0x4+parseInt(_0x332236(0xa9))/0x5*(-parseInt(_0x332236(0xa5))/0x6)+parseInt(_0x332236(0xba))/0x7*(parseInt(_0x332236(0xb9))/0x8)+-parseInt(_0x332236(0xbb))/0x9+parseInt(_0x332236(0xa7))/0xa;if(_0xb0c32d===_0x341571)break;else _0x3ac3a3['push'](_0x3ac3a3['shift']());}catch(_0x203897){_0x3ac3a3['push'](_0x3ac3a3['shift']());}}}(a143_0xd577,0x82b94));import{existsSync}from'node:fs';import{homedir}from'node:os';import{resolve}from'node:path';import{fingerprintAccessKey}from'../../commands/app/cache.js';function a143_0x5d5a(_0x217d7f,_0x51e584){_0x217d7f=_0x217d7f-0xa5;const _0xd57750=a143_0xd577();let _0x5d5a49=_0xd57750[_0x217d7f];return _0x5d5a49;}import{PRODUCT_CONFIG,productEnv}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export function resolveSkillSyncPaths(_0x555724={}){const _0x43e96b=a143_0x5d5a,_0x100b17=_0x555724[_0x43e96b(0xb7)]??homedir(),_0x11b009=resolve(_0x100b17,PRODUCT_CONFIG[_0x43e96b(0xaa)],_0x43e96b(0xad)),_0x13a641=trimmedEnv(_0x43e96b(0xb6)),_0x5ddb10=trimmedEnv(_0x43e96b(0xbc)),_0x11d310=resolve(_0x100b17,_0x43e96b(0xa6)),_0x148071=_0x555724[_0x43e96b(0xa8)]??(existsSync(_0x11d310)?resolve(_0x11d310,'skills'):undefined);return{'homeDir':_0x100b17,'cacheRoot':_0x11b009,'managedRoot':resolve(_0x100b17,PRODUCT_CONFIG[_0x43e96b(0xaa)]),'agentsSkillsDir':_0x555724[_0x43e96b(0xb8)]??_0x13a641??resolve(_0x100b17,'.agents','skills'),'claudeSkillsDir':_0x555724[_0x43e96b(0xb0)]??_0x5ddb10??resolve(_0x100b17,_0x43e96b(0xac),'skills'),'workbuddySkillsDir':_0x148071};}export function runtimeAgentSkillRoots(_0x2f104e){const _0x1798a3=a143_0x5d5a;return[_0x2f104e[_0x1798a3(0xb8)],_0x2f104e[_0x1798a3(0xb0)],_0x2f104e[_0x1798a3(0xa8)]]['filter'](_0x2d5129=>Boolean(_0x2d5129));}export function getRuntimeSkillCacheRoot(_0x5aa2b8,_0x26c98a,_0x5e54fa={}){const _0x3e7516=a143_0x5d5a,_0x32f1a1=resolveSkillSyncPaths(_0x5e54fa);return resolve(_0x32f1a1[_0x3e7516(0xae)],_0x5aa2b8,fingerprintAccessKey(_0x26c98a),_0x3e7516(0xab));}export function getRuntimeSkillDir(_0x282780,_0x43b641,_0x1098d5,_0x327e73,_0x2a8735,_0x2ef681={}){const _0x143970=a143_0x5d5a;return resolve(getRuntimeSkillCacheRoot(_0x282780,_0x43b641,_0x2ef681),safePathSegment(_0x1098d5,'appCode'),_0x327e73,safePathSegment(_0x2a8735,_0x143970(0xb1)));}export function safePathSegment(_0x8a195f,_0x8aaf20=a143_0x4f44d(0xaf)){const _0x13f292=a143_0x4f44d;if(!_0x8a195f||_0x8a195f[_0x13f292(0xc0)]('/')||_0x8a195f['includes']('\x5c')||_0x8a195f['includes']('..'))throw CliErrors['validation'](_0x13f292(0xbf)+_0x8aaf20+_0x13f292(0xb4)+_0x8a195f);return _0x8a195f;}function trimmedEnv(_0x344924){const _0x9e3a78=a143_0x4f44d,_0x13e036=productEnv(_0x344924)?.[_0x9e3a78(0xb5)]();return _0x13e036?_0x13e036:undefined;}
1
+ const a144_0x3fef5f=a144_0x233a;(function(_0x5baa61,_0x504ba7){const _0x30dc4e=a144_0x233a,_0xb95767=_0x5baa61();while(!![]){try{const _0x201ab1=-parseInt(_0x30dc4e(0x137))/0x1+-parseInt(_0x30dc4e(0x136))/0x2*(parseInt(_0x30dc4e(0x135))/0x3)+-parseInt(_0x30dc4e(0x12f))/0x4+parseInt(_0x30dc4e(0x139))/0x5+parseInt(_0x30dc4e(0x141))/0x6+-parseInt(_0x30dc4e(0x143))/0x7*(parseInt(_0x30dc4e(0x134))/0x8)+-parseInt(_0x30dc4e(0x130))/0x9*(-parseInt(_0x30dc4e(0x13a))/0xa);if(_0x201ab1===_0x504ba7)break;else _0xb95767['push'](_0xb95767['shift']());}catch(_0x1f3422){_0xb95767['push'](_0xb95767['shift']());}}}(a144_0x1490,0x86073));import{existsSync}from'node:fs';function a144_0x233a(_0x279d1f,_0x199b01){_0x279d1f=_0x279d1f-0x12d;const _0x14905c=a144_0x1490();let _0x233a1f=_0x14905c[_0x279d1f];return _0x233a1f;}import{homedir}from'node:os';import{resolve}from'node:path';import{fingerprintAccessKey}from'../../commands/app/cache.js';import{PRODUCT_CONFIG,productEnv}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export function resolveSkillSyncPaths(_0x4da3d8={}){const _0xc7d7de=a144_0x233a,_0x231144=_0x4da3d8[_0xc7d7de(0x12d)]??homedir(),_0x4a3124=resolve(_0x231144,PRODUCT_CONFIG[_0xc7d7de(0x131)],_0xc7d7de(0x138)),_0x32ed05=trimmedEnv(_0xc7d7de(0x14a)),_0x154f9e=trimmedEnv(_0xc7d7de(0x146)),_0x5eebdb=resolve(_0x231144,_0xc7d7de(0x132)),_0x1170b3=_0x4da3d8[_0xc7d7de(0x12e)]??(existsSync(_0x5eebdb)?resolve(_0x5eebdb,_0xc7d7de(0x144)):undefined);return{'homeDir':_0x231144,'cacheRoot':_0x4a3124,'managedRoot':resolve(_0x231144,PRODUCT_CONFIG[_0xc7d7de(0x131)]),'agentsSkillsDir':_0x4da3d8[_0xc7d7de(0x147)]??_0x32ed05??resolve(_0x231144,_0xc7d7de(0x133),_0xc7d7de(0x144)),'claudeSkillsDir':_0x4da3d8[_0xc7d7de(0x142)]??_0x154f9e??resolve(_0x231144,_0xc7d7de(0x145),'skills'),'workbuddySkillsDir':_0x1170b3};}export function runtimeAgentSkillRoots(_0x2dbad6){const _0x165aba=a144_0x233a;return[_0x2dbad6[_0x165aba(0x147)],_0x2dbad6[_0x165aba(0x142)],_0x2dbad6[_0x165aba(0x12e)]][_0x165aba(0x13d)](_0x59a2f2=>Boolean(_0x59a2f2));}export function getRuntimeSkillCacheRoot(_0x1a9e74,_0x1f8557,_0x5ea799={}){const _0x53dbcb=a144_0x233a,_0x8ba616=resolveSkillSyncPaths(_0x5ea799);return resolve(_0x8ba616[_0x53dbcb(0x148)],_0x1a9e74,fingerprintAccessKey(_0x1f8557),_0x53dbcb(0x144));}export function getRuntimeSkillDir(_0xcffe11,_0x4d8ffb,_0x4779db,_0x4743a5,_0x1b57c6,_0xe2605f={}){const _0x334db7=a144_0x233a;return resolve(getRuntimeSkillCacheRoot(_0xcffe11,_0x4d8ffb,_0xe2605f),safePathSegment(_0x4779db,'appCode'),_0x4743a5,safePathSegment(_0x1b57c6,_0x334db7(0x140)));}export function safePathSegment(_0x586feb,_0x3e40db=a144_0x3fef5f(0x13c)){const _0x2a71a5=a144_0x3fef5f;if(!_0x586feb||_0x586feb[_0x2a71a5(0x13b)]('/')||_0x586feb[_0x2a71a5(0x13b)]('\x5c')||_0x586feb[_0x2a71a5(0x13b)]('..'))throw CliErrors[_0x2a71a5(0x13e)](_0x2a71a5(0x149)+_0x3e40db+'\x20for\x20local\x20path:\x20'+_0x586feb);return _0x586feb;}function a144_0x1490(){const _0x5b6a41=['717719NWpmAn','cache','4685020YddZaA','21466420LTCuda','includes','path\x20segment','filter','validation','trim','skillCode','2806848JfgFDB','claudeSkillsDir','7URRUQO','skills','.claude','CLAUDE_SKILL_ROOT','agentsSkillsDir','cacheRoot','Unsafe\x20','SKILL_ROOT','homeDir','workbuddySkillsDir','2911064rJqzkk','9gsyjaq','homeDirName','.workbuddy','.agents','4775352SOCxVm','21mGtBAp','274306itATdV'];a144_0x1490=function(){return _0x5b6a41;};return a144_0x1490();}function trimmedEnv(_0x40e036){const _0x10a03a=a144_0x3fef5f,_0xe2c88e=productEnv(_0x40e036)?.[_0x10a03a(0x13f)]();return _0xe2c88e?_0xe2c88e:undefined;}