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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.js +1 -1
  25. package/lib/commands/config/shared.js +1 -1
  26. package/lib/commands/data/index.js +1 -1
  27. package/lib/commands/dataset/detail.js +1 -1
  28. package/lib/commands/dataset/index.js +1 -1
  29. package/lib/commands/dataset/list.js +1 -1
  30. package/lib/commands/dataset/sdk-doc.js +1 -1
  31. package/lib/commands/doctor.js +1 -1
  32. package/lib/commands/file/index.js +1 -1
  33. package/lib/commands/init.js +1 -1
  34. package/lib/commands/kb/index.js +1 -1
  35. package/lib/commands/logs/index.js +1 -1
  36. package/lib/commands/notification/config-list.js +1 -1
  37. package/lib/commands/notification/index.js +1 -1
  38. package/lib/commands/notification/shared.js +1 -1
  39. package/lib/commands/ocr/index.js +1 -1
  40. package/lib/commands/permit/dataset-get.js +1 -1
  41. package/lib/commands/permit/dataset-set.js +1 -1
  42. package/lib/commands/permit/index.js +1 -1
  43. package/lib/commands/permit/page-get.js +1 -1
  44. package/lib/commands/permit/page-set.js +1 -1
  45. package/lib/commands/permit/role-menus-set.js +1 -1
  46. package/lib/commands/permit/role-menus.js +1 -1
  47. package/lib/commands/permit/shared.js +1 -1
  48. package/lib/commands/personal-bff/index.js +1 -1
  49. package/lib/commands/registry.js +1 -1
  50. package/lib/commands/role/create.js +1 -1
  51. package/lib/commands/role/delete.js +1 -1
  52. package/lib/commands/role/detail.js +1 -1
  53. package/lib/commands/role/index.js +1 -1
  54. package/lib/commands/role/list.js +1 -1
  55. package/lib/commands/role/shared.js +1 -1
  56. package/lib/commands/role/update.js +1 -1
  57. package/lib/commands/role/user-add.js +1 -1
  58. package/lib/commands/role/user-remove.js +1 -1
  59. package/lib/commands/schedule/index.js +1 -1
  60. package/lib/commands/schema.js +1 -1
  61. package/lib/commands/service/dynamic.js +1 -1
  62. package/lib/commands/service/function-name-adapter.js +1 -1
  63. package/lib/commands/service/index.js +1 -1
  64. package/lib/commands/service/registry.js +1 -1
  65. package/lib/commands/skill/commands/create.js +1 -1
  66. package/lib/commands/skill/commands/diagram.js +1 -1
  67. package/lib/commands/skill/commands/install.js +1 -1
  68. package/lib/commands/skill/commands/list.js +1 -1
  69. package/lib/commands/skill/commands/push.js +1 -1
  70. package/lib/commands/skill/commands/validate.js +1 -1
  71. package/lib/commands/skill/diagram.js +1 -1
  72. package/lib/commands/skill/flags.js +1 -1
  73. package/lib/commands/skill/index.js +1 -1
  74. package/lib/commands/skill/manifest-helpers.js +1 -1
  75. package/lib/commands/skill/push-execute.js +1 -1
  76. package/lib/commands/skill/push-flow-helpers.js +1 -1
  77. package/lib/commands/skill/push-retarget.js +1 -1
  78. package/lib/commands/skill/scopes.js +1 -1
  79. package/lib/commands/skill/summary.js +1 -1
  80. package/lib/commands/skill/templates.js +1 -1
  81. package/lib/commands/skill/validate.js +1 -1
  82. package/lib/commands/sql/detail.js +1 -1
  83. package/lib/commands/sql/exec.js +1 -1
  84. package/lib/commands/sql/index.js +1 -1
  85. package/lib/commands/update.js +1 -1
  86. package/lib/commands/user-account/bind.js +1 -1
  87. package/lib/commands/user-account/index.js +1 -1
  88. package/lib/commands/workspace/index.js +1 -1
  89. package/lib/config/domain-config.js +1 -1
  90. package/lib/config/schema.d.ts +1 -1
  91. package/lib/config/schema.js +1 -1
  92. package/lib/constant/app.js +1 -1
  93. package/lib/constant/auth-mode.js +1 -1
  94. package/lib/constant/cli.js +1 -1
  95. package/lib/constant/defaults.js +1 -1
  96. package/lib/constant/distribution.js +1 -1
  97. package/lib/constant/domain.js +1 -1
  98. package/lib/constant/env.js +1 -1
  99. package/lib/constant/output.js +1 -1
  100. package/lib/constant/product.js +1 -1
  101. package/lib/constant/region.js +1 -1
  102. package/lib/constant/risk.js +1 -1
  103. package/lib/constant/url.js +1 -1
  104. package/lib/context.d.ts +2 -0
  105. package/lib/context.js +1 -1
  106. package/lib/core/api-client.js +1 -1
  107. package/lib/core/db-resolver.js +1 -1
  108. package/lib/core/sdk-client.js +1 -1
  109. package/lib/errors.d.ts +1 -0
  110. package/lib/errors.js +1 -1
  111. package/lib/framework/build-all-flags.js +1 -1
  112. package/lib/framework/dryrun.js +1 -1
  113. package/lib/framework/flags.js +1 -1
  114. package/lib/framework/help.js +1 -1
  115. package/lib/framework/index.js +1 -1
  116. package/lib/framework/output.js +1 -1
  117. package/lib/framework/preparse.js +1 -1
  118. package/lib/framework/rate-limit.js +1 -1
  119. package/lib/framework/raw-flags.js +1 -1
  120. package/lib/framework/response.js +1 -1
  121. package/lib/framework/runner-confirmation.js +1 -1
  122. package/lib/framework/runner-error.js +1 -1
  123. package/lib/framework/runner.d.ts +9 -7
  124. package/lib/framework/runner.js +1 -1
  125. package/lib/framework/schema-export.js +1 -1
  126. package/lib/framework/service-order.js +1 -1
  127. package/lib/framework/types.js +1 -1
  128. package/lib/generated/build-info.d.ts +4 -4
  129. package/lib/generated/build-info.js +1 -1
  130. package/lib/help.js +1 -1
  131. package/lib/postinstall.js +1 -1
  132. package/lib/runtime/confirmation.js +1 -1
  133. package/lib/runtime/event.js +1 -1
  134. package/lib/runtime/index.js +1 -1
  135. package/lib/runtime/queue.js +1 -1
  136. package/lib/runtime/resolve.js +1 -1
  137. package/lib/skills/builtin-skill.js +1 -1
  138. package/lib/skills/npx-skills-add.js +1 -1
  139. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  140. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  141. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  142. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  143. package/lib/skills/runtime-skill-sync/links.js +1 -1
  144. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  145. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  146. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  147. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  148. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  149. package/lib/skills/runtime-skill-sync/push.js +1 -1
  150. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  151. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  152. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  153. package/lib/skills/runtime-skill-sync.js +1 -1
  154. package/lib/skills/skill-presence.js +1 -1
  155. package/lib/utils/access-key-redaction.js +1 -1
  156. package/lib/utils/apply-jq-filter.js +1 -1
  157. package/lib/utils/cli-version-check.js +1 -1
  158. package/lib/utils/cli-version-policy.js +1 -1
  159. package/lib/utils/logger.js +1 -1
  160. package/lib/utils/lossless-json.js +1 -1
  161. package/lib/utils/params.js +1 -1
  162. package/lib/utils/platform.js +1 -1
  163. package/lib/utils/update-notice.js +1 -1
  164. package/lib/utils/version.js +1 -1
  165. package/lib/utils/write-cli-side-channel.js +1 -1
  166. package/package.json +1 -1
  167. package/skills/lovrabet/SKILL.md +1 -1
  168. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a132_0xdfc8f0=a132_0xf9fa;(function(_0x106cf4,_0x396000){const _0x123ac3=a132_0xf9fa,_0x56b962=_0x106cf4();while(!![]){try{const _0x5af107=-parseInt(_0x123ac3(0xd1))/0x1*(parseInt(_0x123ac3(0xc8))/0x2)+parseInt(_0x123ac3(0xee))/0x3+parseInt(_0x123ac3(0xe3))/0x4*(parseInt(_0x123ac3(0xfb))/0x5)+parseInt(_0x123ac3(0xff))/0x6*(parseInt(_0x123ac3(0xcb))/0x7)+-parseInt(_0x123ac3(0xdd))/0x8+-parseInt(_0x123ac3(0xf5))/0x9+parseInt(_0x123ac3(0xc7))/0xa*(parseInt(_0x123ac3(0xf9))/0xb);if(_0x5af107===_0x396000)break;else _0x56b962['push'](_0x56b962['shift']());}catch(_0x445ebb){_0x56b962['push'](_0x56b962['shift']());}}}(a132_0x3c67,0x38cf6));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='lovrabet\x20cli-skill\x20install',SKILL_NAME=a132_0xdfc8f0(0xd6);function frontmatterValue(_0xc82b59,_0x6d3c35){const _0x54d33f=a132_0xdfc8f0;return _0xc82b59[_0x54d33f(0xf0)](new RegExp('^'+_0x6d3c35+_0x54d33f(0xfe),'m'))?.[0x1]?.['trim']()??'';}function listFiles(_0x356366,_0x53605f=_0x356366){const _0x48c4f9=a132_0xdfc8f0;return readdirSync(_0x53605f,{'withFileTypes':!![]})[_0x48c4f9(0xf1)](_0x4bcedf=>{const _0x36ba62=_0x48c4f9,_0x2c548e=join(_0x53605f,_0x4bcedf[_0x36ba62(0xdc)]),_0x21caad=lstatSync(_0x2c548e);if(_0x21caad['isSymbolicLink']())throw new Error(_0x36ba62(0xdb)+_0x2c548e);if(_0x21caad[_0x36ba62(0xe5)]())return listFiles(_0x356366,_0x2c548e);if(!_0x21caad[_0x36ba62(0xe1)]())throw new Error(_0x36ba62(0xc3)+_0x2c548e);return[relative(_0x356366,_0x2c548e)[_0x36ba62(0xda)](sep)[_0x36ba62(0xdf)]('/')];})[_0x48c4f9(0xd0)]((_0x33751e,_0x57c850)=>_0x33751e<_0x57c850?-0x1:_0x33751e>_0x57c850?0x1:0x0);}function a132_0xf9fa(_0x171615,_0x3952b3){_0x171615=_0x171615-0xc3;const _0x3c67bd=a132_0x3c67();let _0xf9fa57=_0x3c67bd[_0x171615];return _0xf9fa57;}function digestFiles(_0x589c8a,_0x167ae3){const _0x298779=a132_0xdfc8f0,_0x41623a=createHash(_0x298779(0xcc));for(const _0x4c9b0c of _0x167ae3){if(_0x4c9b0c['startsWith']('/')||_0x4c9b0c[_0x298779(0xda)]('/')[_0x298779(0xfa)]('..')||_0x4c9b0c[_0x298779(0xfa)]('\x5c'))throw new Error(_0x298779(0xe6)+_0x4c9b0c);_0x41623a['update'](_0x4c9b0c),_0x41623a[_0x298779(0xd2)]('\x00'),_0x41623a[_0x298779(0xd2)](readFileSync(join(_0x589c8a,..._0x4c9b0c[_0x298779(0xda)]('/')))),_0x41623a[_0x298779(0xd2)]('\x00');}return _0x41623a[_0x298779(0xfd)](_0x298779(0x100));}function sameFiles(_0x3ac530,_0x3d381b){const _0x3bc14d=a132_0xdfc8f0;return _0x3ac530['length']===_0x3d381b[_0x3bc14d(0xcf)]&&_0x3ac530[_0x3bc14d(0xce)]((_0x479c03,_0x1486a8)=>_0x479c03===_0x3d381b[_0x1486a8]);}function readSource(_0x4256e9){const _0x4702bf=a132_0xdfc8f0,_0x2d766b=JSON['parse'](readFileSync(join(_0x4256e9,_0x4702bf(0xe2)),_0x4702bf(0xc4))),_0x5719fb=JSON[_0x4702bf(0xed)](readFileSync(join(_0x4256e9,_0x4702bf(0xeb),_0x4702bf(0xde)),_0x4702bf(0xc4))),_0x350bd5=join(_0x4256e9,_0x4702bf(0xeb),SKILL_NAME),_0x532111=frontmatterValue(readFileSync(join(_0x350bd5,'SKILL.md'),'utf8'),_0x4702bf(0xc6)),_0x5a7211=listFiles(_0x350bd5);if(_0x5719fb[_0x4702bf(0xd4)]!==0x1||_0x5719fb[_0x4702bf(0xdc)]!==SKILL_NAME||!_0x2d766b['version']||_0x5719fb[_0x4702bf(0xf2)]!==_0x2d766b['version']||_0x5719fb['skillVersion']!==_0x2d766b[_0x4702bf(0xc6)]||_0x532111!==_0x2d766b[_0x4702bf(0xc6)]||!sameFiles(_0x5a7211,_0x5719fb[_0x4702bf(0xf3)])||digestFiles(_0x350bd5,_0x5a7211)!==_0x5719fb[_0x4702bf(0xfd)])throw new Error(_0x4702bf(0xe8));return{'packageVersion':_0x2d766b[_0x4702bf(0xc6)],'skillVersion':_0x532111,'root':_0x350bd5,'manifest':_0x5719fb};}function installedSkillPath(_0x70bab1){const _0x4132ce=a132_0xdfc8f0,_0x2414e1=resolveInstalledSkill(SKILL_NAME,{'home':_0x70bab1});if(_0x2414e1[_0x4132ce(0xfc)]==='present')return{'state':'present','path':dirname(_0x2414e1['path'])};if(_0x2414e1[_0x4132ce(0xfc)]==='absent')return{'state':_0x4132ce(0x101)};return{'state':_0x4132ce(0x102),'reason':_0x2414e1[_0x4132ce(0xc9)]};}export function inspectInstalledBuiltinSkillVersion(_0x20b3bf,_0xa4dcbf={}){const _0x4a524d=a132_0xdfc8f0,_0x285fc7=installedSkillPath(_0xa4dcbf[_0x4a524d(0xd5)]??homedir());if(_0x285fc7[_0x4a524d(0xfc)]===_0x4a524d(0x101))return{'state':_0x4a524d(0x101),'expectedVersion':_0x20b3bf,'repairCommand':REPAIR_COMMAND};if(_0x285fc7[_0x4a524d(0xfc)]===_0x4a524d(0x102))return{'state':_0x4a524d(0x102),'expectedVersion':_0x20b3bf,'reason':_0x285fc7['reason'],'repairCommand':REPAIR_COMMAND};try{const _0x14041b=frontmatterValue(readFileSync(join(_0x285fc7[_0x4a524d(0xca)],_0x4a524d(0xe0)),'utf8'),_0x4a524d(0xc6));return{'state':_0x14041b===_0x20b3bf?_0x4a524d(0xd3):_0x4a524d(0xc5),'expectedVersion':_0x20b3bf,'skillVersion':_0x14041b,'installedPath':_0x285fc7[_0x4a524d(0xca)],'repairCommand':REPAIR_COMMAND};}catch(_0x593a34){return{'state':'unverifiable','expectedVersion':_0x20b3bf,'installedPath':_0x285fc7['path'],'reason':_0x593a34 instanceof Error?_0x593a34[_0x4a524d(0xe4)]:String(_0x593a34),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0xee6282={}){const _0x46f14d=a132_0xdfc8f0,_0x165472=_0xee6282['packageRoot']??DEFAULT_PACKAGE_ROOT;let _0x2eedfe;try{_0x2eedfe=readSource(_0x165472);}catch(_0xe40589){return{'state':'unverifiable','packageVersion':_0x46f14d(0xf8),'reason':_0xe40589 instanceof Error?_0xe40589[_0x46f14d(0xe4)]:String(_0xe40589),'repairCommand':REPAIR_COMMAND};}const _0x1ca841=installedSkillPath(_0xee6282[_0x46f14d(0xd5)]??homedir());if(_0x1ca841[_0x46f14d(0xfc)]==='missing')return{'state':'missing','packageVersion':_0x2eedfe['packageVersion'],'repairCommand':REPAIR_COMMAND};if(_0x1ca841['state']===_0x46f14d(0x102))return{'state':_0x46f14d(0x102),'packageVersion':_0x2eedfe[_0x46f14d(0xf2)],'reason':_0x1ca841[_0x46f14d(0xc9)],'repairCommand':REPAIR_COMMAND};try{const _0x45aff9=frontmatterValue(readFileSync(join(_0x1ca841[_0x46f14d(0xca)],'SKILL.md'),'utf8'),_0x46f14d(0xc6));if(_0x45aff9!==_0x2eedfe[_0x46f14d(0xd9)])return{'state':_0x46f14d(0xc5),'packageVersion':_0x2eedfe[_0x46f14d(0xf2)],'skillVersion':_0x45aff9,'installedPath':_0x1ca841[_0x46f14d(0xca)],'repairCommand':REPAIR_COMMAND};const _0xf55b5=listFiles(_0x1ca841[_0x46f14d(0xca)]),_0x1ee5b1=digestFiles(_0x1ca841[_0x46f14d(0xca)],_0xf55b5);return{'state':sameFiles(_0xf55b5,_0x2eedfe[_0x46f14d(0xe9)][_0x46f14d(0xf3)])&&_0x1ee5b1===_0x2eedfe[_0x46f14d(0xe9)][_0x46f14d(0xfd)]?'current':'content_mismatch','packageVersion':_0x2eedfe[_0x46f14d(0xf2)],'skillVersion':_0x45aff9,'installedPath':_0x1ca841[_0x46f14d(0xca)],'digest':_0x1ee5b1,'repairCommand':REPAIR_COMMAND};}catch(_0x78700d){return{'state':_0x46f14d(0x102),'packageVersion':_0x2eedfe['packageVersion'],'installedPath':_0x1ca841[_0x46f14d(0xca)],'reason':_0x78700d instanceof Error?_0x78700d[_0x46f14d(0xe4)]:String(_0x78700d),'repairCommand':REPAIR_COMMAND};}}function a132_0x3c67(){const _0x4dd33b=['3793086SfyiHQ','skills@latest\x20exited\x20','packageRoot','unknown','3003WSHEhJ','includes','1138145qInBMk','state','digest',':\x5cs*(.+)$','37302KQFSJv','hex','missing','unverifiable','Unsupported\x20Skill\x20entry:\x20','utf8','version_mismatch','version','25320fQpmBp','2AOIFgV','reason','path','21cDFgvp','sha256','installedPath','every','length','sort','238547CFxofo','update','current','schemaVersion','home','lovrabet','status','Installed\x20Skill\x20state\x20is\x20','skillVersion','split','Symbolic\x20link\x20is\x20not\x20allowed:\x20','name','2769232CmBQbl','lovrabet.manifest.json','join','SKILL.md','isFile','package.json','8bCrzRC','message','isDirectory','Unsafe\x20manifest\x20path:\x20','stdio','Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest','manifest','VERIFY_FAILED','skills','root','parse','221112djWBoi','INSTALL_FAILED','match','flatMap','packageVersion','files','SOURCE_INVALID'];a132_0x3c67=function(){return _0x4dd33b;};return a132_0x3c67();}function failure(_0x5745cf,_0x2488dd,_0x173147,_0x283415){const _0x4664ca=a132_0xdfc8f0;return{'ok':![],'code':_0x5745cf,'packageVersion':_0x2488dd[_0x4664ca(0xf2)],'skillVersion':_0x2488dd['skillVersion'],'installedPath':_0x283415,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x173147 instanceof Error?_0x173147[_0x4664ca(0xe4)]:String(_0x173147)};}export function installBuiltinSkill(_0x528e73={}){const _0xb6addf=a132_0xdfc8f0,_0x466bd0=_0x528e73[_0xb6addf(0xf7)]??DEFAULT_PACKAGE_ROOT,_0x545460=_0x528e73[_0xb6addf(0xd5)]??homedir();let _0x5c0ff3;try{_0x5c0ff3=readSource(_0x466bd0);}catch(_0x22c4d6){return failure(_0xb6addf(0xf4),{'packageVersion':_0xb6addf(0xf8),'skillVersion':_0xb6addf(0xf8)},_0x22c4d6);}const _0x1fddd8=inspectBuiltinSkill({'packageRoot':_0x466bd0,'home':_0x545460}),_0x124a3c=runNpxSkillsAddGlobal(_0x466bd0,_0x5c0ff3[_0xb6addf(0xec)],{'stdio':_0x528e73[_0xb6addf(0xe7)]??'pipe','expectedSkillName':SKILL_NAME,'presence':{'home':_0x545460}});if(_0x124a3c['skipped'])return{'ok':!![],'packageVersion':_0x5c0ff3[_0xb6addf(0xf2)],'skillVersion':_0x5c0ff3[_0xb6addf(0xd9)],'installedPath':_0x1fddd8[_0xb6addf(0xcd)],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0x124a3c['ok'])return failure(_0xb6addf(0xef),_0x5c0ff3,_0x124a3c['error']??_0xb6addf(0xf6)+_0x124a3c[_0xb6addf(0xd7)]);const _0x4b85b8=inspectBuiltinSkill({'packageRoot':_0x466bd0,'home':_0x545460});if(_0x4b85b8[_0xb6addf(0xfc)]!==_0xb6addf(0xd3))return failure(_0xb6addf(0xea),_0x5c0ff3,_0x4b85b8['reason']??_0xb6addf(0xd8)+_0x4b85b8[_0xb6addf(0xfc)],_0x4b85b8[_0xb6addf(0xcd)]);return{'ok':!![],'packageVersion':_0x5c0ff3['packageVersion'],'skillVersion':_0x5c0ff3[_0xb6addf(0xd9)],'installedPath':_0x4b85b8[_0xb6addf(0xcd)],'changed':_0x1fddd8[_0xb6addf(0xfc)]!=='current','repairCommand':REPAIR_COMMAND};}
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 +1 @@
1
- const a133_0xb90a8e=a133_0x3510;(function(_0x3ef43c,_0x203bfd){const _0x2dc0b6=a133_0x3510,_0x689a84=_0x3ef43c();while(!![]){try{const _0x22b71b=parseInt(_0x2dc0b6(0x18d))/0x1*(-parseInt(_0x2dc0b6(0x195))/0x2)+parseInt(_0x2dc0b6(0x177))/0x3+parseInt(_0x2dc0b6(0x191))/0x4+parseInt(_0x2dc0b6(0x16a))/0x5*(-parseInt(_0x2dc0b6(0x179))/0x6)+-parseInt(_0x2dc0b6(0x17b))/0x7+parseInt(_0x2dc0b6(0x176))/0x8+-parseInt(_0x2dc0b6(0x186))/0x9;if(_0x22b71b===_0x203bfd)break;else _0x689a84['push'](_0x689a84['shift']());}catch(_0x295638){_0x689a84['push'](_0x689a84['shift']());}}}(a133_0x8d51,0xcd155));import{spawnSync}from'node:child_process';import{resolveNpmBin}from'../utils/platform.js';import{LOVRABET_SKILL_SOURCE as a133_0x400b67}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_0x400b67;export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG[a133_0xb90a8e(0x171)];export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG[a133_0xb90a8e(0x181)];export function resolveGlobalSkillName(_0x250d50){const _0x4ada04=a133_0xb90a8e;switch(_0x250d50[_0x4ada04(0x172)]()){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_0xb90a8e(0x169)]);const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function failure(_0x4bc8d9,_0x1eae25,_0x585a67){return{'ok':![],'status':_0x1eae25,'code':_0x4bc8d9,'error':'['+_0x4bc8d9+']\x20'+_0x585a67};}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}function a133_0x3510(_0x4d90c5,_0x403dbc){_0x4d90c5=_0x4d90c5-0x162;const _0x8d5165=a133_0x8d51();let _0x351035=_0x8d5165[_0x4d90c5];return _0x351035;}function a133_0x8d51(){const _0x45d9ff=['unknown','CHILD_TERMINATED','absent','\x20failed\x20target(s)','Skill\x20\x22','SPAWN_FAILED','Installer\x20reported\x20','INSTALL_PARTIAL','EACCES','skipNpxSkillsEnvSuffix','11285vYWwCu','expectedSkillName','stderr','reason','error','log','signal','internalSkillSource','trim','PERMISSION_DENIED','filter','npx\x20terminated\x20by\x20signal\x20','8372416zAKJvk','3573918DuPXfv','ENOENT','1812pJtqeh','warn','3467226HynObn','\x22\x20not\x20found\x20after\x20install\x20(checked\x20','join','match','code','state','globalSkillName','skills@latest','stdout','NPM_CONFIG_GLOBAL','presence','843588yPWWva','pipe','EPERM','toString','\x22\x20install\x20state:\x20','stdio','NPX_NOT_FOUND','304279uXIdla','npx','unverifiable','status','708424DABhzu','message','CHILD_EXIT_NONZERO','exit\x20','2XiBhmI'];a133_0x8d51=function(){return _0x45d9ff;};return a133_0x8d51();}export function runNpxSkillsAddGlobal(_0x1231b9,_0x78a77f=LOVRABET_SKILL_SOURCE,_0x5dc67c){const _0x3178fa=a133_0xb90a8e;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0xb88e73=resolveNpmBin(_0x3178fa(0x18e)),_0x439178=['-y',_0x3178fa(0x182),'add',_0x78a77f,'-g','-y'],_0x50f52e=[_0xb88e73,..._0x439178]['join']('\x20');console['log']('*\x20'+_0x50f52e);const _0x16dd3f={...process.env};delete _0x16dd3f['npm_config_global'],delete _0x16dd3f[_0x3178fa(0x184)];const _0xf9629=spawnSync(_0xb88e73,_0x439178,{'cwd':_0x1231b9,'stdio':_0x3178fa(0x187),'env':_0x16dd3f,'shell':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x32f55f=[_0xf9629[_0x3178fa(0x183)]?_0xf9629[_0x3178fa(0x183)][_0x3178fa(0x189)]():'',_0xf9629[_0x3178fa(0x16c)]?_0xf9629[_0x3178fa(0x16c)][_0x3178fa(0x189)]():''][_0x3178fa(0x174)](Boolean)[_0x3178fa(0x17d)]('\x0a')['trim']();_0x5dc67c?.[_0x3178fa(0x18b)]!==_0x3178fa(0x187)&&_0x32f55f&&console[_0x3178fa(0x16f)](_0x32f55f);if(_0xf9629[_0x3178fa(0x16e)]){const _0x2f8250=_0xf9629[_0x3178fa(0x16e)],_0x2524b3=_0x2f8250['code']===_0x3178fa(0x178)?_0x3178fa(0x18c):_0x2f8250[_0x3178fa(0x17f)]===_0x3178fa(0x188)||_0x2f8250[_0x3178fa(0x17f)]===_0x3178fa(0x168)?_0x3178fa(0x173):_0x3178fa(0x165);return failure(_0x2524b3,_0xf9629['status'],_0x2f8250[_0x3178fa(0x192)]);}if(_0xf9629[_0x3178fa(0x170)])return failure(_0x3178fa(0x197),_0xf9629['status'],_0x3178fa(0x175)+_0xf9629[_0x3178fa(0x170)]);if(_0xf9629[_0x3178fa(0x190)]!==0x0)return failure(_0x3178fa(0x193),_0xf9629[_0x3178fa(0x190)],_0x32f55f||_0x3178fa(0x194)+(_0xf9629[_0x3178fa(0x190)]??_0x3178fa(0x196)));const _0x5448ac=_0x32f55f[_0x3178fa(0x17e)](/Failed to install\s+(\d+)/i);if(_0x5448ac&&Number(_0x5448ac[0x1])>0x0)return failure(_0x3178fa(0x167),0x0,_0x3178fa(0x166)+_0x5448ac[0x1]+_0x3178fa(0x163)+(_0x32f55f?':\x0a'+_0x32f55f:''));const _0x523fbf=_0x5dc67c?.[_0x3178fa(0x16b)]??resolveGlobalSkillName(_0x78a77f);if(_0x523fbf){const _0x44d5f2=resolveInstalledSkill(_0x523fbf,_0x5dc67c?.[_0x3178fa(0x185)]);if(_0x44d5f2['state']===_0x3178fa(0x162))return failure('SKILL_NOT_INSTALLED',0x0,_0x3178fa(0x164)+_0x523fbf+_0x3178fa(0x17c)+_0x44d5f2['checked'][_0x3178fa(0x17d)](',\x20')+')');_0x44d5f2[_0x3178fa(0x180)]===_0x3178fa(0x18f)&&console[_0x3178fa(0x17a)]('!\x20Could\x20not\x20verify\x20\x22'+_0x523fbf+_0x3178fa(0x18a)+_0x44d5f2[_0x3178fa(0x16d)]);}return{'ok':!![],'status':0x0};}
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 +1 @@
1
- const a134_0x333826=a134_0x1c9a;(function(_0x3186e5,_0x3e4518){const _0x290b72=a134_0x1c9a,_0x3500ba=_0x3186e5();while(!![]){try{const _0x12fb63=-parseInt(_0x290b72(0x169))/0x1+-parseInt(_0x290b72(0x16e))/0x2*(-parseInt(_0x290b72(0x163))/0x3)+-parseInt(_0x290b72(0x167))/0x4+-parseInt(_0x290b72(0x165))/0x5*(parseInt(_0x290b72(0x176))/0x6)+parseInt(_0x290b72(0x16b))/0x7*(-parseInt(_0x290b72(0x173))/0x8)+-parseInt(_0x290b72(0x174))/0x9*(parseInt(_0x290b72(0x177))/0xa)+-parseInt(_0x290b72(0x16f))/0xb*(-parseInt(_0x290b72(0x162))/0xc);if(_0x12fb63===_0x3e4518)break;else _0x3500ba['push'](_0x3500ba['shift']());}catch(_0x273f5e){_0x3500ba['push'](_0x3500ba['shift']());}}}(a134_0x3317,0x96f95));function a134_0x3317(){const _0x56e6e2=['.turbo','build','136raRuHJ','3546aVdtlL','.hg','6XRREBb','27330rPaVKr','684wfLFrh','3qSNZyE','node_modules','2539885FIvBmL','lovrabet.skill.json','87676IpXpEN','SKILL.md','668008rEQLaC','dist','255514jjHrJn','coverage','.cache','398386DuYpWC','639628ZPJVCZ','.svn'];a134_0x3317=function(){return _0x56e6e2;};return a134_0x3317();}export const METADATA_FILE=a134_0x333826(0x166);export const SKILL_FILE=a134_0x333826(0x168);export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,'.DS_Store']);function a134_0x1c9a(_0x2cf82e,_0x4e14e7){_0x2cf82e=_0x2cf82e-0x162;const _0x331719=a134_0x3317();let _0x1c9a90=_0x331719[_0x2cf82e];return _0x1c9a90;}export const IGNORED_DIR_NAMES=new Set(['.git',a134_0x333826(0x175),a134_0x333826(0x170),a134_0x333826(0x164),'.next',a134_0x333826(0x16a),a134_0x333826(0x172),a134_0x333826(0x16c),a134_0x333826(0x171),a134_0x333826(0x16d)]);
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 +1 @@
1
- (function(_0xb62d3b,_0x448c4c){const _0x3d18e5=a135_0x6f73,_0x28d102=_0xb62d3b();while(!![]){try{const _0x193458=-parseInt(_0x3d18e5(0x6b))/0x1*(-parseInt(_0x3d18e5(0x73))/0x2)+parseInt(_0x3d18e5(0x71))/0x3*(-parseInt(_0x3d18e5(0x76))/0x4)+parseInt(_0x3d18e5(0x74))/0x5+parseInt(_0x3d18e5(0x7b))/0x6*(-parseInt(_0x3d18e5(0x77))/0x7)+-parseInt(_0x3d18e5(0x7e))/0x8*(parseInt(_0x3d18e5(0x6c))/0x9)+-parseInt(_0x3d18e5(0x6e))/0xa+parseInt(_0x3d18e5(0x70))/0xb*(parseInt(_0x3d18e5(0x78))/0xc);if(_0x193458===_0x448c4c)break;else _0x28d102['push'](_0x28d102['shift']());}catch(_0x1553b2){_0x28d102['push'](_0x28d102['shift']());}}}(a135_0x27a2,0x6aa49));function a135_0x27a2(){const _0xf3bbf3=['.tmp','validation','11712evGttc','isSymbolicLink','utf8','16QLUiTI','Unsafe\x20Skill\x20file\x20path:\x20','672chwiMe','226863fcsaAu','split','8472430DlRwSt','stringify','8089356rHugYx','5214igDHaD','endsWith','592Eegxrg','2965800vMAxDT','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','260HTtCuK','287Rlrxqc','12kicVeI'];a135_0x27a2=function(){return _0xf3bbf3;};return a135_0x27a2();}import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x2d4134,_0xd8fb85){const _0x43be28=a135_0x6f73,_0x4f1f80=normalizeSkillRelativePath(_0xd8fb85),_0x2110f0=realOrResolved(_0x2d4134),_0x594052=resolve(_0x2110f0,..._0x4f1f80[_0x43be28(0x6d)]('/'));if(!isPathInside(_0x594052,_0x2110f0))throw CliErrors[_0x43be28(0x7a)](_0x43be28(0x7f)+_0xd8fb85);return ensureNoSymlinkInManagedPath(_0x2110f0,_0x4f1f80),_0x594052;}export function ensureNoSymlinkInManagedPath(_0x43a383,_0x4490c0){const _0x5619f9=a135_0x6f73;let _0x1facb3=_0x43a383;for(const _0x2ecfa7 of _0x4490c0['split']('/')){_0x1facb3=resolve(_0x1facb3,_0x2ecfa7);const _0x3a8f8f=lstatIfPresent(_0x1facb3);if(_0x3a8f8f?.[_0x5619f9(0x7c)]())throw CliErrors[_0x5619f9(0x7a)](_0x5619f9(0x75)+_0x4490c0);}}function a135_0x6f73(_0x6c4b1,_0x2bd6f7){_0x6c4b1=_0x6c4b1-0x6b;const _0x27a248=a135_0x27a2();let _0x6f7395=_0x27a248[_0x6c4b1];return _0x6f7395;}export function isDanglingSymlink(_0x5fda1d){const _0x78d0af=a135_0x6f73;try{return lstatSync(_0x5fda1d)[_0x78d0af(0x7c)]();}catch{return![];}}export function resolveSymlinkTarget(_0x1d8010){const _0x58ae41=readlinkSync(_0x1d8010);return isAbsolute(_0x58ae41)?_0x58ae41:resolve(dirname(_0x1d8010),_0x58ae41);}export function isPathInside(_0x13d25a,_0x38bb00){const _0x1855a4=a135_0x6f73,_0xd285ab=_0x13d25a[_0x1855a4(0x72)](sep)?_0x13d25a:''+_0x13d25a+sep,_0x277b8e=_0x38bb00[_0x1855a4(0x72)](sep)?_0x38bb00:''+_0x38bb00+sep;return _0x13d25a===_0x38bb00||_0xd285ab['startsWith'](_0x277b8e);}export function realOrResolved(_0x323f5d){try{return realpathSync(_0x323f5d);}catch{return resolve(_0x323f5d);}}export function lstatIfPresent(_0xc25288){try{return lstatSync(_0xc25288);}catch{return undefined;}}export function writeTextAtomic(_0x41de7e,_0x134963,_0x1cf1f0){const _0x47efb3=a135_0x6f73;writeBytesAtomic(_0x41de7e,Buffer['from'](_0x134963,_0x47efb3(0x7d)),_0x1cf1f0);}export function writeBytesAtomic(_0xbe56ef,_0xb4d9f3,_0x55fd25){const _0x45240a=a135_0x6f73,_0x5a1254=_0xbe56ef+_0x45240a(0x79);try{writeFileSync(_0x5a1254,_0xb4d9f3,{'mode':_0x55fd25}),renameSync(_0x5a1254,_0xbe56ef);}catch(_0xfcdf75){try{rmSync(_0x5a1254,{'force':!![]});}catch{}throw _0xfcdf75;}}export function writeJsonAtomic(_0xa069a2,_0x54c9c8){const _0x4ce9da=a135_0x6f73;writeTextAtomic(_0xa069a2,JSON[_0x4ce9da(0x6f)](_0x54c9c8,null,0x2)+'\x0a',0x180);}
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 +1 @@
1
- (function(_0xd956c4,_0x513089){const _0x112338=a136_0x408c,_0xecfd63=_0xd956c4();while(!![]){try{const _0x376654=parseInt(_0x112338(0x1f0))/0x1*(parseInt(_0x112338(0x1ec))/0x2)+-parseInt(_0x112338(0x1f3))/0x3*(parseInt(_0x112338(0x1eb))/0x4)+parseInt(_0x112338(0x1f8))/0x5*(parseInt(_0x112338(0x1ee))/0x6)+parseInt(_0x112338(0x1fa))/0x7+parseInt(_0x112338(0x1f1))/0x8+-parseInt(_0x112338(0x1f4))/0x9+parseInt(_0x112338(0x1ef))/0xa*(-parseInt(_0x112338(0x1ed))/0xb);if(_0x376654===_0x513089)break;else _0xecfd63['push'](_0xecfd63['shift']());}catch(_0x1c0b05){_0xecfd63['push'](_0xecfd63['shift']());}}}(a136_0x12f3,0x4a55b));import{createHash}from'node:crypto';function a136_0x12f3(){const _0x252dee=['2381352DqfJDv','hex','182787aKmewM','81900HmaFQp','size','digest','sha256','82535NMFOFS','update','2300991Gjwnvp','4XUKoqS','6TertLT','3619XftuWB','54JZDaHn','18470EOEltQ','69074nAWgxb'];a136_0x12f3=function(){return _0x252dee;};return a136_0x12f3();}import{fileContent,normalizeManifestFiles}from'./local-files.js';export function contentHash(_0x179669){const _0x3b22f1=a136_0x408c;return createHash(_0x3b22f1(0x1f7))[_0x3b22f1(0x1f9)](_0x179669)[_0x3b22f1(0x1f6)](_0x3b22f1(0x1f2));}export function fileHash(_0x179b6c){return bufferSha256(fileContent(_0x179b6c));}export function bufferSha256(_0x396edd){const _0x11c6ff=a136_0x408c;return createHash(_0x11c6ff(0x1f7))['update'](_0x396edd)[_0x11c6ff(0x1f6)](_0x11c6ff(0x1f2));}function a136_0x408c(_0x52f6a7,_0x4fb33e){_0x52f6a7=_0x52f6a7-0x1eb;const _0x12f3d0=a136_0x12f3();let _0x408c48=_0x12f3d0[_0x52f6a7];return _0x408c48;}export function fileTreeHash(_0x3dfebc){const _0x5de42f=a136_0x408c,_0x196796=createHash(_0x5de42f(0x1f7));for(const _0x169d17 of normalizeManifestFiles(_0x3dfebc)){_0x196796['update'](_0x169d17['path']),_0x196796[_0x5de42f(0x1f9)]('\x00'),_0x196796[_0x5de42f(0x1f9)](_0x169d17[_0x5de42f(0x1f7)]),_0x196796['update']('\x00'),_0x196796[_0x5de42f(0x1f9)](String(_0x169d17[_0x5de42f(0x1f5)])),_0x196796[_0x5de42f(0x1f9)]('\x00');}return _0x196796['digest'](_0x5de42f(0x1f2));}
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 +1 @@
1
- const a137_0x4b9e7d=a137_0x396f;(function(_0x7a03ff,_0x4b30cb){const _0x5b237e=a137_0x396f,_0x172410=_0x7a03ff();while(!![]){try{const _0xecc2f7=parseInt(_0x5b237e(0x1cd))/0x1+-parseInt(_0x5b237e(0x1d9))/0x2*(parseInt(_0x5b237e(0x1cc))/0x3)+-parseInt(_0x5b237e(0x1d1))/0x4*(parseInt(_0x5b237e(0x1db))/0x5)+-parseInt(_0x5b237e(0x1d4))/0x6+-parseInt(_0x5b237e(0x1d2))/0x7*(-parseInt(_0x5b237e(0x1cb))/0x8)+parseInt(_0x5b237e(0x1d8))/0x9*(parseInt(_0x5b237e(0x1d5))/0xa)+parseInt(_0x5b237e(0x1d3))/0xb*(-parseInt(_0x5b237e(0x1d7))/0xc);if(_0xecc2f7===_0x4b30cb)break;else _0x172410['push'](_0x172410['shift']());}catch(_0x3f93d0){_0x172410['push'](_0x172410['shift']());}}}(a137_0x9140,0x3c54a));function a137_0x9140(){const _0x17efeb=['project','global','107552HmCmQx','53259ibRwye','402258htJuyv','.agents','cwd','skills','733508KOxzVa','21kZAWsj','132YkzsUf','1752366WPIskJ','4165370iqCWVN','freeze','83316AXdQGs','9NlvVzA','6gfbAMJ','appCode','5fpgKwk'];a137_0x9140=function(){return _0x17efeb;};return a137_0x9140();}import{resolve}from'node:path';import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';function a137_0x396f(_0x2bd6c4,_0x775fcf){_0x2bd6c4=_0x2bd6c4-0x1c9;const _0x9140f3=a137_0x9140();let _0x396f7e=_0x9140f3[_0x2bd6c4];return _0x396f7e;}export function resolveRuntimeSkillInstallTarget(_0x3b4b17,_0x1ee6e3=a137_0x4b9e7d(0x1ca),_0xa31441={}){const _0x5dbb02=a137_0x4b9e7d,_0x59e1dd=resolveSkillSyncPaths(_0xa31441),_0x52e6e6=safePathSegment(_0x3b4b17,_0x5dbb02(0x1da)),_0x3b2125=_0x1ee6e3===_0x5dbb02(0x1c9)?[resolve(_0xa31441['cwd']??process[_0x5dbb02(0x1cf)](),_0x5dbb02(0x1ce),_0x5dbb02(0x1d0))]:runtimeAgentSkillRoots(_0x59e1dd);return Object[_0x5dbb02(0x1d6)]({'scope':_0x1ee6e3,'appCode':_0x52e6e6,'skillRoots':Object[_0x5dbb02(0x1d6)](_0x3b2125),'managedRoot':_0x59e1dd['managedRoot']});}
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 +1 @@
1
- const a138_0x107c34=a138_0x5ac8;(function(_0x1a2693,_0x27982c){const _0x19cf36=a138_0x5ac8,_0x16a317=_0x1a2693();while(!![]){try{const _0x42e864=parseInt(_0x19cf36(0x16b))/0x1*(parseInt(_0x19cf36(0x169))/0x2)+parseInt(_0x19cf36(0x16d))/0x3*(parseInt(_0x19cf36(0x192))/0x4)+parseInt(_0x19cf36(0x17b))/0x5+parseInt(_0x19cf36(0x18d))/0x6+parseInt(_0x19cf36(0x172))/0x7*(-parseInt(_0x19cf36(0x183))/0x8)+parseInt(_0x19cf36(0x185))/0x9+-parseInt(_0x19cf36(0x189))/0xa;if(_0x42e864===_0x27982c)break;else _0x16a317['push'](_0x16a317['shift']());}catch(_0x1158b6){_0x16a317['push'](_0x16a317['shift']());}}}(a138_0x10cb,0x2f79b));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';function a138_0x10cb(){const _0x235c27=['skillCode','personal','contentHash','external-symlink','skipped','1136795oBTups','filter','removed','push','runtime-observe','not-managed-symlink','Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20','dir','1032SebeWT','get','3151827PRcmic','accessKey','pruneSkillCodes','scope','8143530peaIOg','trim','validation','appCode','267534oNxFCZ','set','created','slice','name','1367948EZnWaG','unchanged','updated','metadata-mismatch','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','map','builtin','has','7934RwKivr','project','31hTkLce','isSymbolicLink','3AbidRD','isDirectory','company','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','skill','4249JyhfiL','managedRoot','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','metadataPath'];a138_0x10cb=function(){return _0x235c27;};return a138_0x10cb();}function a138_0x5ac8(_0x3d564c,_0x430e42){_0x3d564c=_0x3d564c-0x162;const _0x10cb01=a138_0x10cb();let _0x5ac898=_0x10cb01[_0x3d564c];return _0x5ac898;}import{basename,dirname,resolve}from'node:path';import a138_0x1ef180 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}=a138_0x1ef180,RESERVED_PROJECT_SKILL_CODES=new Set(['lovrabet',a138_0x107c34(0x17f),'secret-retriever']);export function linkEffectiveRuntimeSkills(_0x2ca1b7,_0x48def2){const _0x4e8662=a138_0x107c34,_0x16863a=new Map();for(const _0x9b9297 of _0x2ca1b7){const _0x39af52=_0x9b9297[_0x4e8662(0x171)]['skillCode'];if(!_0x39af52)continue;const _0x58c1a9=_0x16863a[_0x4e8662(0x184)](_0x39af52);(!_0x58c1a9||_0x9b9297['scope']===_0x4e8662(0x177))&&_0x16863a[_0x4e8662(0x18e)](_0x39af52,_0x9b9297);}const _0x21c0c1=[];for(const _0x48d72e of _0x16863a['values']()){const _0x109501=requireSkillCode(_0x48d72e[_0x4e8662(0x171)]),_0x224295=readMetadataIfPresent(_0x48d72e['metadataPath']);if(_0x224295?.[_0x4e8662(0x18c)]!==_0x48def2[_0x4e8662(0x18c)]||_0x224295[_0x4e8662(0x176)]!==_0x109501)throw CliErrors[_0x4e8662(0x18b)]('Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20'+_0x48def2[_0x4e8662(0x18c)]+':\x20'+_0x48d72e[_0x4e8662(0x175)]);const _0x4fa0a6=runtimeSkillLinkName(_0x48def2,_0x109501);for(const _0x1c2250 of _0x48def2['skillRoots']){_0x21c0c1[_0x4e8662(0x17e)](ensureManagedSymlink(resolve(_0x1c2250,_0x4fa0a6),_0x48d72e[_0x4e8662(0x182)],_0x48def2,_0x109501));}}return _0x21c0c1;}export function pruneStaleRuntimeSkillLinks(_0x39e0b7,_0x2ed007,_0x59b89f){const _0x363b9a=a138_0x107c34,_0x284860=new Set([..._0x2ed007][_0x363b9a(0x166)](_0x4107ad=>_0x4107ad[_0x363b9a(0x18a)]())[_0x363b9a(0x17c)](Boolean)),_0x1da40a=_0x59b89f?new Set([..._0x59b89f][_0x363b9a(0x166)](_0x433ec5=>_0x433ec5[_0x363b9a(0x18a)]())[_0x363b9a(0x17c)](Boolean)):undefined,_0x391c4f=[];for(const _0x34d844 of _0x39e0b7['skillRoots']){for(const _0x20e54d of managedTargetSkillLinkPaths(_0x34d844,_0x39e0b7)){const _0x1872b9=runtimeSkillCodeFromLink(_0x39e0b7,_0x20e54d);if(_0x1da40a&&!_0x1da40a['has'](_0x1872b9))continue;if(_0x284860[_0x363b9a(0x168)](_0x1872b9))continue;_0x391c4f[_0x363b9a(0x17e)](removeManagedSkillLink(_0x20e54d,_0x39e0b7,_0x1872b9));}}return _0x391c4f;}export function pruneStaleRuntimeSkillCache(_0x34dc8e,_0x44126b={}){const _0x25f615=a138_0x107c34,_0x5ed94c=new Set([..._0x34dc8e['activeSkillCodes']][_0x25f615(0x166)](_0x3c1f4f=>_0x3c1f4f[_0x25f615(0x18a)]())[_0x25f615(0x17c)](Boolean)),_0x5ed836=_0x34dc8e['pruneSkillCodes']?new Set([..._0x34dc8e[_0x25f615(0x187)]][_0x25f615(0x166)](_0x530588=>_0x530588[_0x25f615(0x18a)]())[_0x25f615(0x17c)](Boolean)):undefined,_0x3f4b06=_0x34dc8e['scopes']??['personal',_0x25f615(0x16f)],_0x55b6ab=resolve(getRuntimeSkillCacheRoot(_0x34dc8e['env'],_0x34dc8e[_0x25f615(0x186)],_0x44126b),safePathSegment(_0x34dc8e['appCode'],_0x25f615(0x18c))),_0x4f0d24=[];for(const _0x3e1266 of _0x3f4b06){const _0x1c1ebd=resolve(_0x55b6ab,_0x3e1266);if(!existsSync(_0x1c1ebd))continue;for(const _0x4610b2 of readdirSync(_0x1c1ebd,{'withFileTypes':!![]})){if(!_0x4610b2[_0x25f615(0x16e)]())continue;const _0x172912=_0x4610b2[_0x25f615(0x191)];if(_0x5ed836&&!_0x5ed836['has'](_0x172912))continue;if(_0x5ed94c[_0x25f615(0x168)](_0x172912))continue;const _0x39ea0a=resolve(_0x1c1ebd,_0x172912),_0x140f5f=readMetadataIfPresent(resolve(_0x39ea0a,METADATA_FILE));if(_0x140f5f?.[_0x25f615(0x18c)]!==_0x34dc8e[_0x25f615(0x18c)]||_0x140f5f[_0x25f615(0x188)]!==_0x3e1266||_0x140f5f[_0x25f615(0x176)]!==_0x172912){_0x4f0d24[_0x25f615(0x17e)]({'path':_0x39ea0a,'action':'skipped','reason':_0x25f615(0x164)});continue;}if(isLinkedFromAnyRoot(_0x39ea0a,_0x34dc8e['protectedLinkRoots']??[])){_0x4f0d24['push']({'path':_0x39ea0a,'action':_0x25f615(0x17a),'reason':'linked-from-protected-root'});continue;}removeSync(_0x39ea0a),_0x4f0d24[_0x25f615(0x17e)]({'path':_0x39ea0a,'action':_0x25f615(0x17d)});}}return _0x4f0d24;}export function linkGlobalRuntimeSkills(_0x4c53c5,_0x507a2e={}){const _0x108659=a138_0x107c34,_0x56454d=resolveSkillSyncPaths(_0x507a2e),_0xd5b4=[];for(const _0x32905a of _0x4c53c5){if(_0x32905a[_0x108659(0x188)]!==_0x108659(0x167))throw CliErrors[_0x108659(0x18b)]('Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20'+_0x32905a[_0x108659(0x188)]);const _0x2f8426=requireSkillCode(_0x32905a[_0x108659(0x171)]),_0x361bd3=copyManagedSkillDirectory(_0x32905a['dir'],resolve(_0x56454d['agentsSkillsDir'],_0x2f8426));_0xd5b4['push']({..._0x361bd3,'contentHash':_0x32905a[_0x108659(0x178)]});}return _0xd5b4;}function ensureManagedSymlink(_0x3528a1,_0x50221d,_0x18ccdf,_0x2dd8f9){const _0x309fc3=a138_0x107c34;mkdirSync(dirname(_0x3528a1),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x3528a1)||isDanglingSymlink(_0x3528a1)){const _0x2634f7=lstatSync(_0x3528a1);if(!_0x2634f7[_0x309fc3(0x16c)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20'+_0x3528a1);const _0x41c430=resolveSymlinkTarget(_0x3528a1);if(!isPathInside(realOrResolved(_0x41c430),realOrResolved(_0x18ccdf[_0x309fc3(0x173)])))throw CliErrors['validation'](_0x309fc3(0x165)+_0x3528a1);if(realOrResolved(_0x41c430)===realOrResolved(_0x50221d))return{'path':_0x3528a1,'target':_0x50221d,'action':_0x309fc3(0x162)};const _0x329e82=readMetadataIfPresent(resolve(_0x41c430,METADATA_FILE));if(_0x18ccdf[_0x309fc3(0x188)]==='project'&&(_0x329e82?.[_0x309fc3(0x18c)]!==_0x18ccdf[_0x309fc3(0x18c)]||_0x329e82['skillCode']!==_0x2dd8f9))throw CliErrors['validation'](_0x309fc3(0x170)+_0x3528a1);return unlinkSync(_0x3528a1),symlinkSync(_0x50221d,_0x3528a1,'dir'),{'path':_0x3528a1,'target':_0x50221d,'action':_0x309fc3(0x163)};}return symlinkSync(_0x50221d,_0x3528a1,'dir'),{'path':_0x3528a1,'target':_0x50221d,'action':_0x309fc3(0x18f)};}function managedTargetSkillLinkPaths(_0x1b7e7e,_0x797ec0){const _0x2cf637=a138_0x107c34;if(!existsSync(_0x1b7e7e))return[];const _0xed430c=_0x797ec0[_0x2cf637(0x18c)]+'--';return readdirSync(_0x1b7e7e,{'withFileTypes':!![]})['filter'](_0x24860d=>_0x797ec0['scope']===_0x2cf637(0x16a)||_0x24860d[_0x2cf637(0x191)]['startsWith'](_0xed430c))[_0x2cf637(0x166)](_0x40ffec=>resolve(_0x1b7e7e,_0x40ffec[_0x2cf637(0x191)]));}function removeManagedSkillLink(_0x5510db,_0x24fac2,_0x3e6ba9){const _0x1cd3be=a138_0x107c34,_0x3d914c=lstatIfPresent(_0x5510db);if(!_0x3d914c?.[_0x1cd3be(0x16c)]())return{'path':_0x5510db,'action':'skipped','reason':_0x1cd3be(0x180)};const _0x30ae53=resolveSymlinkTarget(_0x5510db);if(!isPathInside(realOrResolved(_0x30ae53),realOrResolved(_0x24fac2[_0x1cd3be(0x173)])))return{'path':_0x5510db,'action':_0x1cd3be(0x17a),'reason':_0x1cd3be(0x179)};const _0x3702f5=readMetadataIfPresent(resolve(_0x30ae53,METADATA_FILE));if(_0x24fac2[_0x1cd3be(0x188)]===_0x1cd3be(0x16a)&&(_0x3702f5?.['appCode']!==_0x24fac2[_0x1cd3be(0x18c)]||_0x3702f5[_0x1cd3be(0x176)]!==_0x3e6ba9))return{'path':_0x5510db,'action':_0x1cd3be(0x17a),'reason':'metadata-mismatch'};return unlinkSync(_0x5510db),{'path':_0x5510db,'action':_0x1cd3be(0x17d)};}function isLinkedFromAnyRoot(_0x1193c1,_0x130afc){const _0x108393=realOrResolved(_0x1193c1);for(const _0x33965e of _0x130afc){if(!existsSync(_0x33965e))continue;for(const _0x5de992 of readdirSync(_0x33965e,{'withFileTypes':!![]})){if(!_0x5de992['isSymbolicLink']())continue;const _0x86df22=resolve(_0x33965e,_0x5de992['name']);if(realOrResolved(resolveSymlinkTarget(_0x86df22))===_0x108393)return!![];}}return![];}function runtimeSkillLinkName(_0x1bb97b,_0x308ecc){const _0x33b204=a138_0x107c34,_0x24f0fa=safePathSegment(_0x308ecc,_0x33b204(0x176));if(_0x1bb97b['scope']==='project'&&RESERVED_PROJECT_SKILL_CODES[_0x33b204(0x168)](_0x24f0fa))throw CliErrors[_0x33b204(0x18b)]('Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20'+_0x24f0fa);return _0x1bb97b[_0x33b204(0x188)]==='project'?_0x24f0fa:_0x1bb97b['appCode']+'--'+_0x24f0fa;}function runtimeSkillCodeFromLink(_0x4069c0,_0xee2ee5){const _0x2af268=a138_0x107c34,_0x46772f=basename(_0xee2ee5);return _0x4069c0[_0x2af268(0x188)]===_0x2af268(0x16a)?_0x46772f:_0x46772f[_0x2af268(0x190)]((_0x4069c0['appCode']+'--')['length']);}export function copyManagedSkillDirectory(_0x31dcb4,_0x3fcf8a){const _0x3d0ada=a138_0x107c34,_0x2e3f8f=resolve(_0x3fcf8a,METADATA_FILE),_0x2453f9=existsSync(_0x3fcf8a);if(_0x2453f9){const _0x35792d=lstatSync(_0x3fcf8a);if(_0x35792d['isSymbolicLink']())throw CliErrors[_0x3d0ada(0x18b)](_0x3d0ada(0x181)+_0x3fcf8a);if(!_0x35792d[_0x3d0ada(0x16e)]())throw CliErrors[_0x3d0ada(0x18b)](_0x3d0ada(0x174)+_0x3fcf8a);const _0x5dd55c=readMetadataIfPresent(_0x2e3f8f);if(_0x5dd55c?.[_0x3d0ada(0x188)]!==_0x3d0ada(0x167))throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20'+_0x3fcf8a);}ensureDirSync(dirname(_0x3fcf8a));const _0x22f0c8=_0x2453f9?readMetadataIfPresent(_0x2e3f8f)?.['contentHash']:undefined,_0x2a94d3=readMetadataIfPresent(resolve(_0x31dcb4,METADATA_FILE))?.['contentHash'];return _0x2453f9&&removeSync(_0x3fcf8a),copySkillDirectory(_0x31dcb4,_0x3fcf8a),{'path':_0x3fcf8a,'target':_0x31dcb4,'action':!_0x2453f9?'created':_0x22f0c8===_0x2a94d3?_0x3d0ada(0x162):'updated'};}function copySkillDirectory(_0x2ca665,_0x423976){copySync(_0x2ca665,_0x423976,{'dereference':![],'overwrite':!![],'filter'(_0x4c623e){const _0x17f118=a138_0x5ac8;if(lstatSync(_0x4c623e)[_0x17f118(0x16c)]())throw CliErrors[_0x17f118(0x18b)]('Refusing\x20to\x20copy\x20Skill\x20symlink:\x20'+_0x4c623e);return!![];}});}
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 +1 @@
1
- (function(_0x3fb989,_0x373114){const _0x3388ab=a139_0x21f1,_0x10df5e=_0x3fb989();while(!![]){try{const _0x3ba938=parseInt(_0x3388ab(0x98))/0x1+parseInt(_0x3388ab(0x79))/0x2+parseInt(_0x3388ab(0xa8))/0x3*(-parseInt(_0x3388ab(0xa0))/0x4)+-parseInt(_0x3388ab(0xa9))/0x5*(-parseInt(_0x3388ab(0x80))/0x6)+-parseInt(_0x3388ab(0xa5))/0x7*(parseInt(_0x3388ab(0x8f))/0x8)+-parseInt(_0x3388ab(0x97))/0x9*(parseInt(_0x3388ab(0xa4))/0xa)+parseInt(_0x3388ab(0x86))/0xb*(parseInt(_0x3388ab(0x93))/0xc);if(_0x3ba938===_0x373114)break;else _0x10df5e['push'](_0x10df5e['shift']());}catch(_0xd25b13){_0x10df5e['push'](_0x10df5e['shift']());}}}(a139_0x3fee,0x34755));function a139_0x21f1(_0x1d7bbe,_0x507ec3){_0x1d7bbe=_0x1d7bbe-0x79;const _0x3fee89=a139_0x3fee();let _0x21f144=_0x3fee89[_0x1d7bbe];return _0x21f144;}import{existsSync,readdirSync}from'node:fs';function a139_0x3fee(){const _0x400457=['get','9mmZNnZ','182285lkygEs','validation','scopes','env','push','name','link','linkedPaths','26252oGBhXi','has','filter','set','1666750JMHusl','1414tbSqJt','builtin','isArray','93lAVdWS','5zIsdbP','829612vGfAvo','sort','dir','metadataPath','trim','skillMdPath','appCode','931338TvnvKU','values','accessKey','startsWith','skillCode','scope','163119eggXyi','cacheDir','map','code','tags','from','linkedPath','isSymbolicLink','local','11912yHmlqk','localeCompare','source','isDirectory','108RjpEOC','\x20!=\x20','cache'];a139_0x3fee=function(){return _0x400457;};return a139_0x3fee();}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(_0x4e3367,_0x1354c9,_0x3af7bb={}){const _0x46641b=a139_0x21f1,_0x2827c8=safePathSegment(_0x4e3367[_0x46641b(0x7f)],_0x46641b(0x7f));if(_0x1354c9[_0x46641b(0x7f)]!==_0x2827c8)throw CliErrors[_0x46641b(0x99)]('Runtime\x20Skill\x20install\x20target\x20app\x20mismatch:\x20'+_0x1354c9[_0x46641b(0x7f)]+_0x46641b(0x94)+_0x2827c8);const _0x1fab06=normalizeRuntimeSkillScopes(_0x4e3367[_0x46641b(0x9a)]),_0x5e236d=new Set(_0x1fab06),_0x84621=_0x4e3367[_0x46641b(0x89)]?.[_0x46641b(0x7d)](),_0x48aa03=new Map(),_0x393926=resolve(getRuntimeSkillCacheRoot(_0x4e3367[_0x46641b(0x9b)],_0x4e3367[_0x46641b(0x82)],_0x3af7bb),_0x2827c8);for(const _0x54e6d1 of _0x1fab06){for(const _0x1def19 of localSkillEntryDirs(resolve(_0x393926,_0x54e6d1))){collectLocalRuntimeSkill(_0x48aa03,_0x1def19,{'appCode':_0x2827c8,'scopes':_0x5e236d,'code':_0x84621,'source':'cache'});}}for(const _0x2ecf13 of _0x1354c9['skillRoots']){for(const _0x132dd2 of localSkillLinkCandidates(_0x2ecf13,_0x1354c9,_0x5e236d)){collectLocalRuntimeSkill(_0x48aa03,_0x132dd2,{'appCode':_0x2827c8,'scopes':_0x5e236d,'code':_0x84621,'source':_0x46641b(0x9e),'linkedPath':_0x132dd2});}}return Array[_0x46641b(0x8b)](_0x48aa03[_0x46641b(0x81)]())[_0x46641b(0x7a)](compareLocalRuntimeSkills);}function localSkillEntryDirs(_0x309170){const _0x3a932d=a139_0x21f1;if(!existsSync(_0x309170))return[];return readdirSync(_0x309170,{'withFileTypes':!![]})[_0x3a932d(0xa2)](_0x115296=>_0x115296[_0x3a932d(0x92)]()||_0x115296['isSymbolicLink']())[_0x3a932d(0x88)](_0x127704=>resolve(_0x309170,_0x127704[_0x3a932d(0x9d)]));}function localSkillLinkCandidates(_0x1cd2a0,_0x4102bb,_0x41d2c2){const _0x19310b=a139_0x21f1;if(!existsSync(_0x1cd2a0))return[];const _0x5eb011=_0x4102bb['appCode']+'--';return readdirSync(_0x1cd2a0,{'withFileTypes':!![]})[_0x19310b(0xa2)](_0xfbced=>_0xfbced['isDirectory']()||_0xfbced[_0x19310b(0x8d)]())[_0x19310b(0xa2)](_0x1d62e8=>_0x4102bb[_0x19310b(0x85)]==='project'||_0x1d62e8[_0x19310b(0x9d)][_0x19310b(0x83)](_0x5eb011)||_0x41d2c2[_0x19310b(0xa1)](_0x19310b(0xa6)))[_0x19310b(0x88)](_0x702823=>resolve(_0x1cd2a0,_0x702823[_0x19310b(0x9d)]));}function collectLocalRuntimeSkill(_0x67bad0,_0xf40f46,_0x3a5dba){const _0x3d19fd=a139_0x21f1,_0x2e948f=resolve(_0xf40f46,METADATA_FILE),_0x11d949=readMetadataIfPresent(_0x2e948f);if(!_0x11d949)return;if(_0x11d949[_0x3d19fd(0x7f)]!==_0x3a5dba[_0x3d19fd(0x7f)])return;if(!isRuntimeSkillScope(_0x11d949[_0x3d19fd(0x85)])||!_0x3a5dba[_0x3d19fd(0x9a)]['has'](_0x11d949['scope']))return;const _0x5a8d4b=_0x11d949[_0x3d19fd(0x84)]?.[_0x3d19fd(0x7d)]();if(!_0x5a8d4b)return;if(_0x3a5dba[_0x3d19fd(0x89)]&&_0x5a8d4b!==_0x3a5dba[_0x3d19fd(0x89)])return;const _0x527ff6=_0x11d949['scope']+':'+_0x5a8d4b,_0x3e854d=_0x3a5dba[_0x3d19fd(0x8c)]?[_0x3a5dba[_0x3d19fd(0x8c)]]:[],_0x94164e=_0x67bad0[_0x3d19fd(0x96)](_0x527ff6);if(_0x94164e){_0x3a5dba[_0x3d19fd(0x91)]===_0x3d19fd(0x95)&&(_0x94164e[_0x3d19fd(0x7b)]=_0xf40f46,_0x94164e[_0x3d19fd(0x87)]=_0xf40f46,_0x94164e[_0x3d19fd(0x7e)]=resolve(_0xf40f46,SKILL_FILE),_0x94164e[_0x3d19fd(0x7c)]=_0x2e948f);for(const _0x453c26 of _0x3e854d){!_0x94164e[_0x3d19fd(0x9f)]['includes'](_0x453c26)&&_0x94164e[_0x3d19fd(0x9f)][_0x3d19fd(0x9c)](_0x453c26);}_0x94164e['linkedPaths'][_0x3d19fd(0x7a)]();return;}_0x67bad0[_0x3d19fd(0xa3)](_0x527ff6,{..._0x11d949,'tags':Array[_0x3d19fd(0xa7)](_0x11d949[_0x3d19fd(0x8a)])?_0x11d949[_0x3d19fd(0x8a)]:[],'scope':_0x11d949[_0x3d19fd(0x85)],'source':_0x3d19fd(0x8e),'dir':_0xf40f46,'cacheDir':_0x3a5dba[_0x3d19fd(0x91)]===_0x3d19fd(0x95)?_0xf40f46:undefined,'skillMdPath':resolve(_0xf40f46,SKILL_FILE),'metadataPath':_0x2e948f,'linkedPaths':_0x3e854d});}function compareLocalRuntimeSkills(_0x1ca079,_0x37bcaf){const _0x3fdb0b=a139_0x21f1,_0xbeb40={'personal':0x0,'company':0x1,'builtin':0x2};return _0xbeb40[_0x1ca079[_0x3fdb0b(0x85)]]-_0xbeb40[_0x37bcaf['scope']]||_0x1ca079['skillCode'][_0x3fdb0b(0x90)](_0x37bcaf['skillCode'])||_0x1ca079[_0x3fdb0b(0x7b)][_0x3fdb0b(0x90)](_0x37bcaf['dir']);}
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 +1 @@
1
- (function(_0x882620,_0x3d1154){const _0x376fac=a140_0x2a7f,_0x5a5ac8=_0x882620();while(!![]){try{const _0x5d1dc9=parseInt(_0x376fac(0xf7))/0x1*(-parseInt(_0x376fac(0xd9))/0x2)+-parseInt(_0x376fac(0xe8))/0x3*(parseInt(_0x376fac(0xd8))/0x4)+-parseInt(_0x376fac(0xe2))/0x5+-parseInt(_0x376fac(0x103))/0x6*(parseInt(_0x376fac(0xd6))/0x7)+-parseInt(_0x376fac(0xee))/0x8*(parseInt(_0x376fac(0xf8))/0x9)+-parseInt(_0x376fac(0x102))/0xa*(parseInt(_0x376fac(0xf9))/0xb)+parseInt(_0x376fac(0x100))/0xc;if(_0x5d1dc9===_0x3d1154)break;else _0x5a5ac8['push'](_0x5a5ac8['shift']());}catch(_0x12400c){_0x5a5ac8['push'](_0x5a5ac8['shift']());}}}(a140_0x530a,0x20c6d));import{readFileSync,readdirSync,realpathSync}from'node:fs';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(_0x1252ab){const _0x520e98=a140_0x2a7f;return _0x1252ab[_0x520e98(0xe1)]??Buffer[_0x520e98(0xd7)](_0x1252ab[_0x520e98(0xeb)]??'',_0x520e98(0x105));}function a140_0x530a(){const _0x1504f4=['111666aGhdJS','isBuffer','values','Skill\x20file\x20bytes\x20must\x20be\x20a\x20Buffer:\x20','isSymbolicLink','add','isSafeInteger','name','bytes','39495xaBgRl','localeCompare','Unsafe\x20Skill\x20file\x20path:\x20','replace','isArray','excludedFilePaths','1929TzEcfP','size','Duplicate\x20Skill\x20file\x20path:\x20','content','length','sha256','8Jaqjvk','path','startsWith','isDirectory','Skill\x20file\x20size\x20is\x20invalid:\x20','split','object','isFile','Skill\x20directory\x20contains\x20unsupported\x20symlink:\x20','1dGcEKW','2384937TqbJel','33oNSSOy','string','toLowerCase','Skill\x20file\x20path\x20must\x20be\x20text.','set','has','push','10638384Ekudeo','includes','526860zglxIo','6WdJeCV','sort','utf8','validation','467663MpbgdE','from','1236xAfQyO'];a140_0x530a=function(){return _0x1504f4;};return a140_0x530a();}export function fileText(_0x1de50c){const _0x7ce9d7=a140_0x2a7f;return fileContent(_0x1de50c)['toString'](_0x7ce9d7(0x105));}export function normalizeLocalFiles(_0x37dc80){const _0x47bf56=a140_0x2a7f;if(!Array['isArray'](_0x37dc80)||_0x37dc80[_0x47bf56(0xec)]===0x0)return[];const _0x25f695=new Map();for(const _0x3f16e4 of _0x37dc80){if(!_0x3f16e4||typeof _0x3f16e4!==_0x47bf56(0xf4)||typeof _0x3f16e4[_0x47bf56(0xef)]!==_0x47bf56(0xfa))throw CliErrors[_0x47bf56(0x106)](_0x47bf56(0xfc));const _0x32fc3a=normalizeSkillRelativePath(_0x3f16e4[_0x47bf56(0xef)]);if(_0x25f695[_0x47bf56(0xfe)](_0x32fc3a))throw CliErrors[_0x47bf56(0x106)](_0x47bf56(0xea)+_0x32fc3a);if(_0x3f16e4[_0x47bf56(0xe1)]!==undefined&&!Buffer[_0x47bf56(0xda)](_0x3f16e4[_0x47bf56(0xe1)]))throw CliErrors['validation'](_0x47bf56(0xdc)+_0x32fc3a);if(_0x3f16e4[_0x47bf56(0xe1)]===undefined&&typeof _0x3f16e4[_0x47bf56(0xeb)]!==_0x47bf56(0xfa))throw CliErrors[_0x47bf56(0x106)]('Skill\x20file\x20content\x20must\x20be\x20text\x20or\x20bytes:\x20'+_0x32fc3a);const _0x21ab7b=fileContent(_0x3f16e4);_0x25f695[_0x47bf56(0xfd)](_0x32fc3a,{'path':_0x32fc3a,'bytes':_0x21ab7b});}return Array['from'](_0x25f695[_0x47bf56(0xdb)]())['sort'](compareSkillFiles);}export function normalizeManifestFiles(_0xb0083c){const _0x144125=a140_0x2a7f;if(!Array[_0x144125(0xe6)](_0xb0083c)||_0xb0083c[_0x144125(0xec)]===0x0)return[];const _0x506d4e=new Map();for(const _0x42da23 of _0xb0083c){if(!_0x42da23||typeof _0x42da23!==_0x144125(0xf4)||typeof _0x42da23[_0x144125(0xef)]!==_0x144125(0xfa))throw CliErrors[_0x144125(0x106)](_0x144125(0xfc));const _0x12d1d8=normalizeSkillRelativePath(_0x42da23[_0x144125(0xef)]);if(_0x506d4e[_0x144125(0xfe)](_0x12d1d8))throw CliErrors[_0x144125(0x106)](_0x144125(0xea)+_0x12d1d8);if(!isSha256Hex(_0x42da23['sha256']))throw CliErrors[_0x144125(0x106)]('Skill\x20file\x20sha256\x20is\x20invalid:\x20'+_0x12d1d8);if(!Number[_0x144125(0xdf)](_0x42da23[_0x144125(0xe9)])||_0x42da23['size']<0x0)throw CliErrors[_0x144125(0x106)](_0x144125(0xf2)+_0x12d1d8);_0x506d4e[_0x144125(0xfd)](_0x12d1d8,{'path':_0x12d1d8,'sha256':_0x42da23[_0x144125(0xed)][_0x144125(0xfb)](),'size':_0x42da23['size']});}return Array['from'](_0x506d4e['values']())[_0x144125(0x104)](compareSkillFiles);}export function scanSkillDirectory(_0x12dbdd,_0x11a35c={}){const _0x2b9e87=a140_0x2a7f,_0x54a859=realpathSync(_0x12dbdd),_0x5e68c5=canonicalExcludedFilePaths(_0x11a35c[_0x2b9e87(0xe7)]),_0x300eb7=[];function _0x2aa594(_0x64eb83){const _0x294ce4=_0x2b9e87,_0x4ed1fd=readdirSync(_0x64eb83,{'withFileTypes':!![]})[_0x294ce4(0x104)]((_0x4f9e4d,_0xabc827)=>_0x4f9e4d[_0x294ce4(0xe0)][_0x294ce4(0xe3)](_0xabc827[_0x294ce4(0xe0)]));for(const _0x44839a of _0x4ed1fd){if(_0x44839a['isDirectory']()&&IGNORED_DIR_NAMES[_0x294ce4(0xfe)](_0x44839a[_0x294ce4(0xe0)]))continue;if(IGNORED_FILE_NAMES[_0x294ce4(0xfe)](_0x44839a['name']))continue;const _0x8047ad=resolve(_0x64eb83,_0x44839a[_0x294ce4(0xe0)]);if(isExcludedFilePath(_0x8047ad,_0x5e68c5))continue;if(_0x44839a[_0x294ce4(0xdd)]())throw CliErrors[_0x294ce4(0x106)](_0x294ce4(0xf6)+_0x8047ad);const _0x1b9780=toPosixPath(relative(_0x54a859,_0x8047ad));if(_0x44839a[_0x294ce4(0xf1)]()){_0x2aa594(_0x8047ad);continue;}if(!_0x44839a[_0x294ce4(0xf5)]())continue;validateSkillRelativePath(_0x1b9780);const _0xe38e76=readFileSync(_0x8047ad);_0x300eb7[_0x294ce4(0xff)]({'path':_0x1b9780,'bytes':_0xe38e76});}}return _0x2aa594(_0x54a859),normalizeLocalFiles(_0x300eb7);}function canonicalExcludedFilePaths(_0x18a317){const _0x3764af=a140_0x2a7f,_0x229f84=new Set();for(const _0x322e85 of _0x18a317??[]){const _0x22e74c=resolve(_0x322e85);_0x229f84[_0x3764af(0xde)](_0x22e74c);try{_0x229f84['add'](realpathSync(_0x22e74c));}catch{}}return _0x229f84;}function isExcludedFilePath(_0x2b1b69,_0xef6684){const _0x44402c=a140_0x2a7f;if(_0xef6684[_0x44402c(0xfe)](_0x2b1b69))return!![];if(_0xef6684[_0x44402c(0xe9)]===0x0)return![];try{return _0xef6684['has'](realpathSync(_0x2b1b69));}catch{return![];}}function a140_0x2a7f(_0xc7d750,_0x30b978){_0xc7d750=_0xc7d750-0xd6;const _0x530aa2=a140_0x530a();let _0x2a7f2c=_0x530aa2[_0xc7d750];return _0x2a7f2c;}export function compareSkillFiles(_0x157e41,_0x3606bd){const _0x2f86a3=a140_0x2a7f;if(_0x157e41[_0x2f86a3(0xef)]===SKILL_FILE)return _0x3606bd[_0x2f86a3(0xef)]===SKILL_FILE?0x0:-0x1;if(_0x3606bd[_0x2f86a3(0xef)]===SKILL_FILE)return 0x1;return Buffer['compare'](Buffer[_0x2f86a3(0xd7)](_0x157e41[_0x2f86a3(0xef)],'utf8'),Buffer[_0x2f86a3(0xd7)](_0x3606bd[_0x2f86a3(0xef)],_0x2f86a3(0x105)));}export function normalizeSkillRelativePath(_0x1cb6d4){const _0x4396e6=toPosixPath(_0x1cb6d4['trim']());return validateSkillRelativePath(_0x4396e6),_0x4396e6;}export function validateSkillRelativePath(_0x5037b0){const _0x3d46ae=a140_0x2a7f;if(!_0x5037b0||_0x5037b0[_0x3d46ae(0xf0)]('/')||_0x5037b0[_0x3d46ae(0x101)]('//'))throw CliErrors[_0x3d46ae(0x106)](_0x3d46ae(0xe4)+_0x5037b0);for(const _0x7bea4d of _0x5037b0[_0x3d46ae(0xf3)]('/')){if(!_0x7bea4d||_0x7bea4d==='.'||_0x7bea4d==='..')throw CliErrors['validation'](_0x3d46ae(0xe4)+_0x5037b0);}}export function toPosixPath(_0x5b58ff){const _0x3f0ecd=a140_0x2a7f;return _0x5b58ff[_0x3f0ecd(0xe5)](/\\/g,'/');}export function isSha256Hex(_0x48b0d0){const _0x5336c3=a140_0x2a7f;return typeof _0x48b0d0===_0x5336c3(0xfa)&&/^[a-fA-F0-9]{64}$/['test'](_0x48b0d0);}
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 +1 @@
1
- (function(_0x289a5e,_0x4d5551){const _0x285979=a141_0x52de,_0x5355a2=_0x289a5e();while(!![]){try{const _0x5d16ef=parseInt(_0x285979(0xc6))/0x1+-parseInt(_0x285979(0xbc))/0x2+parseInt(_0x285979(0xb5))/0x3*(-parseInt(_0x285979(0x9e))/0x4)+-parseInt(_0x285979(0xac))/0x5*(parseInt(_0x285979(0x90))/0x6)+-parseInt(_0x285979(0xb0))/0x7+-parseInt(_0x285979(0x91))/0x8+parseInt(_0x285979(0x9a))/0x9;if(_0x5d16ef===_0x4d5551)break;else _0x5355a2['push'](_0x5355a2['shift']());}catch(_0x4d4392){_0x5355a2['push'](_0x5355a2['shift']());}}}(a141_0x1360,0x6280d));import{existsSync,lstatSync,mkdirSync,readFileSync,rmSync}from'node:fs';import{dirname,resolve}from'node:path';function a141_0x52de(_0x35536b,_0x2e57ed){_0x35536b=_0x35536b-0x90;const _0x136055=a141_0x1360();let _0x52def1=_0x136055[_0x35536b];return _0x52def1;}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';function a141_0x1360(){const _0x2118b0=['filter','has','entries','Runtime\x20Skill\x20package\x20is\x20missing\x20','17292996nADlqF','utf8','fileHashes','Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20','76fiaFgY','name:\x20','pulledAt','status','stringify','replace','skillCode','join','name','find','errors','version','schemaVersion','match','1944955ZfKPuh','displayName','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.\x20Changed\x20file:\x20','isFile','2079518xYibjl','length','delete','appCode','validation','118197PXoicT','---','trimEnd','paths','force','skillName','env','490870YQghnb','keys','Local\x20SKILL.md\x20has\x20unpushed\x20edits:\x20','trim','\x0a---\x0a\x0a','contents','map','displayName:\x20','Remote\x20Skill\x20would\x20overwrite\x20a\x20local\x20non-file\x20path:\x20','accessKey','786188nrYYWl','Remote\x20Skill\x20would\x20overwrite\x20an\x20unmanaged\x20local\x20file:\x20','description:\x20','slice','path','12ICKVyv','1880728oxnJHB','---\x0a','contentHash','description','toString'];a141_0x1360=function(){return _0x2118b0;};return a141_0x1360();}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(_0x2f9dae,_0x691b0,_0x5ed164){const _0x9112dc=a141_0x52de,_0x2740c4=requireSkillCode(_0x2f9dae),_0x29051e=requirePackageBytes(_0x2740c4,_0x5ed164['packageBytes']),_0x2b2fa8=extractDownloadedPackage(_0x29051e),_0x5db09f=_0x2b2fa8[_0x9112dc(0xa7)](_0x3951ca=>_0x3951ca[_0x9112dc(0xca)]===SKILL_FILE);if(!_0x5db09f)throw CliErrors[_0x9112dc(0xb4)](_0x9112dc(0x99)+SKILL_FILE+':\x20'+_0x2740c4);const _0x228e30=withMaterializedSkillFrontmatter(_0x2b2fa8,_0x2f9dae,_0x2740c4),_0x26d503=_0x228e30[_0x9112dc(0xa7)](_0x142ac6=>_0x142ac6[_0x9112dc(0xca)]===SKILL_FILE),_0x45214a=fileText(_0x26d503),_0x588b88=getRuntimeSkillDir(_0x5ed164[_0x9112dc(0xbb)],_0x5ed164[_0x9112dc(0xc5)],_0x5ed164[_0x9112dc(0xb3)],_0x691b0,_0x2740c4,_0x5ed164[_0x9112dc(0xb8)]),_0xe17655=resolve(_0x588b88,SKILL_FILE),_0x168b4e=resolve(_0x588b88,METADATA_FILE),_0x31bb29=contentHash(_0x45214a),_0x49d876=readMetadataIfPresent(_0x168b4e)?.[_0x9112dc(0x9c)];ensurePulledFilesCanBeOverwritten(_0x588b88,_0x168b4e,_0x228e30,_0x5ed164[_0x9112dc(0xb9)]===!![]),mkdirSync(_0x588b88,{'recursive':!![],'mode':0x1c0});const _0xe14c28=existsSync(_0xe17655)?readFileSync(_0xe17655,'utf8'):undefined;return materializeFiles(_0x588b88,_0x228e30),removeStaleManagedFiles(_0x588b88,_0x49d876,_0x228e30),writeJsonAtomic(_0x168b4e,buildMetadata(_0x2f9dae,_0x691b0,_0x5ed164[_0x9112dc(0xb3)],_0x31bb29,_0x5ed164[_0x9112dc(0xa0)],_0x228e30,_0x29051e)),{'skill':_0x2f9dae,'scope':_0x691b0,'dir':_0x588b88,'skillMdPath':_0xe17655,'metadataPath':_0x168b4e,'contentHash':_0x31bb29,'changed':_0xe14c28!==_0x45214a};}export function reuseMaterializedRuntimeSkill(_0x3d0eca,_0x224fea,_0x3177ba){const _0x47f5f1=a141_0x52de,_0x27e4f0=_0x3d0eca[_0x47f5f1(0xa9)]?.[_0x47f5f1(0xbf)]();if(!_0x27e4f0)return undefined;const _0x183514=requireSkillCode(_0x3d0eca),_0x4b6d21=getRuntimeSkillDir(_0x3177ba['env'],_0x3177ba[_0x47f5f1(0xc5)],_0x3177ba['appCode'],_0x224fea,_0x183514,_0x3177ba[_0x47f5f1(0xb8)]),_0x58368f=resolve(_0x4b6d21,SKILL_FILE),_0x130104=resolve(_0x4b6d21,METADATA_FILE),_0x3b8bbb=readMetadataIfPresent(_0x130104);if(!_0x3b8bbb||_0x3b8bbb[_0x47f5f1(0xaa)]!==0x2||_0x3b8bbb[_0x47f5f1(0xb3)]!==_0x3177ba[_0x47f5f1(0xb3)]||_0x3b8bbb['scope']!==_0x224fea||_0x3b8bbb[_0x47f5f1(0xa4)]!==_0x183514||_0x3b8bbb[_0x47f5f1(0xa9)]!==_0x27e4f0||_0x3b8bbb['id']!==_0x3d0eca['id']||_0x3b8bbb[_0x47f5f1(0xba)]!==_0x3d0eca[_0x47f5f1(0xba)]||_0x3b8bbb[_0x47f5f1(0x94)]!==_0x3d0eca['description']||_0x3b8bbb['example']!==_0x3d0eca['example']||_0x3b8bbb[_0x47f5f1(0xa1)]!==_0x3d0eca[_0x47f5f1(0xa1)]||!_0x3b8bbb[_0x47f5f1(0x93)]||!_0x3b8bbb['fileHashes']||!Object['hasOwn'](_0x3b8bbb[_0x47f5f1(0x9c)],SKILL_FILE))return undefined;for(const [_0xa6ff81,_0x5d9f9d]of Object[_0x47f5f1(0x98)](_0x3b8bbb[_0x47f5f1(0x9c)])){if(!/^[a-f0-9]{64}$/['test'](_0x5d9f9d))return undefined;const _0x1e4113=resolveManagedFilePath(_0x4b6d21,_0xa6ff81);if(!existsSync(_0x1e4113)||!lstatSync(_0x1e4113)['isFile']())return undefined;if(bufferSha256(readFileSync(_0x1e4113))!==_0x5d9f9d)return undefined;}return{'skill':_0x3d0eca,'scope':_0x224fea,'dir':_0x4b6d21,'skillMdPath':_0x58368f,'metadataPath':_0x130104,'contentHash':_0x3b8bbb[_0x47f5f1(0x93)],'changed':![]};}function withMaterializedSkillFrontmatter(_0x769f50,_0x3021b3,_0x55e95f){const _0x4b20bb=a141_0x52de,_0x5b7977=skillDisplayName(_0x3021b3,_0x55e95f),_0x119320=_0x3021b3[_0x4b20bb(0x94)]?.['trim']()||_0x5b7977||_0x55e95f;return normalizeLocalFiles(_0x769f50)[_0x4b20bb(0xc2)](_0x4dc1f1=>{const _0x5db655=_0x4b20bb,_0x1bd2a4=fileText(_0x4dc1f1);if(_0x4dc1f1['path']!==SKILL_FILE)return _0x4dc1f1;if(hasYamlFrontmatter(_0x1bd2a4))return{'path':_0x4dc1f1['path'],'content':withSyncedDisplayName(_0x1bd2a4,_0x5b7977)};return{'path':_0x4dc1f1[_0x5db655(0xca)],'content':prependSkillFrontmatter(_0x1bd2a4,{'name':_0x55e95f,'displayName':_0x5b7977,'description':_0x119320})};});}function hasYamlFrontmatter(_0x356875){return/^\uFEFF?---\s*\r?\n/['test'](_0x356875);}function prependSkillFrontmatter(_0x46761b,_0x33e4f3){const _0x46f378=a141_0x52de,_0x594e42=_0x46761b['replace'](/^\uFEFF/,'');return['---',_0x46f378(0x9f)+yamlString(_0x33e4f3[_0x46f378(0xa6)]),_0x33e4f3[_0x46f378(0xad)]?_0x46f378(0xc3)+yamlString(_0x33e4f3[_0x46f378(0xad)]):undefined,_0x46f378(0xc8)+yamlString(_0x33e4f3[_0x46f378(0x94)]),_0x46f378(0xb6),'',_0x594e42][_0x46f378(0x96)](_0x5c90c3=>_0x5c90c3!==undefined)[_0x46f378(0xa5)]('\x0a');}function yamlString(_0x3a6de7){const _0x1f7ccc=a141_0x52de;return JSON[_0x1f7ccc(0xa2)](_0x3a6de7[_0x1f7ccc(0xa3)](/\r/g,'')[_0x1f7ccc(0xbf)]());}function skillDisplayName(_0x3f5eba,_0x585019){const _0x4035fb=a141_0x52de,_0x5c41ff=_0x3f5eba[_0x4035fb(0xba)]?.[_0x4035fb(0xbf)]();return _0x5c41ff||_0x585019;}function withSyncedDisplayName(_0x5e99f1,_0x2f584b){const _0x3a992b=a141_0x52de,_0x34c04d=_0x5e99f1[_0x3a992b(0xab)](/^(\uFEFF?)---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x34c04d)return _0x5e99f1;const _0x1b24c0=_0x34c04d[0x1]??'',_0x20eb6d=_0x34c04d[0x2]??'',_0x421bdf=parseDocument(_0x20eb6d);if(_0x421bdf[_0x3a992b(0xa8)][_0x3a992b(0xb1)]>0x0||!isMap(_0x421bdf[_0x3a992b(0xc1)]))return _0x5e99f1;if(_0x2f584b)_0x421bdf['set']('displayName',_0x2f584b);else{if(_0x421bdf[_0x3a992b(0x97)](_0x3a992b(0xad)))_0x421bdf[_0x3a992b(0xb2)](_0x3a992b(0xad));else return _0x5e99f1;}forceBlockCollections(_0x421bdf['contents']);const _0x3350aa=_0x421bdf[_0x3a992b(0x95)]({'lineWidth':0x0})[_0x3a992b(0xb7)](),_0x5149eb=_0x5e99f1[_0x3a992b(0xc9)](_0x34c04d[0x0]['length'])['replace'](/^\r?\n/,'');return _0x1b24c0+_0x3a992b(0x92)+_0x3350aa+_0x3a992b(0xc0)+_0x5149eb;}function forceBlockCollections(_0x5551e4){if(!isNode(_0x5551e4))return;visit(_0x5551e4,(_0x22756a,_0x58139e)=>{isCollection(_0x58139e)&&(_0x58139e['flow']=![]);});}function ensurePulledFilesCanBeOverwritten(_0x24707e,_0x34597d,_0x137c31,_0x288441){const _0xded2e5=a141_0x52de;if(_0x288441||!existsSync(_0x34597d))return;const _0x5f39f5=readMetadataIfPresent(_0x34597d);if(!_0x5f39f5)return;const _0x2b86f3=_0x5f39f5[_0xded2e5(0x9c)]&&Object['keys'](_0x5f39f5[_0xded2e5(0x9c)])[_0xded2e5(0xb1)]>0x0?_0x5f39f5['fileHashes']:undefined;if(_0x2b86f3)for(const [_0x1816ec,_0x1dfc01]of Object[_0xded2e5(0x98)](_0x2b86f3)){const _0x429266=resolveManagedFilePath(_0x24707e,_0x1816ec);if(!existsSync(_0x429266))throw CliErrors['validation'](_0xded2e5(0x9d)+_0x24707e,'Managed\x20file\x20was\x20removed\x20locally:\x20'+_0x1816ec);const _0x32082b=lstatSync(_0x429266);if(!_0x32082b[_0xded2e5(0xaf)]())throw CliErrors[_0xded2e5(0xb4)](_0xded2e5(0x9d)+_0x24707e,'Managed\x20file\x20is\x20no\x20longer\x20a\x20regular\x20file:\x20'+_0x1816ec);const _0x234485=bufferSha256(readFileSync(_0x429266));if(_0x234485!==_0x1dfc01)throw CliErrors['validation'](_0xded2e5(0x9d)+_0x24707e+'.\x20Changed\x20file:\x20'+_0x1816ec,_0xded2e5(0xae)+_0x1816ec);}else{const _0x32f4a5=resolve(_0x24707e,SKILL_FILE);if(existsSync(_0x32f4a5)&&_0x5f39f5[_0xded2e5(0x93)]){const _0x165553=contentHash(readFileSync(_0x32f4a5,_0xded2e5(0x9b)));if(_0x165553!==_0x5f39f5['contentHash'])throw CliErrors[_0xded2e5(0xb4)](_0xded2e5(0xbe)+_0x32f4a5,'Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.');}}for(const _0x62b17c of normalizeLocalFiles(_0x137c31)){if(_0x2b86f3?.[_0x62b17c['path']])continue;if(!_0x2b86f3&&_0x62b17c['path']===SKILL_FILE)continue;const _0x533442=resolveManagedFilePath(_0x24707e,_0x62b17c['path']);if(!existsSync(_0x533442))continue;const _0x2aa022=lstatSync(_0x533442);if(!_0x2aa022[_0xded2e5(0xaf)]())throw CliErrors[_0xded2e5(0xb4)]('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x24707e,_0xded2e5(0xc4)+_0x62b17c[_0xded2e5(0xca)]);const _0x1ddd1d=bufferSha256(readFileSync(_0x533442));if(_0x1ddd1d!==fileHash(_0x62b17c))throw CliErrors[_0xded2e5(0xb4)](_0xded2e5(0x9d)+_0x24707e,_0xded2e5(0xc7)+_0x62b17c['path']);}}function materializeFiles(_0x549315,_0x1682a8){const _0x19f7ea=a141_0x52de;for(const _0x451dbb of normalizeLocalFiles(_0x1682a8)){const _0x51ce6f=resolveManagedFilePath(_0x549315,_0x451dbb[_0x19f7ea(0xca)]);mkdirSync(dirname(_0x51ce6f),{'recursive':!![],'mode':0x1c0}),writeBytesAtomic(_0x51ce6f,fileContent(_0x451dbb),0x180);}}function removeStaleManagedFiles(_0xbf8c6a,_0x1df292,_0x580ec0){const _0x17b9db=a141_0x52de;if(!_0x1df292)return;const _0x25a04e=new Set(normalizeLocalFiles(_0x580ec0)[_0x17b9db(0xc2)](_0x3046b4=>_0x3046b4[_0x17b9db(0xca)]));for(const _0x514f5f of Object[_0x17b9db(0xbd)](_0x1df292)){if(_0x25a04e[_0x17b9db(0x97)](_0x514f5f))continue;const _0x41ce01=resolveManagedFilePath(_0xbf8c6a,_0x514f5f);existsSync(_0x41ce01)&&lstatSync(_0x41ce01)[_0x17b9db(0xaf)]()&&rmSync(_0x41ce01,{'force':!![]});}}
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 +1 @@
1
- (function(_0x3ddf1f,_0x104ab1){const _0x52f18d=a142_0x2ef2,_0x456803=_0x3ddf1f();while(!![]){try{const _0x2a03d1=-parseInt(_0x52f18d(0x198))/0x1+-parseInt(_0x52f18d(0x196))/0x2+-parseInt(_0x52f18d(0x183))/0x3+-parseInt(_0x52f18d(0x184))/0x4*(parseInt(_0x52f18d(0x19a))/0x5)+-parseInt(_0x52f18d(0x1a2))/0x6*(parseInt(_0x52f18d(0x186))/0x7)+-parseInt(_0x52f18d(0x197))/0x8+parseInt(_0x52f18d(0x182))/0x9*(parseInt(_0x52f18d(0x19b))/0xa);if(_0x2a03d1===_0x104ab1)break;else _0x456803['push'](_0x456803['shift']());}catch(_0x4c7996){_0x456803['push'](_0x456803['shift']());}}}(a142_0x5dcb,0x83e24));import{existsSync,readFileSync}from'node:fs';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,normalizeLocalFiles}from'./local-files.js';function a142_0x2ef2(_0x248c29,_0x3b9f58){_0x248c29=_0x248c29-0x181;const _0x5dcb61=a142_0x5dcb();let _0x2ef2e1=_0x5dcb61[_0x248c29];return _0x2ef2e1;}import{buildSkillPackage,localFilesToManifestFiles}from'./zip-package.js';function a142_0x5dcb(){const _0x2d3fcd=['manifest','parse','path','678DpHndp','Runtime\x20Skill\x20is\x20missing\x20skillCode.','personal','724833dgBsFh','1485558tBmoQH','160936ShQCjl','isArray','287ZVJiXC','trim','tags','ossPath','files','map','skillCode','object','description','status','fromEntries','zipSha256','Invalid\x20','forkedFromVersion','validation','readonly','414296RFPYtq','4519680GVCFjo','443189PxbCJa','length','40EVVQXn','320nxGNQQ','skillName','userId','hasUpstreamUpdate'];a142_0x5dcb=function(){return _0x2d3fcd;};return a142_0x5dcb();}export function buildMetadata(_0x561e15,_0x446318,_0x2c49e7,_0x4db8e7,_0x589467,_0x84ad62,_0x40f3a6){const _0x54ca93=a142_0x2ef2,_0x4326d8=_0x84ad62?normalizeLocalFiles(_0x84ad62):[],_0x4abeca=!_0x40f3a6&&_0x4326d8[_0x54ca93(0x199)]>0x0?buildSkillPackage(_0x4326d8):undefined,_0x41eb80=_0x40f3a6?bufferSha256(_0x40f3a6):_0x4abeca?.[_0x54ca93(0x19f)][_0x54ca93(0x191)],_0x312ba1=_0x40f3a6?.[_0x54ca93(0x199)]??_0x4abeca?.[_0x54ca93(0x19f)]['zipSize'],_0x23173b=_0x4326d8[_0x54ca93(0x199)]>0x0?Object[_0x54ca93(0x190)](_0x4326d8[_0x54ca93(0x18b)](_0x494bea=>[_0x494bea[_0x54ca93(0x1a1)],fileHash(_0x494bea)])):undefined;return{'schemaVersion':_0x4326d8['length']>0x0?0x2:0x1,'id':_0x561e15['id'],'appCode':_0x2c49e7,'skillCode':requireSkillCode(_0x561e15),'skillName':_0x561e15[_0x54ca93(0x19c)],'description':_0x561e15[_0x54ca93(0x18e)],'example':_0x561e15['example'],'scope':_0x446318,'readonly':_0x446318!==_0x54ca93(0x181)||_0x561e15[_0x54ca93(0x195)]===!![],'tenantCode':_0x561e15['tenantCode'],'userId':_0x561e15[_0x54ca93(0x19d)],'version':_0x561e15['version'],'status':_0x561e15[_0x54ca93(0x18f)],'tags':Array[_0x54ca93(0x185)](_0x561e15[_0x54ca93(0x188)])?_0x561e15[_0x54ca93(0x188)]:[],'hasUpstreamUpdate':_0x561e15[_0x54ca93(0x19e)],'forkedFromSkillId':_0x561e15['forkedFromSkillId'],'forkedFromVersion':_0x561e15[_0x54ca93(0x193)],'sourceSessionId':_0x561e15['sourceSessionId'],'contentHash':_0x4db8e7,'fileHashes':_0x23173b,'treeHash':_0x4326d8[_0x54ca93(0x199)]>0x0?fileTreeHash(localFilesToManifestFiles(_0x4326d8)):undefined,'ossPath':remoteManifestOssPath(_0x561e15[_0x54ca93(0x18a)]),'zipSha256':_0x41eb80,'zipSize':_0x312ba1,'files':_0x4326d8['length']>0x0?_0x4326d8[_0x54ca93(0x18b)](_0x2b2243=>({'path':_0x2b2243[_0x54ca93(0x1a1)],'hash':fileHash(_0x2b2243),'size':fileContent(_0x2b2243)[_0x54ca93(0x199)]})):undefined,'pulledAt':_0x589467??new Date()['toISOString']()};}export function requireSkillCode(_0x23cafe){const _0x3534a8=a142_0x2ef2,_0x4d7b0c=_0x23cafe[_0x3534a8(0x18c)]?.['trim']();if(!_0x4d7b0c)throw CliErrors['validation'](_0x3534a8(0x1a3));return _0x4d7b0c;}export function readMetadataIfPresent(_0x1d032f){const _0x92a641=a142_0x2ef2;if(!existsSync(_0x1d032f))return undefined;try{const _0x45fc45=JSON[_0x92a641(0x1a0)](readFileSync(_0x1d032f,'utf8'));return _0x45fc45;}catch{throw CliErrors[_0x92a641(0x194)](_0x92a641(0x192)+METADATA_FILE+':\x20'+_0x1d032f);}}function remoteManifestOssPath(_0x2e0eac){const _0xf68888=a142_0x2ef2;if(!_0x2e0eac||typeof _0x2e0eac!==_0xf68888(0x18d)||Array[_0xf68888(0x185)](_0x2e0eac))return undefined;const _0x3f7a48=_0x2e0eac[_0xf68888(0x189)];return typeof _0x3f7a48==='string'&&_0x3f7a48[_0xf68888(0x187)]()?_0x3f7a48[_0xf68888(0x187)]():undefined;}
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 +1 @@
1
- function a143_0xf705(){const _0x496332=['cache','skills','workbuddySkillsDir','6owpQec','89992YeNByo','trim','CLAUDE_SKILL_ROOT','4274SUMYfa','335847RAxwJR','SKILL_ROOT','3291760rGHjHB','.claude','975212GqbIUS','skillCode','72nfjTOu','.agents','homeDirName','.workbuddy','1385349tJqiSB','1YTbVtY','1124825gaYzyB','Unsafe\x20','cacheRoot','validation','claudeSkillsDir'];a143_0xf705=function(){return _0x496332;};return a143_0xf705();}(function(_0x4bbb53,_0x5383b4){const _0x338c68=a143_0x358e,_0xe3969a=_0x4bbb53();while(!![]){try{const _0x5a12f7=-parseInt(_0x338c68(0x81))/0x1*(parseInt(_0x338c68(0x75))/0x2)+-parseInt(_0x338c68(0x76))/0x3+parseInt(_0x338c68(0x7a))/0x4+-parseInt(_0x338c68(0x69))/0x5*(-parseInt(_0x338c68(0x71))/0x6)+parseInt(_0x338c68(0x80))/0x7+parseInt(_0x338c68(0x72))/0x8*(-parseInt(_0x338c68(0x7c))/0x9)+-parseInt(_0x338c68(0x78))/0xa;if(_0x5a12f7===_0x5383b4)break;else _0xe3969a['push'](_0xe3969a['shift']());}catch(_0x36883f){_0xe3969a['push'](_0xe3969a['shift']());}}}(a143_0xf705,0x2092d));import{existsSync}from'node:fs';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';function a143_0x358e(_0x547b35,_0x30842a){_0x547b35=_0x547b35-0x69;const _0xf705d0=a143_0xf705();let _0x358e6b=_0xf705d0[_0x547b35];return _0x358e6b;}import{CliErrors}from'../../errors.js';export function resolveSkillSyncPaths(_0x3b1181={}){const _0x1823a2=a143_0x358e,_0x108460=_0x3b1181['homeDir']??homedir(),_0x519384=resolve(_0x108460,PRODUCT_CONFIG[_0x1823a2(0x7e)],_0x1823a2(0x6e)),_0x4ef338=trimmedEnv(_0x1823a2(0x77)),_0x5ce6e1=trimmedEnv(_0x1823a2(0x74)),_0x2eb290=resolve(_0x108460,_0x1823a2(0x7f)),_0x291a02=_0x3b1181['workbuddySkillsDir']??(existsSync(_0x2eb290)?resolve(_0x2eb290,'skills'):undefined);return{'homeDir':_0x108460,'cacheRoot':_0x519384,'managedRoot':resolve(_0x108460,PRODUCT_CONFIG['homeDirName']),'agentsSkillsDir':_0x3b1181['agentsSkillsDir']??_0x4ef338??resolve(_0x108460,_0x1823a2(0x7d),_0x1823a2(0x6f)),'claudeSkillsDir':_0x3b1181[_0x1823a2(0x6d)]??_0x5ce6e1??resolve(_0x108460,_0x1823a2(0x79),_0x1823a2(0x6f)),'workbuddySkillsDir':_0x291a02};}export function runtimeAgentSkillRoots(_0x2e89f5){const _0x23cf0a=a143_0x358e;return[_0x2e89f5['agentsSkillsDir'],_0x2e89f5[_0x23cf0a(0x6d)],_0x2e89f5[_0x23cf0a(0x70)]]['filter'](_0x4d90b2=>Boolean(_0x4d90b2));}export function getRuntimeSkillCacheRoot(_0x6ed942,_0x1950b5,_0x4eeedc={}){const _0x589adc=a143_0x358e,_0x42897c=resolveSkillSyncPaths(_0x4eeedc);return resolve(_0x42897c[_0x589adc(0x6b)],_0x6ed942,fingerprintAccessKey(_0x1950b5),'skills');}export function getRuntimeSkillDir(_0x587b4d,_0x11dc68,_0x277de9,_0x148332,_0x4ead3d,_0xd7c0ab={}){const _0x3c2ba8=a143_0x358e;return resolve(getRuntimeSkillCacheRoot(_0x587b4d,_0x11dc68,_0xd7c0ab),safePathSegment(_0x277de9,'appCode'),_0x148332,safePathSegment(_0x4ead3d,_0x3c2ba8(0x7b)));}export function safePathSegment(_0x22c355,_0x1086a3='path\x20segment'){const _0x4233e7=a143_0x358e;if(!_0x22c355||_0x22c355['includes']('/')||_0x22c355['includes']('\x5c')||_0x22c355['includes']('..'))throw CliErrors[_0x4233e7(0x6c)](_0x4233e7(0x6a)+_0x1086a3+'\x20for\x20local\x20path:\x20'+_0x22c355);return _0x22c355;}function trimmedEnv(_0x14a35e){const _0x6f838e=a143_0x358e,_0x515c50=productEnv(_0x14a35e)?.[_0x6f838e(0x73)]();return _0x515c50?_0x515c50:undefined;}
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;}