@lovrabet/lovrabet-cli 2.1.11 → 2.1.12

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 (119) 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/app-config/shared.js +1 -1
  12. package/lib/commands/artifact/index.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/shared.js +1 -1
  25. package/lib/commands/data/index.js +1 -1
  26. package/lib/commands/dataset/detail.js +1 -1
  27. package/lib/commands/dataset/index.js +1 -1
  28. package/lib/commands/dataset/list.js +1 -1
  29. package/lib/commands/dataset/sdk-doc.js +1 -1
  30. package/lib/commands/doctor.js +1 -1
  31. package/lib/commands/file/index.js +1 -1
  32. package/lib/commands/init.js +1 -1
  33. package/lib/commands/kb/index.js +1 -1
  34. package/lib/commands/logs/index.js +1 -1
  35. package/lib/commands/ocr/index.js +1 -1
  36. package/lib/commands/personal-bff/index.js +1 -1
  37. package/lib/commands/registry.js +1 -1
  38. package/lib/commands/schema.js +1 -1
  39. package/lib/commands/service/dynamic.js +1 -1
  40. package/lib/commands/service/index.js +1 -1
  41. package/lib/commands/service/registry.js +1 -1
  42. package/lib/commands/skill/commands/create.js +1 -1
  43. package/lib/commands/skill/commands/install.js +1 -1
  44. package/lib/commands/skill/commands/list.js +1 -1
  45. package/lib/commands/skill/commands/push.js +1 -1
  46. package/lib/commands/skill/commands/validate.js +1 -1
  47. package/lib/commands/skill/flags.js +1 -1
  48. package/lib/commands/skill/index.js +1 -1
  49. package/lib/commands/skill/manifest-helpers.js +1 -1
  50. package/lib/commands/skill/push-execute.js +1 -1
  51. package/lib/commands/skill/push-flow-helpers.js +1 -1
  52. package/lib/commands/skill/push-retarget.js +1 -1
  53. package/lib/commands/skill/scopes.js +1 -1
  54. package/lib/commands/skill/summary.js +1 -1
  55. package/lib/commands/skill/templates.js +1 -1
  56. package/lib/commands/skill/validate.js +1 -1
  57. package/lib/commands/sql/detail.js +1 -1
  58. package/lib/commands/sql/exec.js +1 -1
  59. package/lib/commands/sql/index.js +1 -1
  60. package/lib/commands/update.js +1 -1
  61. package/lib/commands/workspace/index.js +1 -1
  62. package/lib/config/schema.js +1 -1
  63. package/lib/constant/app.js +1 -1
  64. package/lib/constant/auth-mode.js +1 -1
  65. package/lib/constant/cli.js +1 -1
  66. package/lib/constant/defaults.js +1 -1
  67. package/lib/constant/distribution.js +1 -1
  68. package/lib/constant/domain.js +1 -1
  69. package/lib/constant/env.js +1 -1
  70. package/lib/constant/output.js +1 -1
  71. package/lib/constant/product.js +1 -1
  72. package/lib/constant/risk.js +1 -1
  73. package/lib/constant/url.js +1 -1
  74. package/lib/context.js +1 -1
  75. package/lib/core/api-client.js +1 -1
  76. package/lib/core/db-resolver.js +1 -1
  77. package/lib/core/sdk-client.js +1 -1
  78. package/lib/errors.js +1 -1
  79. package/lib/framework/build-all-flags.js +1 -1
  80. package/lib/framework/dryrun.js +1 -1
  81. package/lib/framework/flags.js +1 -1
  82. package/lib/framework/help.js +1 -1
  83. package/lib/framework/index.js +1 -1
  84. package/lib/framework/output.js +1 -1
  85. package/lib/framework/preparse.js +1 -1
  86. package/lib/framework/rate-limit.js +1 -1
  87. package/lib/framework/response.js +1 -1
  88. package/lib/framework/runner-confirmation.js +1 -1
  89. package/lib/framework/runner-error.js +1 -1
  90. package/lib/framework/runner.js +1 -1
  91. package/lib/framework/schema-export.js +1 -1
  92. package/lib/framework/service-order.js +1 -1
  93. package/lib/framework/types.js +1 -1
  94. package/lib/generated/build-info.js +1 -1
  95. package/lib/help.js +1 -1
  96. package/lib/skills/npx-skills-add.js +1 -1
  97. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  98. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  99. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  100. package/lib/skills/runtime-skill-sync/links.js +1 -1
  101. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  102. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  103. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  104. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  105. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  106. package/lib/skills/runtime-skill-sync/push.js +1 -1
  107. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  108. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  109. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  110. package/lib/skills/runtime-skill-sync.js +1 -1
  111. package/lib/utils/apply-jq-filter.js +1 -1
  112. package/lib/utils/logger.js +1 -1
  113. package/lib/utils/lossless-json.js +1 -1
  114. package/lib/utils/params.js +1 -1
  115. package/lib/utils/platform.js +1 -1
  116. package/lib/utils/update-notice.js +1 -1
  117. package/lib/utils/version.js +1 -1
  118. package/lib/utils/write-cli-side-channel.js +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- const a40_0x3d35e3=a40_0xfbc7;(function(_0x4f3817,_0x281e16){const _0x47ccbc=a40_0xfbc7,_0x41cfd2=_0x4f3817();while(!![]){try{const _0x5ab58c=parseInt(_0x47ccbc(0x191))/0x1*(-parseInt(_0x47ccbc(0x19e))/0x2)+parseInt(_0x47ccbc(0x170))/0x3*(parseInt(_0x47ccbc(0x175))/0x4)+-parseInt(_0x47ccbc(0x17a))/0x5+parseInt(_0x47ccbc(0x189))/0x6+parseInt(_0x47ccbc(0x193))/0x7+parseInt(_0x47ccbc(0x176))/0x8+parseInt(_0x47ccbc(0x172))/0x9;if(_0x5ab58c===_0x281e16)break;else _0x41cfd2['push'](_0x41cfd2['shift']());}catch(_0x1c18ce){_0x41cfd2['push'](_0x41cfd2['shift']());}}}(a40_0x2f9d,0x4fbbe));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a40_0xfbc7(_0x3f3a7d,_0x352bc4){_0x3f3a7d=_0x3f3a7d-0x16d;const _0x2f9dbc=a40_0x2f9d();let _0xfbc7c6=_0x2f9dbc[_0x3f3a7d];return _0xfbc7c6;}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x3d35e3(0x1be);export function getServiceRegistryPath(_0x9da1c4={}){const _0x4332b6=a40_0x3d35e3;return resolve(_0x9da1c4[_0x4332b6(0x1a5)]??homedir(),PRODUCT_CONFIG[_0x4332b6(0x1a0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x26bc61={}){const _0x2a8499=a40_0x3d35e3,_0x4fcd1a=getServiceRegistryPath(_0x26bc61);if(!existsSync(_0x4fcd1a))return emptyServiceRegistry();try{const _0x5c15bd=readFileSync(_0x4fcd1a,_0x2a8499(0x1a7));if(!_0x5c15bd[_0x2a8499(0x1a1)]())return emptyServiceRegistry();const _0x8805e6=JSON[_0x2a8499(0x17b)](_0x5c15bd);if(_0x8805e6[_0x2a8499(0x1b1)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2a8499(0x178)](_0x2a8499(0x1a2)+String(_0x8805e6[_0x2a8499(0x1b1)]),_0x2a8499(0x1b3)+_0x4fcd1a+'.');if(!Array['isArray'](_0x8805e6[_0x2a8499(0x1b7)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x8805e6[_0x2a8499(0x181)],'services':_0x8805e6[_0x2a8499(0x1b7)]};}catch(_0x5c6e4b){if(_0x5c6e4b instanceof Error&&_0x5c6e4b[_0x2a8499(0x177)]===_0x2a8499(0x187))throw _0x5c6e4b;throw CliErrors[_0x2a8499(0x178)](_0x2a8499(0x18c)+_0x4fcd1a,_0x2a8499(0x1b6));}}export function writeServiceRegistry(_0xb03b86,_0x559bea={}){const _0x2b7136=a40_0x3d35e3,_0x2ef63e=getServiceRegistryPath(_0x559bea),_0x59b6c7=dirname(_0x2ef63e);!existsSync(_0x59b6c7)&&mkdirSync(_0x59b6c7,{'recursive':!![]});const _0x1f4b14=_0x2ef63e+_0x2b7136(0x179);try{writeFileSync(_0x1f4b14,JSON[_0x2b7136(0x1ba)](_0xb03b86,null,0x2)+'\x0a',{'encoding':_0x2b7136(0x1a7),'mode':0x180}),renameSync(_0x1f4b14,_0x2ef63e);}catch(_0x31d374){try{unlinkSync(_0x1f4b14);}catch{}if(_0x31d374?.[_0x2b7136(0x184)]===_0x2b7136(0x1b5))throw CliErrors[_0x2b7136(0x178)](_0x2b7136(0x194)+_0x2ef63e);throw _0x31d374;}return _0x2ef63e;}export function loadServiceManifestFromFile(_0x5a9576){const _0x472857=a40_0x3d35e3,_0x1aefde=resolve(_0x5a9576);if(!existsSync(_0x1aefde))throw CliErrors[_0x472857(0x178)](_0x472857(0x17d)+_0x5a9576);let _0x29cb28;const _0x5d87a8=readFileSync(_0x1aefde,_0x472857(0x1a7));try{_0x29cb28=JSON['parse'](_0x5d87a8);}catch{throw CliErrors['validation']('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x5a9576,_0x472857(0x1b8));}const _0x5597d6=sha256(_0x5d87a8),_0x204077=extractLoadedServiceManifests(_0x29cb28,_0x5597d6),_0x3e914c=aggregateValidationReports(_0x204077),_0x3701a9=_0x204077[0x0];return{'filePath':_0x1aefde,'hash':_0x5597d6,'kind':isServiceRegistryLike(_0x29cb28)?_0x472857(0x173):_0x472857(0x186),'manifest':_0x3701a9?.[_0x472857(0x186)]??_0x29cb28,'report':_0x3e914c,'normalizedManifest':_0x204077[_0x472857(0x1b2)]===0x1?_0x3701a9?.[_0x472857(0x16e)]:undefined,'manifests':_0x204077};}export function importServiceManifest(_0x2e3853,_0x30dc63={}){const _0x4d9ae0=a40_0x3d35e3,_0x4364ed=loadServiceManifestFromFile(_0x2e3853);if(!_0x4364ed[_0x4d9ae0(0x1a3)]['ok'])throw CliErrors[_0x4d9ae0(0x178)](formatValidationFailure(_0x4364ed[_0x4d9ae0(0x1a3)]),'Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.');if(_0x4364ed[_0x4d9ae0(0x199)][_0x4d9ae0(0x1b2)]===0x0)throw CliErrors[_0x4d9ae0(0x178)](_0x4d9ae0(0x196),_0x4d9ae0(0x1b0));const _0x4a3ee9=readServiceRegistry(_0x30dc63),_0x528561=(_0x30dc63[_0x4d9ae0(0x1ab)]??(()=>new Date()))()[_0x4d9ae0(0x19a)](),_0x224d72=[];let _0x2ccd1=0x0,_0x4f370e=0x0;for(const _0x34e88f of _0x4364ed[_0x4d9ae0(0x199)]){if(!_0x34e88f[_0x4d9ae0(0x16e)])continue;const _0xcffee6=_0x34e88f[_0x4d9ae0(0x16e)][_0x4d9ae0(0x1ad)][_0x4d9ae0(0x184)],_0x17a958={'serviceCode':_0xcffee6,'version':_0x34e88f['normalizedManifest'][_0x4d9ae0(0x17e)],'importedAt':_0x528561,'source':{'type':'file','path':_0x4364ed['filePath'],'hash':_0x34e88f[_0x4d9ae0(0x180)]},'manifest':_0x34e88f[_0x4d9ae0(0x186)],'normalizedManifest':_0x34e88f[_0x4d9ae0(0x16e)]},_0x48efd1=_0x4a3ee9['services'][_0x4d9ae0(0x17f)](_0x9a5b44=>_0x9a5b44['serviceCode']===_0xcffee6);_0x48efd1>=0x0?(_0x4a3ee9[_0x4d9ae0(0x1b7)][_0x48efd1]=_0x17a958,_0x4f370e++):(_0x4a3ee9[_0x4d9ae0(0x1b7)][_0x4d9ae0(0x192)](_0x17a958),_0x2ccd1++),_0x224d72[_0x4d9ae0(0x192)](_0x17a958);}_0x4a3ee9[_0x4d9ae0(0x1b7)]['sort']((_0x455862,_0x598ff2)=>_0x455862[_0x4d9ae0(0x19b)]['localeCompare'](_0x598ff2[_0x4d9ae0(0x19b)])),_0x4a3ee9[_0x4d9ae0(0x181)]=_0x528561;const _0x2497b4=writeServiceRegistry(_0x4a3ee9,_0x30dc63);return{'registryPath':_0x2497b4,'entry':_0x224d72[0x0],'replaced':_0x224d72[_0x4d9ae0(0x1b2)]===0x1?_0x4f370e===0x1:_0x4f370e>0x0,'entries':_0x224d72,'imported':_0x2ccd1,'updated':_0x4f370e,'serviceCount':_0x4a3ee9[_0x4d9ae0(0x1b7)][_0x4d9ae0(0x1b2)]};}export function exportServiceManifest(_0x36cd4f,_0x18b447,_0x11def5={}){const _0x58797c=a40_0x3d35e3,_0x49d1b6=getServiceRegistryPath(_0x11def5),_0x4f2f99=getLocalServiceEntry(_0x36cd4f,_0x11def5);if(!_0x4f2f99)throw CliErrors[_0x58797c(0x178)](_0x58797c(0x1c0)+_0x36cd4f,_0x58797c(0x171));const _0xc427ae=resolve(_0x18b447),_0x4829ff=dirname(_0xc427ae);return!existsSync(_0x4829ff)&&mkdirSync(_0x4829ff,{'recursive':!![]}),writeFileSync(_0xc427ae,JSON[_0x58797c(0x1ba)](_0x4f2f99[_0x58797c(0x186)],null,0x2)+'\x0a',{'encoding':_0x58797c(0x1a7),'mode':0x180}),{'registryPath':_0x49d1b6,'filePath':_0xc427ae,'entry':_0x4f2f99};}export function removeServiceManifest(_0x5a9ae5,_0xdbd585={}){const _0x5bbb73=a40_0x3d35e3,_0x1669be=readServiceRegistry(_0xdbd585),_0x6deb50=_0x5a9ae5[_0x5bbb73(0x1a1)](),_0x10f945=_0x1669be['services'][_0x5bbb73(0x17f)](_0x259bf7=>_0x259bf7[_0x5bbb73(0x19b)]===_0x6deb50);if(_0x10f945<0x0)throw CliErrors[_0x5bbb73(0x178)](_0x5bbb73(0x1c0)+_0x6deb50,_0x5bbb73(0x171));const [_0x367316]=_0x1669be[_0x5bbb73(0x1b7)]['splice'](_0x10f945,0x1),_0x1b8cd0=(_0xdbd585['now']??(()=>new Date()))()[_0x5bbb73(0x19a)]();_0x1669be[_0x5bbb73(0x181)]=_0x1b8cd0;const _0x2ae778=writeServiceRegistry(_0x1669be,_0xdbd585);return{'registryPath':_0x2ae778,'entry':_0x367316,'serviceCount':_0x1669be[_0x5bbb73(0x1b7)][_0x5bbb73(0x1b2)]};}export function listLocalServices(_0x1dbc8b={}){return readServiceRegistry(_0x1dbc8b)['services'];}export function getLocalServiceEntry(_0x348e74,_0x33547a={}){const _0x2725fa=a40_0x3d35e3;return readServiceRegistry(_0x33547a)['services'][_0x2725fa(0x190)](_0x3f98bc=>_0x3f98bc[_0x2725fa(0x19b)]===_0x348e74[_0x2725fa(0x1a1)]());}export function listLocalServiceTrees(_0x3e9a55={}){const _0x4a6b1c=a40_0x3d35e3;return readServiceRegistry(_0x3e9a55)[_0x4a6b1c(0x1b7)]['map'](_0x2356be=>_0x2356be['normalizedManifest']);}export function inspectServiceRegistry(_0x3f8ca8={}){const _0x12ff01=a40_0x3d35e3,_0x122c2a=getServiceRegistryPath(_0x3f8ca8);if(!existsSync(_0x122c2a))return emptyServiceRegistryInspection(_0x122c2a,_0x12ff01(0x18b),![]);try{const _0x187952=readFileSync(_0x122c2a,'utf8');if(!_0x187952[_0x12ff01(0x1a1)]())return emptyServiceRegistryInspection(_0x122c2a,_0x12ff01(0x183),!![]);const _0x268936=JSON['parse'](_0x187952);if(_0x268936[_0x12ff01(0x1b1)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x122c2a,_0x12ff01(0x16d),!![]),'schemaVersion':_0x268936[_0x12ff01(0x1b1)],'message':_0x12ff01(0x1bb)+String(_0x268936[_0x12ff01(0x1b1)])};if(!Array[_0x12ff01(0x1a9)](_0x268936[_0x12ff01(0x1b7)]))return{...emptyServiceRegistryInspection(_0x122c2a,_0x12ff01(0x16d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x268936[_0x12ff01(0x181)],'message':_0x12ff01(0x1aa)};const _0x2fefba=_0x268936['services'][_0x12ff01(0x19f)](summarizeLocalServiceEntry);return{'registryPath':_0x122c2a,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x268936[_0x12ff01(0x181)],'serviceCount':_0x2fefba[_0x12ff01(0x1b2)],'commandCount':_0x2fefba[_0x12ff01(0x19c)]((_0x51177c,_0x12a432)=>_0x51177c+_0x12a432[_0x12ff01(0x18e)],0x0),'services':_0x2fefba};}catch(_0x415bf3){return{...emptyServiceRegistryInspection(_0x122c2a,'invalid',!![]),'message':_0x415bf3 instanceof Error?_0x415bf3[_0x12ff01(0x1bd)]:String(_0x415bf3)};}}export function formatValidationFailure(_0x50e94f){const _0x4b665b=a40_0x3d35e3,_0x2c71ad=_0x50e94f[_0x4b665b(0x1bf)][_0x4b665b(0x19f)](_0x1b9e55=>_0x1b9e55[_0x4b665b(0x1a6)]+':\x20'+_0x1b9e55[_0x4b665b(0x1bd)]);return _0x4b665b(0x19d)+_0x2c71ad['join']('\x0a');}function extractLoadedServiceManifests(_0x4044b0,_0xc7f7da){const _0x417e37=a40_0x3d35e3;if(!isServiceRegistryLike(_0x4044b0)){const _0x41361f=_0x4044b0,_0x380af3=validateServiceTreeManifest(_0x41361f);return[{'manifest':_0x41361f,'report':_0x380af3,'normalizedManifest':_0x380af3['ok']?normalizeServiceTreeManifest(_0x41361f):undefined,'sourceHash':_0xc7f7da}];}return _0x4044b0[_0x417e37(0x1b7)][_0x417e37(0x19f)]((_0x379bcf,_0x38e343)=>{const _0x190378=_0x417e37,_0x5a68a0=isObjectRecord(_0x379bcf)?_0x379bcf[_0x190378(0x186)]:undefined,_0x5be46a=validateServiceTreeManifest(_0x5a68a0),_0x12c2ab=isObjectRecord(_0x379bcf)&&typeof _0x379bcf[_0x190378(0x19b)]===_0x190378(0x1a4)?_0x379bcf[_0x190378(0x19b)]:undefined;return{'manifest':_0x5a68a0,'report':_0x5be46a,'normalizedManifest':_0x5be46a['ok']?normalizeServiceTreeManifest(_0x5a68a0):undefined,'sourceHash':sha256(JSON[_0x190378(0x1ba)](_0x5a68a0,null,0x2)+'\x0a'),'registryIndex':_0x38e343,'registryServiceCode':_0x12c2ab};});}function aggregateValidationReports(_0xc03a84){const _0x2479a2=a40_0x3d35e3,_0x56e0b5=_0xc03a84[_0x2479a2(0x1ae)](_0x318503=>_0x318503['registryIndex']===undefined?_0x318503[_0x2479a2(0x1a3)][_0x2479a2(0x1bf)]:_0x318503['report']['errors']['map'](_0x472d94=>({..._0x472d94,'path':prefixRegistryIssuePath(_0x318503[_0x2479a2(0x18d)],_0x472d94[_0x2479a2(0x1a6)])}))),_0x5ef368=_0xc03a84[_0x2479a2(0x1ae)](_0xa75096=>_0xa75096[_0x2479a2(0x18d)]===undefined?_0xa75096['report']['warnings']:_0xa75096[_0x2479a2(0x1a3)]['warnings'][_0x2479a2(0x19f)](_0x42924d=>({..._0x42924d,'path':prefixRegistryIssuePath(_0xa75096['registryIndex'],_0x42924d['path'])})));return{'ok':_0x56e0b5['length']===0x0,'errors':_0x56e0b5,'warnings':_0x5ef368};}function a40_0x2f9d(){const _0x1c83ef=['path','utf8','].manifest','isArray','services\x20must\x20be\x20an\x20array','now','command','service','flatMap','cliPath','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','schemaVersion','length','Remove\x20or\x20migrate\x20','startsWith','ENOENT','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','services','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','commands','stringify','Unsupported\x20schemaVersion:\x20','description','message','service.json','errors','Local\x20service\x20not\x20found:\x20','invalid','normalizedManifest','slice','30aemQNJ','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','3374307edtOpR','registry','source','9892lKgeZZ','1454736tMCziK','name','validation','.tmp','1529525bCnFlz','parse','update','Service\x20manifest\x20file\x20not\x20found:\x20','version','findIndex','sourceHash','updatedAt','kind','empty','code','].manifest.','manifest','CliError','hex','1715442xeQZsm','risk','missing','Invalid\x20service\x20registry\x20JSON:\x20','registryIndex','commandCount','$.services[','find','243999IOkWMl','push','63644elGHZn','Cannot\x20write\x20service\x20registry:\x20','target','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','importedAt','object','manifests','toISOString','serviceCode','reduce','Service\x20manifest\x20validation\x20failed:\x0a','2WNSiRt','map','homeDirName','trim','Unsupported\x20service\x20registry\x20schemaVersion:\x20','report','string','homeDir'];a40_0x2f9d=function(){return _0x1c83ef;};return a40_0x2f9d();}function prefixRegistryIssuePath(_0x46f780,_0x5356c1){const _0x5de6ba=a40_0x3d35e3;if(_0x5356c1==='$')return _0x5de6ba(0x18f)+_0x46f780+_0x5de6ba(0x1a8);if(_0x5356c1[_0x5de6ba(0x1b4)]('$.'))return _0x5de6ba(0x18f)+_0x46f780+_0x5de6ba(0x1a8)+_0x5356c1[_0x5de6ba(0x16f)](0x1);if(_0x5356c1['startsWith']('$['))return _0x5de6ba(0x18f)+_0x46f780+_0x5de6ba(0x1a8)+_0x5356c1[_0x5de6ba(0x16f)](0x1);return _0x5de6ba(0x18f)+_0x46f780+_0x5de6ba(0x185)+_0x5356c1;}function isServiceRegistryLike(_0x413b2d){const _0x489d20=a40_0x3d35e3;return isObjectRecord(_0x413b2d)&&_0x413b2d[_0x489d20(0x1b1)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x489d20(0x1a9)](_0x413b2d['services']);}function isObjectRecord(_0x22931a){const _0x3d9365=a40_0x3d35e3;return Boolean(_0x22931a)&&typeof _0x22931a===_0x3d9365(0x198)&&!Array[_0x3d9365(0x1a9)](_0x22931a);}function emptyServiceRegistryInspection(_0x4fa522,_0xe0928,_0x4c717f){return{'registryPath':_0x4fa522,'exists':_0x4c717f,'status':_0xe0928,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x4a077c){const _0xb7e875=a40_0x3d35e3,_0x5c559a=_0x4a077c[_0xb7e875(0x16e)],_0x51fa42=_0x5c559a[_0xb7e875(0x1b9)][_0xb7e875(0x19f)](_0x2ee7f6=>({'path':_0x2ee7f6[_0xb7e875(0x1af)],'description':_0x2ee7f6[_0xb7e875(0x1bc)],'risk':_0x2ee7f6[_0xb7e875(0x18a)],'targetKind':_0x2ee7f6[_0xb7e875(0x195)][_0xb7e875(0x182)],'targetCommand':_0x2ee7f6[_0xb7e875(0x195)][_0xb7e875(0x1ac)]}));return{'serviceCode':_0x4a077c[_0xb7e875(0x19b)],'name':_0x5c559a['service'][_0xb7e875(0x177)],'description':_0x5c559a['service'][_0xb7e875(0x1bc)],'version':_0x4a077c['version'],'importedAt':_0x4a077c[_0xb7e875(0x197)],'source':_0x4a077c[_0xb7e875(0x174)],'commandCount':_0x51fa42[_0xb7e875(0x1b2)],'commands':_0x51fa42};}function sha256(_0x3584a5){const _0x458c6a=a40_0x3d35e3;return createHash('sha256')[_0x458c6a(0x17c)](_0x3584a5)['digest'](_0x458c6a(0x188));}
1
+ const a40_0x35ac1c=a40_0x47ce;(function(_0x48f12b,_0x535de3){const _0xd6f46a=a40_0x47ce,_0x1d4e60=_0x48f12b();while(!![]){try{const _0x1d1126=-parseInt(_0xd6f46a(0xc1))/0x1+-parseInt(_0xd6f46a(0x9e))/0x2+-parseInt(_0xd6f46a(0x7d))/0x3*(parseInt(_0xd6f46a(0xb3))/0x4)+-parseInt(_0xd6f46a(0x8c))/0x5*(parseInt(_0xd6f46a(0xa6))/0x6)+parseInt(_0xd6f46a(0xa3))/0x7*(parseInt(_0xd6f46a(0x84))/0x8)+parseInt(_0xd6f46a(0x75))/0x9*(parseInt(_0xd6f46a(0xa9))/0xa)+parseInt(_0xd6f46a(0x87))/0xb*(parseInt(_0xd6f46a(0x94))/0xc);if(_0x1d1126===_0x535de3)break;else _0x1d4e60['push'](_0x1d4e60['shift']());}catch(_0x549fe7){_0x1d4e60['push'](_0x1d4e60['shift']());}}}(a40_0x2498,0xae122));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a40_0x35ac1c(0x80);export function getServiceRegistryPath(_0x5aa61f={}){const _0x1d0dcb=a40_0x35ac1c;return resolve(_0x5aa61f[_0x1d0dcb(0x82)]??homedir(),PRODUCT_CONFIG[_0x1d0dcb(0x71)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x39d207={}){const _0x251a10=a40_0x35ac1c,_0xaf3237=getServiceRegistryPath(_0x39d207);if(!existsSync(_0xaf3237))return emptyServiceRegistry();try{const _0x5df828=readFileSync(_0xaf3237,_0x251a10(0xac));if(!_0x5df828[_0x251a10(0xb1)]())return emptyServiceRegistry();const _0x1cc57f=JSON['parse'](_0x5df828);if(_0x1cc57f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x251a10(0x85)+String(_0x1cc57f[_0x251a10(0x7f)]),_0x251a10(0x90)+_0xaf3237+'.');if(!Array[_0x251a10(0xb8)](_0x1cc57f[_0x251a10(0x8a)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1cc57f[_0x251a10(0x7e)],'services':_0x1cc57f[_0x251a10(0x8a)]};}catch(_0x19c7aa){if(_0x19c7aa instanceof Error&&_0x19c7aa['name']===_0x251a10(0x91))throw _0x19c7aa;throw CliErrors[_0x251a10(0x8d)](_0x251a10(0x9c)+_0xaf3237,_0x251a10(0x88));}}function a40_0x2498(){const _0x453d2f=['28mBoKeO','commandCount','Cannot\x20write\x20service\x20registry:\x20','manifest','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','isArray','startsWith','.tmp','update','errors','].manifest','ENOENT','registryIndex','missing','1399009zqNAFX','sort','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','hex','Unsupported\x20schemaVersion:\x20','sha256','now','homeDirName','code','normalizedManifest','parse','1980KpzgIr','command','localeCompare','reduce','map','importedAt','description','].manifest.','9081xOyWeD','updatedAt','schemaVersion','service.json','version','homeDir','digest','1443896cjPdJQ','Unsupported\x20service\x20registry\x20schemaVersion:\x20','service','99gvlwFz','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','commands','services','Local\x20service\x20not\x20found:\x20','1572490cEAmpy','validation','report','serviceCode','Remove\x20or\x20migrate\x20','CliError','length','empty','2196804lgnmBh','file','cliPath','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','source','Service\x20manifest\x20file\x20not\x20found:\x20','slice','Invalid\x20service\x20registry\x20JSON:\x20','$.services[','163162PUicRl','flatMap','findIndex','toISOString','invalid','28OqzXZS','filePath','find','6gPXOYT','services\x20must\x20be\x20an\x20array','warnings','7260OiJkTA','sourceHash','message','utf8','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','manifests','target','stringify','trim','push'];a40_0x2498=function(){return _0x453d2f;};return a40_0x2498();}export function writeServiceRegistry(_0x5a4e29,_0x2f8a02={}){const _0x56f812=a40_0x35ac1c,_0x376750=getServiceRegistryPath(_0x2f8a02),_0xea096b=dirname(_0x376750);!existsSync(_0xea096b)&&mkdirSync(_0xea096b,{'recursive':!![]});const _0x1ccf54=_0x376750+_0x56f812(0xba);try{writeFileSync(_0x1ccf54,JSON[_0x56f812(0xb0)](_0x5a4e29,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),renameSync(_0x1ccf54,_0x376750);}catch(_0x37a9fc){try{unlinkSync(_0x1ccf54);}catch{}if(_0x37a9fc?.[_0x56f812(0x72)]===_0x56f812(0xbe))throw CliErrors[_0x56f812(0x8d)](_0x56f812(0xb5)+_0x376750);throw _0x37a9fc;}return _0x376750;}export function loadServiceManifestFromFile(_0x2d1184){const _0x31d3bf=a40_0x35ac1c,_0x279ac7=resolve(_0x2d1184);if(!existsSync(_0x279ac7))throw CliErrors[_0x31d3bf(0x8d)](_0x31d3bf(0x9a)+_0x2d1184);let _0x3076b5;const _0x4b9289=readFileSync(_0x279ac7,'utf8');try{_0x3076b5=JSON[_0x31d3bf(0x74)](_0x4b9289);}catch{throw CliErrors[_0x31d3bf(0x8d)]('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x2d1184,_0x31d3bf(0x98));}const _0x3ecd90=sha256(_0x4b9289),_0x375d6a=extractLoadedServiceManifests(_0x3076b5,_0x3ecd90),_0x41013b=aggregateValidationReports(_0x375d6a),_0x4d8366=_0x375d6a[0x0];return{'filePath':_0x279ac7,'hash':_0x3ecd90,'kind':isServiceRegistryLike(_0x3076b5)?'registry':_0x31d3bf(0xb6),'manifest':_0x4d8366?.[_0x31d3bf(0xb6)]??_0x3076b5,'report':_0x41013b,'normalizedManifest':_0x375d6a[_0x31d3bf(0x92)]===0x1?_0x4d8366?.['normalizedManifest']:undefined,'manifests':_0x375d6a};}export function importServiceManifest(_0x199334,_0x1e3c87={}){const _0x23a3dd=a40_0x35ac1c,_0x49b273=loadServiceManifestFromFile(_0x199334);if(!_0x49b273[_0x23a3dd(0x8e)]['ok'])throw CliErrors[_0x23a3dd(0x8d)](formatValidationFailure(_0x49b273['report']),_0x23a3dd(0x97));if(_0x49b273[_0x23a3dd(0xae)]['length']===0x0)throw CliErrors[_0x23a3dd(0x8d)](_0x23a3dd(0xc3),_0x23a3dd(0xb7));const _0x26a496=readServiceRegistry(_0x1e3c87),_0x7df858=(_0x1e3c87[_0x23a3dd(0x70)]??(()=>new Date()))()[_0x23a3dd(0xa1)](),_0x39ead2=[];let _0x41565e=0x0,_0x1da9ac=0x0;for(const _0x4f83b7 of _0x49b273['manifests']){if(!_0x4f83b7[_0x23a3dd(0x73)])continue;const _0x3fffd0=_0x4f83b7[_0x23a3dd(0x73)]['service'][_0x23a3dd(0x72)],_0x13449d={'serviceCode':_0x3fffd0,'version':_0x4f83b7[_0x23a3dd(0x73)][_0x23a3dd(0x81)],'importedAt':_0x7df858,'source':{'type':_0x23a3dd(0x95),'path':_0x49b273[_0x23a3dd(0xa4)],'hash':_0x4f83b7[_0x23a3dd(0xaa)]},'manifest':_0x4f83b7[_0x23a3dd(0xb6)],'normalizedManifest':_0x4f83b7[_0x23a3dd(0x73)]},_0x1ee0e1=_0x26a496[_0x23a3dd(0x8a)]['findIndex'](_0x3c88e1=>_0x3c88e1[_0x23a3dd(0x8f)]===_0x3fffd0);_0x1ee0e1>=0x0?(_0x26a496['services'][_0x1ee0e1]=_0x13449d,_0x1da9ac++):(_0x26a496[_0x23a3dd(0x8a)]['push'](_0x13449d),_0x41565e++),_0x39ead2[_0x23a3dd(0xb2)](_0x13449d);}_0x26a496[_0x23a3dd(0x8a)][_0x23a3dd(0xc2)]((_0x597b05,_0x151963)=>_0x597b05[_0x23a3dd(0x8f)][_0x23a3dd(0x77)](_0x151963[_0x23a3dd(0x8f)])),_0x26a496[_0x23a3dd(0x7e)]=_0x7df858;const _0x2d5ce9=writeServiceRegistry(_0x26a496,_0x1e3c87);return{'registryPath':_0x2d5ce9,'entry':_0x39ead2[0x0],'replaced':_0x39ead2[_0x23a3dd(0x92)]===0x1?_0x1da9ac===0x1:_0x1da9ac>0x0,'entries':_0x39ead2,'imported':_0x41565e,'updated':_0x1da9ac,'serviceCount':_0x26a496[_0x23a3dd(0x8a)][_0x23a3dd(0x92)]};}export function exportServiceManifest(_0x2060b6,_0xa6de70,_0x22599f={}){const _0x588011=a40_0x35ac1c,_0x16a21f=getServiceRegistryPath(_0x22599f),_0x108468=getLocalServiceEntry(_0x2060b6,_0x22599f);if(!_0x108468)throw CliErrors[_0x588011(0x8d)](_0x588011(0x8b)+_0x2060b6,_0x588011(0xad));const _0x487ca6=resolve(_0xa6de70),_0x17d20c=dirname(_0x487ca6);return!existsSync(_0x17d20c)&&mkdirSync(_0x17d20c,{'recursive':!![]}),writeFileSync(_0x487ca6,JSON[_0x588011(0xb0)](_0x108468[_0x588011(0xb6)],null,0x2)+'\x0a',{'encoding':_0x588011(0xac),'mode':0x180}),{'registryPath':_0x16a21f,'filePath':_0x487ca6,'entry':_0x108468};}export function removeServiceManifest(_0x227474,_0x15ae5a={}){const _0x2ecd50=a40_0x35ac1c,_0x56036e=readServiceRegistry(_0x15ae5a),_0x366ec8=_0x227474[_0x2ecd50(0xb1)](),_0x53fdbb=_0x56036e[_0x2ecd50(0x8a)][_0x2ecd50(0xa0)](_0x5777f4=>_0x5777f4[_0x2ecd50(0x8f)]===_0x366ec8);if(_0x53fdbb<0x0)throw CliErrors[_0x2ecd50(0x8d)]('Local\x20service\x20not\x20found:\x20'+_0x366ec8,_0x2ecd50(0xad));const [_0x5ac25c]=_0x56036e[_0x2ecd50(0x8a)]['splice'](_0x53fdbb,0x1),_0x29b1df=(_0x15ae5a[_0x2ecd50(0x70)]??(()=>new Date()))()['toISOString']();_0x56036e['updatedAt']=_0x29b1df;const _0x2570e7=writeServiceRegistry(_0x56036e,_0x15ae5a);return{'registryPath':_0x2570e7,'entry':_0x5ac25c,'serviceCount':_0x56036e[_0x2ecd50(0x8a)][_0x2ecd50(0x92)]};}export function listLocalServices(_0x50c108={}){return readServiceRegistry(_0x50c108)['services'];}export function getLocalServiceEntry(_0x319767,_0xc9c599={}){const _0x118209=a40_0x35ac1c;return readServiceRegistry(_0xc9c599)['services'][_0x118209(0xa5)](_0x2cb0d1=>_0x2cb0d1[_0x118209(0x8f)]===_0x319767[_0x118209(0xb1)]());}export function listLocalServiceTrees(_0x2dfd2c={}){const _0x3caa16=a40_0x35ac1c;return readServiceRegistry(_0x2dfd2c)[_0x3caa16(0x8a)]['map'](_0x47e517=>_0x47e517[_0x3caa16(0x73)]);}export function inspectServiceRegistry(_0x4e861a={}){const _0x366cf1=a40_0x35ac1c,_0x42e521=getServiceRegistryPath(_0x4e861a);if(!existsSync(_0x42e521))return emptyServiceRegistryInspection(_0x42e521,_0x366cf1(0xc0),![]);try{const _0x42bf84=readFileSync(_0x42e521,_0x366cf1(0xac));if(!_0x42bf84[_0x366cf1(0xb1)]())return emptyServiceRegistryInspection(_0x42e521,_0x366cf1(0x93),!![]);const _0x36220d=JSON[_0x366cf1(0x74)](_0x42bf84);if(_0x36220d[_0x366cf1(0x7f)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x42e521,_0x366cf1(0xa2),!![]),'schemaVersion':_0x36220d[_0x366cf1(0x7f)],'message':_0x366cf1(0x6e)+String(_0x36220d[_0x366cf1(0x7f)])};if(!Array[_0x366cf1(0xb8)](_0x36220d[_0x366cf1(0x8a)]))return{...emptyServiceRegistryInspection(_0x42e521,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x36220d[_0x366cf1(0x7e)],'message':_0x366cf1(0xa7)};const _0x5c24b0=_0x36220d[_0x366cf1(0x8a)][_0x366cf1(0x79)](summarizeLocalServiceEntry);return{'registryPath':_0x42e521,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x36220d[_0x366cf1(0x7e)],'serviceCount':_0x5c24b0[_0x366cf1(0x92)],'commandCount':_0x5c24b0[_0x366cf1(0x78)]((_0x2503e4,_0x46748a)=>_0x2503e4+_0x46748a[_0x366cf1(0xb4)],0x0),'services':_0x5c24b0};}catch(_0x466acb){return{...emptyServiceRegistryInspection(_0x42e521,'invalid',!![]),'message':_0x466acb instanceof Error?_0x466acb[_0x366cf1(0xab)]:String(_0x466acb)};}}export function formatValidationFailure(_0x3f82a8){const _0x149606=a40_0x35ac1c,_0x52d688=_0x3f82a8[_0x149606(0xbc)]['map'](_0x3220b3=>_0x3220b3['path']+':\x20'+_0x3220b3['message']);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x52d688['join']('\x0a');}function extractLoadedServiceManifests(_0x4179a5,_0x62b427){const _0x378513=a40_0x35ac1c;if(!isServiceRegistryLike(_0x4179a5)){const _0x2cd381=_0x4179a5,_0x56e946=validateServiceTreeManifest(_0x2cd381);return[{'manifest':_0x2cd381,'report':_0x56e946,'normalizedManifest':_0x56e946['ok']?normalizeServiceTreeManifest(_0x2cd381):undefined,'sourceHash':_0x62b427}];}return _0x4179a5[_0x378513(0x8a)]['map']((_0x86cfe3,_0x5019d9)=>{const _0x6d3b77=_0x378513,_0x548fca=isObjectRecord(_0x86cfe3)?_0x86cfe3[_0x6d3b77(0xb6)]:undefined,_0x46918d=validateServiceTreeManifest(_0x548fca),_0x39df26=isObjectRecord(_0x86cfe3)&&typeof _0x86cfe3[_0x6d3b77(0x8f)]==='string'?_0x86cfe3[_0x6d3b77(0x8f)]:undefined;return{'manifest':_0x548fca,'report':_0x46918d,'normalizedManifest':_0x46918d['ok']?normalizeServiceTreeManifest(_0x548fca):undefined,'sourceHash':sha256(JSON[_0x6d3b77(0xb0)](_0x548fca,null,0x2)+'\x0a'),'registryIndex':_0x5019d9,'registryServiceCode':_0x39df26};});}function aggregateValidationReports(_0x5374ad){const _0x2e9e55=a40_0x35ac1c,_0x233650=_0x5374ad[_0x2e9e55(0x9f)](_0x5c8d81=>_0x5c8d81[_0x2e9e55(0xbf)]===undefined?_0x5c8d81['report'][_0x2e9e55(0xbc)]:_0x5c8d81[_0x2e9e55(0x8e)][_0x2e9e55(0xbc)]['map'](_0xe9893b=>({..._0xe9893b,'path':prefixRegistryIssuePath(_0x5c8d81['registryIndex'],_0xe9893b['path'])}))),_0x4272c2=_0x5374ad[_0x2e9e55(0x9f)](_0x4e2c9c=>_0x4e2c9c[_0x2e9e55(0xbf)]===undefined?_0x4e2c9c[_0x2e9e55(0x8e)][_0x2e9e55(0xa8)]:_0x4e2c9c[_0x2e9e55(0x8e)][_0x2e9e55(0xa8)][_0x2e9e55(0x79)](_0x231661=>({..._0x231661,'path':prefixRegistryIssuePath(_0x4e2c9c[_0x2e9e55(0xbf)],_0x231661['path'])})));return{'ok':_0x233650[_0x2e9e55(0x92)]===0x0,'errors':_0x233650,'warnings':_0x4272c2};}function prefixRegistryIssuePath(_0x3c4d07,_0x5dbf95){const _0x46e23f=a40_0x35ac1c;if(_0x5dbf95==='$')return _0x46e23f(0x9d)+_0x3c4d07+_0x46e23f(0xbd);if(_0x5dbf95['startsWith']('$.'))return _0x46e23f(0x9d)+_0x3c4d07+_0x46e23f(0xbd)+_0x5dbf95['slice'](0x1);if(_0x5dbf95[_0x46e23f(0xb9)]('$['))return _0x46e23f(0x9d)+_0x3c4d07+_0x46e23f(0xbd)+_0x5dbf95[_0x46e23f(0x9b)](0x1);return'$.services['+_0x3c4d07+_0x46e23f(0x7c)+_0x5dbf95;}function isServiceRegistryLike(_0x5e9253){const _0x66c654=a40_0x35ac1c;return isObjectRecord(_0x5e9253)&&_0x5e9253[_0x66c654(0x7f)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x66c654(0xb8)](_0x5e9253[_0x66c654(0x8a)]);}function isObjectRecord(_0x3114f3){return Boolean(_0x3114f3)&&typeof _0x3114f3==='object'&&!Array['isArray'](_0x3114f3);}function emptyServiceRegistryInspection(_0xa9b0f4,_0xc7bd2c,_0xe0a909){return{'registryPath':_0xa9b0f4,'exists':_0xe0a909,'status':_0xc7bd2c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function a40_0x47ce(_0x3a0385,_0x434dfa){_0x3a0385=_0x3a0385-0x6d;const _0x2498b6=a40_0x2498();let _0x47cead=_0x2498b6[_0x3a0385];return _0x47cead;}function summarizeLocalServiceEntry(_0x2a7b72){const _0x14b842=a40_0x35ac1c,_0x2c6b8d=_0x2a7b72[_0x14b842(0x73)],_0x1b6cb3=_0x2c6b8d[_0x14b842(0x89)][_0x14b842(0x79)](_0x80f6ba=>({'path':_0x80f6ba[_0x14b842(0x96)],'description':_0x80f6ba[_0x14b842(0x7b)],'risk':_0x80f6ba['risk'],'targetKind':_0x80f6ba[_0x14b842(0xaf)]['kind'],'targetCommand':_0x80f6ba[_0x14b842(0xaf)][_0x14b842(0x76)]}));return{'serviceCode':_0x2a7b72['serviceCode'],'name':_0x2c6b8d[_0x14b842(0x86)]['name'],'description':_0x2c6b8d[_0x14b842(0x86)]['description'],'version':_0x2a7b72[_0x14b842(0x81)],'importedAt':_0x2a7b72[_0x14b842(0x7a)],'source':_0x2a7b72[_0x14b842(0x99)],'commandCount':_0x1b6cb3[_0x14b842(0x92)],'commands':_0x1b6cb3};}function sha256(_0x57aae1){const _0x3b63dd=a40_0x35ac1c;return createHash(_0x3b63dd(0x6f))[_0x3b63dd(0xbb)](_0x57aae1)[_0x3b63dd(0x83)](_0x3b63dd(0x6d));}
@@ -1 +1 @@
1
- const a41_0x3d6bf2=a41_0x24e6;(function(_0x53f253,_0x4d05ee){const _0x3a2595=a41_0x24e6,_0x704ea3=_0x53f253();while(!![]){try{const _0x813c8=parseInt(_0x3a2595(0x19c))/0x1+-parseInt(_0x3a2595(0x181))/0x2+-parseInt(_0x3a2595(0x187))/0x3+-parseInt(_0x3a2595(0x19e))/0x4+-parseInt(_0x3a2595(0x196))/0x5*(-parseInt(_0x3a2595(0x19d))/0x6)+-parseInt(_0x3a2595(0x186))/0x7*(parseInt(_0x3a2595(0x190))/0x8)+parseInt(_0x3a2595(0x194))/0x9;if(_0x813c8===_0x4d05ee)break;else _0x704ea3['push'](_0x704ea3['shift']());}catch(_0x546212){_0x704ea3['push'](_0x704ea3['shift']());}}}(a41_0x1804,0xe161d));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a41_0x1804(){const _0x2ff304=['files','bool','1596412xhIvkK','6MmZlau','7050068KnjlSo','362296SAkwCu','rendered','name','force','skillName','11804233hiapRz','2013708QuVZpN','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','write','path','isSymbolicLink','validation','trim','utf8','target','8GoddEQ','map','create','str','31258980SAuvNY','Refusing\x20to\x20overwrite\x20symlink:\x20','773765VLhinc','skillDir','WRITE','type'];a41_0x1804=function(){return _0x2ff304;};return a41_0x1804();}import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':a41_0x3d6bf2(0x192),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a41_0x3d6bf2(0x189),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x53c9c3){const _0x1dc99c=a41_0x3d6bf2,_0x1c2c96=buildSkillCreatePlan(_0x53c9c3[_0x1dc99c(0x193)](_0x1dc99c(0x183)),_0x53c9c3[_0x1dc99c(0x193)](_0x1dc99c(0x199)),_0x53c9c3[_0x1dc99c(0x193)](_0x1dc99c(0x18f)));return{'method':_0x1dc99c(0x198),'url':_0x1c2c96[_0x1dc99c(0x197)],'body':{'skillName':_0x1c2c96[_0x1dc99c(0x182)][_0x1dc99c(0x185)],'type':_0x1c2c96[_0x1dc99c(0x182)][_0x1dc99c(0x199)],'selfContained':!![],'files':_0x1c2c96[_0x1dc99c(0x182)][_0x1dc99c(0x19a)][_0x1dc99c(0x191)](_0x10843d=>_0x10843d[_0x1dc99c(0x18a)])},'description':'Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.'};},async 'execute'(_0x337734){const _0x8272de=a41_0x3d6bf2,_0x3926d5=buildSkillCreatePlan(_0x337734[_0x8272de(0x193)]('name'),_0x337734[_0x8272de(0x193)](_0x8272de(0x199)),_0x337734[_0x8272de(0x193)]('target'));return writeSkillDraft(_0x3926d5,_0x337734[_0x8272de(0x19b)](_0x8272de(0x184))),{'ok':!![],'data':{'skillName':_0x3926d5[_0x8272de(0x182)][_0x8272de(0x185)],'type':_0x3926d5[_0x8272de(0x182)]['type'],'dir':_0x3926d5[_0x8272de(0x197)],'files':_0x3926d5[_0x8272de(0x182)][_0x8272de(0x19a)]['map'](_0x50930e=>_0x50930e[_0x8272de(0x18a)])},'message':'Created\x20local\x20Skill\x20draft\x20'+_0x3926d5['rendered'][_0x8272de(0x185)]};}};function buildSkillCreatePlan(_0x531ffb,_0x2571c2,_0x58f408){const _0x5cf339=renderSkillTemplate({'skillName':_0x531ffb,'type':_0x2571c2}),_0x358a69=resolve(normalizeSkillTarget(_0x58f408));return{'rendered':_0x5cf339,'targetRoot':_0x358a69,'skillDir':resolve(_0x358a69,_0x5cf339['skillName'])};}function normalizeSkillTarget(_0x162d64){const _0x156cd6=a41_0x3d6bf2;return(_0x162d64||DEFAULT_SKILL_TARGET)[_0x156cd6(0x18d)]()||DEFAULT_SKILL_TARGET;}function a41_0x24e6(_0x292a6a,_0xc6983e){_0x292a6a=_0x292a6a-0x181;const _0x1804b5=a41_0x1804();let _0x24e6eb=_0x1804b5[_0x292a6a];return _0x24e6eb;}function writeSkillDraft(_0x3ed8ac,_0x5cd3ce){const _0x51fce2=a41_0x3d6bf2;if(existsSync(_0x3ed8ac[_0x51fce2(0x197)])){const _0x560b15=lstatSync(_0x3ed8ac['skillDir']);if(!_0x560b15['isDirectory']()||_0x560b15[_0x51fce2(0x18b)]())throw CliErrors['validation']('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x3ed8ac[_0x51fce2(0x197)]);if(!_0x5cd3ce)throw CliErrors['validation']('Skill\x20directory\x20already\x20exists:\x20'+_0x3ed8ac[_0x51fce2(0x197)],_0x51fce2(0x188));}for(const _0x11d5ef of _0x3ed8ac[_0x51fce2(0x182)]['files']){const _0x22fb98=resolve(_0x3ed8ac[_0x51fce2(0x197)],_0x11d5ef['path']),_0x41f212=dirname(_0x22fb98);mkdirSync(_0x41f212,{'recursive':!![]});if(existsSync(_0x22fb98)&&lstatSync(_0x22fb98)[_0x51fce2(0x18b)]())throw CliErrors[_0x51fce2(0x18c)](_0x51fce2(0x195)+_0x22fb98);writeFileSync(_0x22fb98,_0x11d5ef['content'],_0x51fce2(0x18e));}}
1
+ const a41_0x53be90=a41_0x1bfa;(function(_0x2f09d4,_0x3ebb9b){const _0x456343=a41_0x1bfa,_0xfc340f=_0x2f09d4();while(!![]){try{const _0x4d744b=parseInt(_0x456343(0xfa))/0x1+parseInt(_0x456343(0xfd))/0x2*(parseInt(_0x456343(0xef))/0x3)+parseInt(_0x456343(0xe8))/0x4*(-parseInt(_0x456343(0xf0))/0x5)+parseInt(_0x456343(0x103))/0x6*(-parseInt(_0x456343(0xec))/0x7)+-parseInt(_0x456343(0x100))/0x8+-parseInt(_0x456343(0xf5))/0x9*(-parseInt(_0x456343(0xf9))/0xa)+-parseInt(_0x456343(0xfb))/0xb*(-parseInt(_0x456343(0x108))/0xc);if(_0x4d744b===_0x3ebb9b)break;else _0xfc340f['push'](_0xfc340f['shift']());}catch(_0x2c7748){_0xfc340f['push'](_0xfc340f['shift']());}}}(a41_0x19dd,0xecce0));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';function a41_0x1bfa(_0x123919,_0x31be33){_0x123919=_0x123919-0xe6;const _0x19dd58=a41_0x19dd();let _0x1bfa2b=_0x19dd58[_0x123919];return _0x1bfa2b;}import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':'skill','command':a41_0x53be90(0xeb),'description':a41_0x53be90(0xea),'risk':a41_0x53be90(0xf6),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x32e840){const _0x1b1d03=a41_0x53be90,_0x21e42b=buildSkillCreatePlan(_0x32e840[_0x1b1d03(0xff)](_0x1b1d03(0xe6)),_0x32e840[_0x1b1d03(0xff)](_0x1b1d03(0x101)),_0x32e840[_0x1b1d03(0xff)](_0x1b1d03(0xfe)));return{'method':_0x1b1d03(0xe9),'url':_0x21e42b[_0x1b1d03(0xe7)],'body':{'skillName':_0x21e42b[_0x1b1d03(0xf1)]['skillName'],'type':_0x21e42b[_0x1b1d03(0xf1)][_0x1b1d03(0x101)],'selfContained':!![],'files':_0x21e42b[_0x1b1d03(0xf1)]['files'][_0x1b1d03(0xf4)](_0x4353ba=>_0x4353ba[_0x1b1d03(0x109)])},'description':_0x1b1d03(0x105)};},async 'execute'(_0x2efc09){const _0x588e29=a41_0x53be90,_0x570ca7=buildSkillCreatePlan(_0x2efc09['str'](_0x588e29(0xe6)),_0x2efc09['str']('type'),_0x2efc09[_0x588e29(0xff)](_0x588e29(0xfe)));return writeSkillDraft(_0x570ca7,_0x2efc09[_0x588e29(0xed)](_0x588e29(0x106))),{'ok':!![],'data':{'skillName':_0x570ca7['rendered'][_0x588e29(0xee)],'type':_0x570ca7[_0x588e29(0xf1)]['type'],'dir':_0x570ca7[_0x588e29(0xe7)],'files':_0x570ca7['rendered']['files'][_0x588e29(0xf4)](_0x3bfdbc=>_0x3bfdbc[_0x588e29(0x109)])},'message':_0x588e29(0xfc)+_0x570ca7['rendered'][_0x588e29(0xee)]};}};function buildSkillCreatePlan(_0x4b656d,_0x959a46,_0x58cb3e){const _0x121afa=a41_0x53be90,_0x30acee=renderSkillTemplate({'skillName':_0x4b656d,'type':_0x959a46}),_0x4d0d1d=resolve(normalizeSkillTarget(_0x58cb3e));return{'rendered':_0x30acee,'targetRoot':_0x4d0d1d,'skillDir':resolve(_0x4d0d1d,_0x30acee[_0x121afa(0xee)])};}function a41_0x19dd(){const _0x2d5e04=['Refusing\x20to\x20overwrite\x20symlink:\x20','map','18324IpcPNr','write','Skill\x20directory\x20already\x20exists:\x20','content','130gszfVY','998376OHybOj','11ffuiMf','Created\x20local\x20Skill\x20draft\x20','110TjGFxl','target','str','9202680ETYxTN','type','validation','84Aghcvg','isSymbolicLink','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','force','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','13878972XovZLI','path','name','skillDir','57992biDzBo','WRITE','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','create','48587YpnoDo','bool','skillName','83418bsipqV','515KbuShQ','rendered','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'];a41_0x19dd=function(){return _0x2d5e04;};return a41_0x19dd();}function normalizeSkillTarget(_0x26cc56){return(_0x26cc56||DEFAULT_SKILL_TARGET)['trim']()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x36eff9,_0x7383e3){const _0x108937=a41_0x53be90;if(existsSync(_0x36eff9['skillDir'])){const _0x29a361=lstatSync(_0x36eff9[_0x108937(0xe7)]);if(!_0x29a361['isDirectory']()||_0x29a361[_0x108937(0x104)]())throw CliErrors[_0x108937(0x102)](_0x108937(0xf2)+_0x36eff9[_0x108937(0xe7)]);if(!_0x7383e3)throw CliErrors[_0x108937(0x102)](_0x108937(0xf7)+_0x36eff9['skillDir'],_0x108937(0x107));}for(const _0x29657c of _0x36eff9[_0x108937(0xf1)]['files']){const _0x59c68d=resolve(_0x36eff9[_0x108937(0xe7)],_0x29657c[_0x108937(0x109)]),_0x593441=dirname(_0x59c68d);mkdirSync(_0x593441,{'recursive':!![]});if(existsSync(_0x59c68d)&&lstatSync(_0x59c68d)['isSymbolicLink']())throw CliErrors[_0x108937(0x102)](_0x108937(0xf3)+_0x59c68d);writeFileSync(_0x59c68d,_0x29657c[_0x108937(0xf8)],'utf8');}}
@@ -1 +1 @@
1
- const a42_0x354b97=a42_0x449a;(function(_0x53847f,_0x5620e9){const _0x21a1dc=a42_0x449a,_0x34365d=_0x53847f();while(!![]){try{const _0x3244e1=-parseInt(_0x21a1dc(0x139))/0x1+-parseInt(_0x21a1dc(0x120))/0x2+parseInt(_0x21a1dc(0x123))/0x3+-parseInt(_0x21a1dc(0x11f))/0x4+-parseInt(_0x21a1dc(0x11a))/0x5+parseInt(_0x21a1dc(0x13b))/0x6+parseInt(_0x21a1dc(0x119))/0x7;if(_0x3244e1===_0x5620e9)break;else _0x34365d['push'](_0x34365d['shift']());}catch(_0x8795ad){_0x34365d['push'](_0x34365d['shift']());}}}(a42_0xf3f9,0x4cd77));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a42_0x354b97(0x127),'command':a42_0x354b97(0x137),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a42_0x354b97(0x12a),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG],async 'execute'(_0x462fca){return syncRuntimeSkills(_0x462fca);}};function a42_0x449a(_0x1fcb76,_0x3a3b0f){_0x1fcb76=_0x1fcb76-0x114;const _0xf3f985=a42_0xf3f9();let _0x449ac6=_0xf3f985[_0x1fcb76];return _0x449ac6;}async function syncRuntimeSkills(_0x4d2e45){const _0x4518dc=a42_0x354b97,{downloadRuntimeSkillPackage:_0x4e3e45,listRuntimeSkills:_0x3f45ce}=await import(_0x4518dc(0x12c)),{linkEffectiveRuntimeSkills:_0x4d916f,materializeRuntimeSkill:_0x2c3f4f,pruneStaleRuntimeSkillCache:_0x36aaa0,pruneStaleRuntimeSkillLinks:_0x570492}=await import(_0x4518dc(0x12f)),_0x4e3317=_0x4d2e45['str'](_0x4518dc(0x128)),_0x17d9f4=normalizeSyncScopes(_0x4d2e45[_0x4518dc(0x115)](_0x4518dc(0x132))),_0x271ae2=_0x4d2e45[_0x4518dc(0x11b)]??'production',_0x477b4b=_0x4d2e45[_0x4518dc(0x133)],_0x480f29=_0x4d2e45[_0x4518dc(0x124)]('force');if(!_0x477b4b)throw CliErrors[_0x4518dc(0x138)](_0x4518dc(0x114));const _0x2a0828=await Promise[_0x4518dc(0x11d)](_0x17d9f4[_0x4518dc(0x135)](_0x50acce=>_0x3f45ce({'appCode':_0x4d2e45[_0x4518dc(0x130)],'scope':_0x50acce,'code':_0x4e3317[_0x4518dc(0x116)]()||undefined}))),_0x1426c9=_0x17d9f4[_0x4518dc(0x131)]('personal')?_0x2a0828[_0x4518dc(0x117)]((_0x43c101,_0x2c0766)=>_0x17d9f4[_0x2c0766]==='personal'?_0x43c101['personal']:[]):[],_0x189354=_0x17d9f4[_0x4518dc(0x131)](_0x4518dc(0x136))?_0x2a0828['flatMap']((_0x396095,_0x4d9395)=>_0x17d9f4[_0x4d9395]===_0x4518dc(0x136)?_0x396095['company']:[]):[],_0x49810c=new Set([..._0x1426c9['map'](_0x1bd5f2=>_0x1bd5f2[_0x4518dc(0x12d)]?.[_0x4518dc(0x116)]())[_0x4518dc(0x13d)](_0x22a912=>Boolean(_0x22a912)),..._0x189354[_0x4518dc(0x135)](_0xd2593e=>_0xd2593e[_0x4518dc(0x12d)]?.['trim']())[_0x4518dc(0x13d)](_0x5975b3=>Boolean(_0x5975b3))]),_0x11d910=_0x4e3317['trim']()?[_0x4e3317['trim']()]:undefined,_0x1d03eb=_0x17d9f4['length']===0x2&&_0x17d9f4[_0x4518dc(0x131)](_0x4518dc(0x13a))&&_0x17d9f4[_0x4518dc(0x131)]('company'),_0x1a0999=_0x1d03eb?_0x570492(_0x4d2e45['appCode'],_0x49810c,{},_0x11d910):[],_0x2412c3=_0x36aaa0({'env':_0x271ae2,'accessKey':_0x477b4b,'appCode':_0x4d2e45[_0x4518dc(0x130)],'activeSkillCodes':_0x49810c,'pruneSkillCodes':_0x11d910,'scopes':_0x17d9f4}),_0x382113=[];for(const _0x1c4ce0 of _0x1426c9){_0x382113[_0x4518dc(0x12e)](_0x2c3f4f(_0x1c4ce0,'personal',{'env':_0x271ae2,'accessKey':_0x477b4b,'appCode':_0x4d2e45[_0x4518dc(0x130)],'force':_0x480f29,'packageBytes':await downloadSkillPackage(_0x1c4ce0,_0x4518dc(0x13a),_0x4d2e45['appCode'],_0x4e3e45)}));}for(const _0x2b2bf6 of _0x189354){_0x382113['push'](_0x2c3f4f(_0x2b2bf6,_0x4518dc(0x136),{'env':_0x271ae2,'accessKey':_0x477b4b,'appCode':_0x4d2e45[_0x4518dc(0x130)],'force':_0x480f29,'packageBytes':await downloadSkillPackage(_0x2b2bf6,'company',_0x4d2e45[_0x4518dc(0x130)],_0x4e3e45)}));}const _0x4cfb3a=_0x4d916f(_0x382113,_0x4d2e45['appCode']),_0x375287=countLinkActions(_0x4cfb3a);return{'ok':!![],'data':{'appCode':_0x4d2e45['appCode'],'personal':_0x1426c9[_0x4518dc(0x126)],'company':_0x189354[_0x4518dc(0x126)],'materialized':_0x382113[_0x4518dc(0x126)],'links':{'total':_0x4cfb3a['length'],'created':_0x375287[_0x4518dc(0x13c)]??0x0,'updated':_0x375287[_0x4518dc(0x118)]??0x0,'unchanged':_0x375287[_0x4518dc(0x11c)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1a0999[_0x4518dc(0x13d)](_0x314375=>_0x314375['action']==='removed')[_0x4518dc(0x126)],'cacheDirs':_0x2412c3[_0x4518dc(0x13d)](_0x2429bb=>_0x2429bb['action']===_0x4518dc(0x125))[_0x4518dc(0x126)],'skipped':[..._0x1a0999,..._0x2412c3][_0x4518dc(0x13d)](_0x284ffc=>_0x284ffc[_0x4518dc(0x12b)]===_0x4518dc(0x129))[_0x4518dc(0x126)]},'skills':{'personal':_0x1426c9['map'](summarizeRuntimeSkill),'company':_0x189354[_0x4518dc(0x135)](summarizeRuntimeSkill)}},'message':_0x4518dc(0x121)+_0x1426c9[_0x4518dc(0x126)]+_0x4518dc(0x134)+_0x189354[_0x4518dc(0x126)]+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x4b9f4f,_0x5192b2,_0x5b2fbd,_0x5e354b){const _0x3ed0da=a42_0x354b97,_0x28f67a=_0x4b9f4f[_0x3ed0da(0x122)]?.[_0x3ed0da(0x116)]();return _0x28f67a?_0x5e354b(_0x5192b2,_0x4b9f4f[_0x3ed0da(0x12d)],_0x5b2fbd,_0x28f67a):_0x5e354b(_0x5192b2,_0x4b9f4f['skillCode'],_0x5b2fbd);}function a42_0xf3f9(){const _0x18438d=['skill','code','skipped','write','action','../../../core/api-client.js','skillCode','push','../../../skills/runtime-skill-sync.js','appCode','includes','scope','accessKey','\x20personal\x20and\x20','map','company','install','authRequired','22610sdQSin','personal','2247282GrKoPo','created','filter','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','str','trim','flatMap','updated','1748047RpGvqM','1780640mNTDLG','envName','unchanged','all','reduce','611392tOXneh','203544NPIvsR','Installed\x20','version','971499tuzMuk','bool','removed','length'];a42_0xf3f9=function(){return _0x18438d;};return a42_0xf3f9();}function countLinkActions(_0x49062a){const _0x1cb9c6=a42_0x354b97;return _0x49062a[_0x1cb9c6(0x11e)]((_0x56cee5,_0x29c781)=>{return _0x56cee5[_0x29c781['action']]=(_0x56cee5[_0x29c781['action']]??0x0)+0x1,_0x56cee5;},{});}
1
+ const a42_0x205e2c=a42_0x3eb7;(function(_0x31cbda,_0x21c994){const _0x520386=a42_0x3eb7,_0x1a5437=_0x31cbda();while(!![]){try{const _0xedd8f8=-parseInt(_0x520386(0x183))/0x1*(-parseInt(_0x520386(0x198))/0x2)+parseInt(_0x520386(0x18a))/0x3*(parseInt(_0x520386(0x187))/0x4)+-parseInt(_0x520386(0x197))/0x5+-parseInt(_0x520386(0x1ab))/0x6+-parseInt(_0x520386(0x190))/0x7*(-parseInt(_0x520386(0x18d))/0x8)+-parseInt(_0x520386(0x199))/0x9*(parseInt(_0x520386(0x192))/0xa)+parseInt(_0x520386(0x1a9))/0xb*(parseInt(_0x520386(0x19e))/0xc);if(_0xedd8f8===_0x21c994)break;else _0x1a5437['push'](_0x1a5437['shift']());}catch(_0x597960){_0x1a5437['push'](_0x1a5437['shift']());}}}(a42_0x1dba,0xcc30d));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a42_0x3eb7(_0x3c1f41,_0xe4c086){_0x3c1f41=_0x3c1f41-0x183;const _0x1dba9d=a42_0x1dba();let _0x3eb7e8=_0x1dba9d[_0x3c1f41];return _0x3eb7e8;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':a42_0x205e2c(0x191),'description':a42_0x205e2c(0x1a6),'risk':a42_0x205e2c(0x189),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG],async 'execute'(_0x48b856){return syncRuntimeSkills(_0x48b856);}};async function syncRuntimeSkills(_0xb2b4c9){const _0x572fb7=a42_0x205e2c,{downloadRuntimeSkillPackage:_0x4bed49,listRuntimeSkills:_0x19777d}=await import(_0x572fb7(0x1a5)),{linkEffectiveRuntimeSkills:_0x1f0eb7,materializeRuntimeSkill:_0x80e156,pruneStaleRuntimeSkillCache:_0x318b4a,pruneStaleRuntimeSkillLinks:_0x2bf6aa}=await import(_0x572fb7(0x19b)),_0x1b48ed=_0xb2b4c9[_0x572fb7(0x19f)](_0x572fb7(0x193)),_0x27ddda=normalizeSyncScopes(_0xb2b4c9[_0x572fb7(0x19f)]('scope')),_0x3ec199=_0xb2b4c9[_0x572fb7(0x185)]??_0x572fb7(0x184),_0x19099a=_0xb2b4c9[_0x572fb7(0x195)],_0xed0ab7=_0xb2b4c9['bool'](_0x572fb7(0x18f));if(!_0x19099a)throw CliErrors[_0x572fb7(0x1a3)](_0x572fb7(0x1ac));const _0x400c65=await Promise['all'](_0x27ddda['map'](_0x96812=>_0x19777d({'appCode':_0xb2b4c9[_0x572fb7(0x18b)],'scope':_0x96812,'code':_0x1b48ed[_0x572fb7(0x18e)]()||undefined}))),_0x41ccc4=_0x27ddda[_0x572fb7(0x19a)](_0x572fb7(0x19c))?_0x400c65['flatMap']((_0x58f1e1,_0xa5b300)=>_0x27ddda[_0xa5b300]===_0x572fb7(0x19c)?_0x58f1e1['personal']:[]):[],_0x32a1a3=_0x27ddda['includes']('company')?_0x400c65['flatMap']((_0x4764d9,_0x17f83c)=>_0x27ddda[_0x17f83c]===_0x572fb7(0x19d)?_0x4764d9[_0x572fb7(0x19d)]:[]):[],_0x869fca=new Set([..._0x41ccc4[_0x572fb7(0x1a1)](_0x1517f5=>_0x1517f5[_0x572fb7(0x1a8)]?.[_0x572fb7(0x18e)]())[_0x572fb7(0x1a2)](_0x2d2023=>Boolean(_0x2d2023)),..._0x32a1a3[_0x572fb7(0x1a1)](_0x29021c=>_0x29021c['skillCode']?.[_0x572fb7(0x18e)]())[_0x572fb7(0x1a2)](_0x1d918d=>Boolean(_0x1d918d))]),_0x10311e=_0x1b48ed[_0x572fb7(0x18e)]()?[_0x1b48ed[_0x572fb7(0x18e)]()]:undefined,_0x1bf2f7=_0x27ddda[_0x572fb7(0x1ad)]===0x2&&_0x27ddda['includes'](_0x572fb7(0x19c))&&_0x27ddda[_0x572fb7(0x19a)](_0x572fb7(0x19d)),_0x45a284=_0x1bf2f7?_0x2bf6aa(_0xb2b4c9[_0x572fb7(0x18b)],_0x869fca,{},_0x10311e):[],_0x19447a=_0x318b4a({'env':_0x3ec199,'accessKey':_0x19099a,'appCode':_0xb2b4c9[_0x572fb7(0x18b)],'activeSkillCodes':_0x869fca,'pruneSkillCodes':_0x10311e,'scopes':_0x27ddda}),_0xea5b7c=[];for(const _0x59bc52 of _0x41ccc4){_0xea5b7c[_0x572fb7(0x18c)](_0x80e156(_0x59bc52,'personal',{'env':_0x3ec199,'accessKey':_0x19099a,'appCode':_0xb2b4c9[_0x572fb7(0x18b)],'force':_0xed0ab7,'packageBytes':await downloadSkillPackage(_0x59bc52,'personal',_0xb2b4c9['appCode'],_0x4bed49)}));}for(const _0x2c40ff of _0x32a1a3){_0xea5b7c[_0x572fb7(0x18c)](_0x80e156(_0x2c40ff,_0x572fb7(0x19d),{'env':_0x3ec199,'accessKey':_0x19099a,'appCode':_0xb2b4c9[_0x572fb7(0x18b)],'force':_0xed0ab7,'packageBytes':await downloadSkillPackage(_0x2c40ff,_0x572fb7(0x19d),_0xb2b4c9[_0x572fb7(0x18b)],_0x4bed49)}));}const _0x5c77c5=_0x1f0eb7(_0xea5b7c,_0xb2b4c9[_0x572fb7(0x18b)]),_0x539584=countLinkActions(_0x5c77c5);return{'ok':!![],'data':{'appCode':_0xb2b4c9['appCode'],'personal':_0x41ccc4[_0x572fb7(0x1ad)],'company':_0x32a1a3[_0x572fb7(0x1ad)],'materialized':_0xea5b7c['length'],'links':{'total':_0x5c77c5['length'],'created':_0x539584[_0x572fb7(0x196)]??0x0,'updated':_0x539584[_0x572fb7(0x194)]??0x0,'unchanged':_0x539584[_0x572fb7(0x188)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x45a284['filter'](_0x577712=>_0x577712[_0x572fb7(0x186)]===_0x572fb7(0x1aa))[_0x572fb7(0x1ad)],'cacheDirs':_0x19447a['filter'](_0x351b29=>_0x351b29['action']===_0x572fb7(0x1aa))[_0x572fb7(0x1ad)],'skipped':[..._0x45a284,..._0x19447a][_0x572fb7(0x1a2)](_0x321865=>_0x321865[_0x572fb7(0x186)]===_0x572fb7(0x1a4))[_0x572fb7(0x1ad)]},'skills':{'personal':_0x41ccc4[_0x572fb7(0x1a1)](summarizeRuntimeSkill),'company':_0x32a1a3[_0x572fb7(0x1a1)](summarizeRuntimeSkill)}},'message':_0x572fb7(0x1a7)+_0x41ccc4[_0x572fb7(0x1ad)]+'\x20personal\x20and\x20'+_0x32a1a3[_0x572fb7(0x1ad)]+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x27b6b5,_0x25072f,_0x551dc6,_0x1c1a81){const _0x52c2a1=a42_0x205e2c,_0x19e89a=_0x27b6b5[_0x52c2a1(0x1a0)]?.[_0x52c2a1(0x18e)]();return _0x19e89a?_0x1c1a81(_0x25072f,_0x27b6b5['skillCode'],_0x551dc6,_0x19e89a):_0x1c1a81(_0x25072f,_0x27b6b5[_0x52c2a1(0x1a8)],_0x551dc6);}function a42_0x1dba(){const _0x5a4209=['map','filter','authRequired','skipped','../../../core/api-client.js','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','Installed\x20','skillCode','11uxmfNd','removed','8964978yLRZUH','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','length','7tdEUqQ','production','envName','action','28QYpOWo','unchanged','write','671607bnSSLs','appCode','push','104ddYBVo','trim','force','837949AQXhEG','install','10enRiPT','code','updated','accessKey','created','5947140zDbJvv','37294qFVurZ','14804289zzTrLx','includes','../../../skills/runtime-skill-sync.js','personal','company','22932888cjmKJi','str','version'];a42_0x1dba=function(){return _0x5a4209;};return a42_0x1dba();}function countLinkActions(_0x3769f1){return _0x3769f1['reduce']((_0x5204ca,_0x342e6f)=>{const _0xea9d2b=a42_0x3eb7;return _0x5204ca[_0x342e6f[_0xea9d2b(0x186)]]=(_0x5204ca[_0x342e6f[_0xea9d2b(0x186)]]??0x0)+0x1,_0x5204ca;},{});}
@@ -1 +1 @@
1
- const a43_0x4859e7=a43_0x1240;(function(_0x1282c6,_0x2139e2){const _0x5d9667=a43_0x1240,_0x4e2c2f=_0x1282c6();while(!![]){try{const _0x142724=parseInt(_0x5d9667(0x13b))/0x1*(parseInt(_0x5d9667(0x124))/0x2)+parseInt(_0x5d9667(0x140))/0x3*(parseInt(_0x5d9667(0x127))/0x4)+parseInt(_0x5d9667(0x12a))/0x5+parseInt(_0x5d9667(0x12e))/0x6*(parseInt(_0x5d9667(0x12d))/0x7)+parseInt(_0x5d9667(0x12f))/0x8+parseInt(_0x5d9667(0x126))/0x9+-parseInt(_0x5d9667(0x137))/0xa;if(_0x142724===_0x2139e2)break;else _0x4e2c2f['push'](_0x4e2c2f['shift']());}catch(_0x2cd458){_0x4e2c2f['push'](_0x4e2c2f['shift']());}}}(a43_0x32a6,0xa8657));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';function a43_0x32a6(){const _0x55b6a4=['scope','map','../../../core/api-client.js','152909omCUIw','str','filter','authRequired','company','211353CykRaf','list','production','personal','local','builtin','2HFdBpx','\x20local\x20Skill(s).','7302933UMQxPb','28WDxSKH','remote','length','5622900pxbDti','bool','appCode','8661989tUSHRM','6CavrEB','8752400mKWGIv','code','\x20remote\x20Skill(s).','accessKey','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','read','Listed\x20','trim','42238090WTEetZ'];a43_0x32a6=function(){return _0x55b6a4;};return a43_0x32a6();}function a43_0x1240(_0xf66528,_0x518866){_0xf66528=_0xf66528-0x11f;const _0x32a693=a43_0x32a6();let _0x124015=_0x32a693[_0xf66528];return _0x124015;}import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':a43_0x4859e7(0x11f),'description':a43_0x4859e7(0x133),'risk':a43_0x4859e7(0x134),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x345a53){const _0x161298=a43_0x4859e7,_0x5d3b68=_0x345a53['str'](_0x161298(0x130)),_0x27eecf=normalizeListScope(_0x345a53[_0x161298(0x13c)](_0x161298(0x138)));if(_0x345a53[_0x161298(0x12b)](_0x161298(0x122))){const _0x251532=_0x345a53[_0x161298(0x132)];if(!_0x251532)throw CliErrors[_0x161298(0x13e)]();const {listLocalRuntimeSkills:_0x1c84cb}=await import('../../../skills/runtime-skill-sync.js'),_0x17184e=_0x1c84cb({'env':_0x345a53['envName']??_0x161298(0x120),'accessKey':_0x251532,'appCode':_0x345a53[_0x161298(0x12c)],'scopes':listScopeToRuntimeScopes(_0x27eecf),'code':_0x5d3b68[_0x161298(0x136)]()||undefined}),_0x3b6456=groupLocalRuntimeSkills(_0x17184e);return{'ok':!![],'data':{'appCode':_0x345a53['appCode'],'source':_0x161298(0x122),'scope':_0x27eecf,'total':_0x17184e[_0x161298(0x129)],'personal':_0x3b6456['personal'][_0x161298(0x129)],'company':_0x3b6456['company'][_0x161298(0x129)],'items':_0x17184e[_0x161298(0x139)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x3b6456['personal'][_0x161298(0x139)](summarizeLocalRuntimeSkill),'company':_0x3b6456['company'][_0x161298(0x139)](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x17184e[_0x161298(0x129)]+_0x161298(0x125)};}const {listRuntimeSkills:_0x5a7c7d}=await import(_0x161298(0x13a)),_0x83cb25=await _0x5a7c7d({'appCode':_0x345a53[_0x161298(0x12c)],'scope':listScopeToRemoteScope(_0x27eecf),'code':_0x5d3b68[_0x161298(0x136)]()||undefined}),_0x43bd5e=shouldListScope(_0x27eecf,_0x161298(0x121))?_0x83cb25[_0x161298(0x121)]??[]:[],_0x18bb5a=shouldListScope(_0x27eecf,_0x161298(0x13f))?_0x83cb25['company']??[]:[],_0x2c3167=[..._0x43bd5e,..._0x18bb5a];return{'ok':!![],'data':{'appCode':_0x345a53[_0x161298(0x12c)],'source':_0x161298(0x128),'scope':_0x27eecf,'total':_0x2c3167['length'],'personal':_0x43bd5e['length'],'company':_0x18bb5a[_0x161298(0x129)],'items':_0x2c3167['map'](summarizeRuntimeSkill),'skills':{'personal':_0x43bd5e['map'](summarizeRuntimeSkill),'company':_0x18bb5a[_0x161298(0x139)](summarizeRuntimeSkill)}},'message':_0x161298(0x135)+_0x2c3167[_0x161298(0x129)]+_0x161298(0x131)};}};function groupLocalRuntimeSkills(_0x285fa1){const _0x1554c1=a43_0x4859e7;return{'personal':_0x285fa1['filter'](_0xdd9285=>_0xdd9285[_0x1554c1(0x138)]===_0x1554c1(0x121)),'company':_0x285fa1[_0x1554c1(0x13d)](_0x41bdd3=>_0x41bdd3[_0x1554c1(0x138)]===_0x1554c1(0x13f)),'builtin':_0x285fa1[_0x1554c1(0x13d)](_0xe734a8=>_0xe734a8[_0x1554c1(0x138)]===_0x1554c1(0x123))};}
1
+ const a43_0x4daaa1=a43_0x22b8;(function(_0x3c034c,_0x32a531){const _0x2535a3=a43_0x22b8,_0x3633e7=_0x3c034c();while(!![]){try{const _0x14d15b=parseInt(_0x2535a3(0xa4))/0x1*(parseInt(_0x2535a3(0x9c))/0x2)+parseInt(_0x2535a3(0x85))/0x3+parseInt(_0x2535a3(0xa2))/0x4*(-parseInt(_0x2535a3(0x9b))/0x5)+-parseInt(_0x2535a3(0x9e))/0x6+parseInt(_0x2535a3(0x8f))/0x7+parseInt(_0x2535a3(0x93))/0x8*(-parseInt(_0x2535a3(0x8e))/0x9)+parseInt(_0x2535a3(0xa3))/0xa;if(_0x14d15b===_0x32a531)break;else _0x3633e7['push'](_0x3633e7['shift']());}catch(_0xc3ca50){_0x3633e7['push'](_0x3633e7['shift']());}}}(a43_0x3a47,0x391f0));function a43_0x22b8(_0x5a51cd,_0x1d0896){_0x5a51cd=_0x5a51cd-0x85;const _0x3a473f=a43_0x3a47();let _0x22b8db=_0x3a473f[_0x5a51cd];return _0x22b8db;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':'skill','command':a43_0x4daaa1(0xa5),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a43_0x4daaa1(0x88),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x1bc477){const _0x2c5fb1=a43_0x4daaa1,_0x39ad2a=_0x1bc477[_0x2c5fb1(0x8b)](_0x2c5fb1(0xa1)),_0x40715e=normalizeListScope(_0x1bc477['str'](_0x2c5fb1(0x94)));if(_0x1bc477[_0x2c5fb1(0x9d)](_0x2c5fb1(0x99))){const _0x487c4f=_0x1bc477['accessKey'];if(!_0x487c4f)throw CliErrors[_0x2c5fb1(0x9f)]();const {listLocalRuntimeSkills:_0x4c1606}=await import(_0x2c5fb1(0x9a)),_0x1f926a=_0x4c1606({'env':_0x1bc477[_0x2c5fb1(0x8a)]??_0x2c5fb1(0x92),'accessKey':_0x487c4f,'appCode':_0x1bc477[_0x2c5fb1(0x89)],'scopes':listScopeToRuntimeScopes(_0x40715e),'code':_0x39ad2a[_0x2c5fb1(0x90)]()||undefined}),_0x258d81=groupLocalRuntimeSkills(_0x1f926a);return{'ok':!![],'data':{'appCode':_0x1bc477[_0x2c5fb1(0x89)],'source':_0x2c5fb1(0x99),'scope':_0x40715e,'total':_0x1f926a[_0x2c5fb1(0x96)],'personal':_0x258d81[_0x2c5fb1(0xa0)][_0x2c5fb1(0x96)],'company':_0x258d81[_0x2c5fb1(0x95)][_0x2c5fb1(0x96)],'items':_0x1f926a[_0x2c5fb1(0x8c)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x258d81[_0x2c5fb1(0xa0)]['map'](summarizeLocalRuntimeSkill),'company':_0x258d81[_0x2c5fb1(0x95)]['map'](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x1f926a[_0x2c5fb1(0x96)]+'\x20local\x20Skill(s).'};}const {listRuntimeSkills:_0x764a26}=await import(_0x2c5fb1(0x98)),_0x155c10=await _0x764a26({'appCode':_0x1bc477[_0x2c5fb1(0x89)],'scope':listScopeToRemoteScope(_0x40715e),'code':_0x39ad2a[_0x2c5fb1(0x90)]()||undefined}),_0x1bc348=shouldListScope(_0x40715e,'personal')?_0x155c10['personal']??[]:[],_0x3da70c=shouldListScope(_0x40715e,_0x2c5fb1(0x95))?_0x155c10[_0x2c5fb1(0x95)]??[]:[],_0x33576e=[..._0x1bc348,..._0x3da70c];return{'ok':!![],'data':{'appCode':_0x1bc477['appCode'],'source':_0x2c5fb1(0x8d),'scope':_0x40715e,'total':_0x33576e[_0x2c5fb1(0x96)],'personal':_0x1bc348[_0x2c5fb1(0x96)],'company':_0x3da70c[_0x2c5fb1(0x96)],'items':_0x33576e['map'](summarizeRuntimeSkill),'skills':{'personal':_0x1bc348[_0x2c5fb1(0x8c)](summarizeRuntimeSkill),'company':_0x3da70c['map'](summarizeRuntimeSkill)}},'message':_0x2c5fb1(0x87)+_0x33576e[_0x2c5fb1(0x96)]+_0x2c5fb1(0x97)};}};function a43_0x3a47(){const _0x1f32a1=['envName','str','map','remote','45MHzLKp','556073AfUXJU','trim','builtin','production','189016KgmLSR','scope','company','length','\x20remote\x20Skill(s).','../../../core/api-client.js','local','../../../skills/runtime-skill-sync.js','15yKxZjg','600DqzGzn','bool','990300ZsFiSb','authRequired','personal','code','163080WpKiaX','2136640jDkfqY','76QbVFUD','list','970680iCRShk','filter','Listed\x20','read','appCode'];a43_0x3a47=function(){return _0x1f32a1;};return a43_0x3a47();}function groupLocalRuntimeSkills(_0x5950f5){const _0x50e700=a43_0x4daaa1;return{'personal':_0x5950f5[_0x50e700(0x86)](_0x2b6f71=>_0x2b6f71[_0x50e700(0x94)]===_0x50e700(0xa0)),'company':_0x5950f5[_0x50e700(0x86)](_0x1d623a=>_0x1d623a[_0x50e700(0x94)]===_0x50e700(0x95)),'builtin':_0x5950f5[_0x50e700(0x86)](_0x64df57=>_0x64df57[_0x50e700(0x94)]===_0x50e700(0x91))};}
@@ -1 +1 @@
1
- function a44_0x46cc(_0x473615,_0x526d3f){_0x473615=_0x473615-0x136;const _0x4e4fa8=a44_0x4e4f();let _0x46cc0f=_0x4e4fa8[_0x473615];return _0x46cc0f;}const a44_0x5972fe=a44_0x46cc;(function(_0x3003dc,_0x4f5f9c){const _0x5eb1f9=a44_0x46cc,_0x5a6ba1=_0x3003dc();while(!![]){try{const _0x5c770b=-parseInt(_0x5eb1f9(0x140))/0x1+parseInt(_0x5eb1f9(0x139))/0x2+parseInt(_0x5eb1f9(0x13a))/0x3*(parseInt(_0x5eb1f9(0x141))/0x4)+-parseInt(_0x5eb1f9(0x136))/0x5*(parseInt(_0x5eb1f9(0x13c))/0x6)+-parseInt(_0x5eb1f9(0x13d))/0x7+-parseInt(_0x5eb1f9(0x13b))/0x8+parseInt(_0x5eb1f9(0x13f))/0x9;if(_0x5c770b===_0x4f5f9c)break;else _0x5a6ba1['push'](_0x5a6ba1['shift']());}catch(_0x579f11){_0x5a6ba1['push'](_0x5a6ba1['shift']());}}}(a44_0x4e4f,0xe69d0));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';function a44_0x4e4f(){const _0x1f0cfe=['4772901TZAqTT','write','35874045eBNVqx','1859944hYRpKg','14616HhSSDB','10ncipbl','push','skill','3202222KGdyAQ','738bgBqpt','9707400KMoGec','5358588FELKXA'];a44_0x4e4f=function(){return _0x1f0cfe;};return a44_0x4e4f();}import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a44_0x5972fe(0x138),'command':a44_0x5972fe(0x137),'description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','risk':a44_0x5972fe(0x13e),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
1
+ function a44_0x4858(_0x369deb,_0x1103d9){_0x369deb=_0x369deb-0xa0;const _0x5e6b3b=a44_0x5e6b();let _0x4858f2=_0x5e6b3b[_0x369deb];return _0x4858f2;}function a44_0x5e6b(){const _0x5aa31c=['push','19798RAmmyy','4mIDvpx','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','27VkSRoZ','3801990qBhezy','14PPLkkp','4534920auIeVh','skill','1256292xaFTZk','67931ouXxRn','338901jTDPdo','1750330qKHnzn'];a44_0x5e6b=function(){return _0x5aa31c;};return a44_0x5e6b();}const a44_0x6b6a7e=a44_0x4858;(function(_0x40ea45,_0x2d25bb){const _0x5f00b2=a44_0x4858,_0x50efdc=_0x40ea45();while(!![]){try{const _0x157c35=parseInt(_0x5f00b2(0xa4))/0x1+-parseInt(_0x5f00b2(0xa8))/0x2+-parseInt(_0x5f00b2(0xa5))/0x3*(-parseInt(_0x5f00b2(0xa9))/0x4)+parseInt(_0x5f00b2(0xac))/0x5+parseInt(_0x5f00b2(0xa3))/0x6*(-parseInt(_0x5f00b2(0xa0))/0x7)+-parseInt(_0x5f00b2(0xa1))/0x8+-parseInt(_0x5f00b2(0xab))/0x9*(-parseInt(_0x5f00b2(0xa6))/0xa);if(_0x157c35===_0x2d25bb)break;else _0x50efdc['push'](_0x50efdc['shift']());}catch(_0x2b23dd){_0x50efdc['push'](_0x50efdc['shift']());}}}(a44_0x5e6b,0x72f53));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';export const pushCommand={'service':a44_0x6b6a7e(0xa2),'command':a44_0x6b6a7e(0xa7),'description':a44_0x6b6a7e(0xaa),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
@@ -1 +1 @@
1
- const a45_0x84326=a45_0x2791;function a45_0x40f5(){const _0x3169f6=['1107656ZCmCrZ','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','5780256TAfiEt','2498993psVTJC','20uUgfou','24laffKu','validate','1760651dRrcNk','strict','bool','read','13098456hntIJF','2244102tMCBfW','warnings','str','type','dir','Skill\x20validation\x20passed.','464ZEpKHx','70540QRFHOd'];a45_0x40f5=function(){return _0x3169f6;};return a45_0x40f5();}(function(_0x79f514,_0x4f7002){const _0xbda184=a45_0x2791,_0x1561c3=_0x79f514();while(!![]){try{const _0xcf66d4=-parseInt(_0xbda184(0xd4))/0x1+-parseInt(_0xbda184(0xe1))/0x2+parseInt(_0xbda184(0xd9))/0x3+parseInt(_0xbda184(0xdf))/0x4*(parseInt(_0xbda184(0xe0))/0x5)+-parseInt(_0xbda184(0xe3))/0x6+-parseInt(_0xbda184(0xe4))/0x7*(parseInt(_0xbda184(0xe6))/0x8)+-parseInt(_0xbda184(0xd8))/0x9*(-parseInt(_0xbda184(0xe5))/0xa);if(_0xcf66d4===_0x4f7002)break;else _0x1561c3['push'](_0x1561c3['shift']());}catch(_0x54add0){_0x1561c3['push'](_0x1561c3['shift']());}}}(a45_0x40f5,0xe712e));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';function a45_0x2791(_0x335d02,_0x38d787){_0x335d02=_0x335d02-0xd4;const _0x40f54e=a45_0x40f5();let _0x279113=_0x40f54e[_0x335d02];return _0x279113;}import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':'skill','command':a45_0x84326(0xe7),'description':a45_0x84326(0xe2),'risk':a45_0x84326(0xd7),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x33abc3){const _0x5185b4=a45_0x84326,_0x48c8dc=_0x33abc3[_0x5185b4(0xd6)](_0x5185b4(0xd5)),_0x3b4cc7=validateSkillDirectory(_0x33abc3[_0x5185b4(0xdb)](_0x5185b4(0xdd)),{'strict':_0x48c8dc});return throwIfSkillValidationFailed(_0x3b4cc7,_0x48c8dc),{'ok':!![],'data':{'dir':_0x3b4cc7[_0x5185b4(0xdd)],'type':_0x3b4cc7[_0x5185b4(0xdc)],'errors':_0x3b4cc7['errors'],'warnings':_0x3b4cc7[_0x5185b4(0xda)]},'message':_0x5185b4(0xde)};}};
1
+ const a45_0x5923dd=a45_0x1d41;(function(_0x4e7b62,_0x939668){const _0x200503=a45_0x1d41,_0x4d2233=_0x4e7b62();while(!![]){try{const _0x4f7747=parseInt(_0x200503(0xcf))/0x1*(-parseInt(_0x200503(0xcd))/0x2)+parseInt(_0x200503(0xca))/0x3+parseInt(_0x200503(0xd5))/0x4+parseInt(_0x200503(0xd4))/0x5*(-parseInt(_0x200503(0xd0))/0x6)+-parseInt(_0x200503(0xd1))/0x7+-parseInt(_0x200503(0xd2))/0x8*(parseInt(_0x200503(0xcc))/0x9)+parseInt(_0x200503(0xc6))/0xa*(parseInt(_0x200503(0xd7))/0xb);if(_0x4f7747===_0x939668)break;else _0x4d2233['push'](_0x4d2233['shift']());}catch(_0x5dd0ea){_0x4d2233['push'](_0x4d2233['shift']());}}}(a45_0x35e3,0x7229e));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a45_0x1d41(_0x362b33,_0x179237){_0x362b33=_0x362b33-0xc5;const _0x35e31e=a45_0x35e3();let _0x1d410c=_0x35e31e[_0x362b33];return _0x1d410c;}export const validateCommand={'service':a45_0x5923dd(0xc9),'command':a45_0x5923dd(0xce),'description':a45_0x5923dd(0xd6),'risk':a45_0x5923dd(0xcb),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x952af6){const _0x37164d=a45_0x5923dd,_0x14ea16=_0x952af6[_0x37164d(0xc7)](_0x37164d(0xd3)),_0x24879c=validateSkillDirectory(_0x952af6['str'](_0x37164d(0xd9)),{'strict':_0x14ea16});return throwIfSkillValidationFailed(_0x24879c,_0x14ea16),{'ok':!![],'data':{'dir':_0x24879c['dir'],'type':_0x24879c['type'],'errors':_0x24879c[_0x37164d(0xc5)],'warnings':_0x24879c[_0x37164d(0xd8)]},'message':_0x37164d(0xc8)};}};function a45_0x35e3(){const _0x2f459b=['6mNTssJ','3528798TrbMoW','8PxCSxh','strict','3768035PWrHSI','822072fsanrD','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','28111259SuYiZK','warnings','dir','errors','10LTSWnr','bool','Skill\x20validation\x20passed.','skill','1788750TleQMu','read','6942492nnOoeL','74836vzrHHC','validate','23gMnweQ'];a45_0x35e3=function(){return _0x2f459b;};return a45_0x35e3();}
@@ -1 +1 @@
1
- const a46_0x2a972f=a46_0x18a0;(function(_0x2d16d1,_0x4b5602){const _0x520283=a46_0x18a0,_0x2545e6=_0x2d16d1();while(!![]){try{const _0x39f62c=parseInt(_0x520283(0x8f))/0x1*(-parseInt(_0x520283(0x90))/0x2)+-parseInt(_0x520283(0x83))/0x3+parseInt(_0x520283(0x9b))/0x4+-parseInt(_0x520283(0x8a))/0x5*(-parseInt(_0x520283(0x89))/0x6)+-parseInt(_0x520283(0x98))/0x7*(-parseInt(_0x520283(0x9f))/0x8)+-parseInt(_0x520283(0x88))/0x9+parseInt(_0x520283(0x92))/0xa*(parseInt(_0x520283(0x85))/0xb);if(_0x39f62c===_0x4b5602)break;else _0x2545e6['push'](_0x2545e6['shift']());}catch(_0x2cac96){_0x2545e6['push'](_0x2545e6['shift']());}}}(a46_0x37bb,0x4be00));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a46_0x2a972f(0x84),'type':'string','description':a46_0x2a972f(0x8d)};export const SCOPE_FLAG={'name':a46_0x2a972f(0x9c),'type':a46_0x2a972f(0x8e),'description':a46_0x2a972f(0x95),'enum':[a46_0x2a972f(0x97),'personal',a46_0x2a972f(0x99)]};export const PUSH_SCOPE_FLAG={'name':a46_0x2a972f(0x9c),'type':'string','description':a46_0x2a972f(0x86),'default':'personal','enum':[a46_0x2a972f(0x82),a46_0x2a972f(0x99)]};export const LIST_SCOPE_FLAG={'name':'scope','type':a46_0x2a972f(0x8e),'description':a46_0x2a972f(0x9a),'enum':[a46_0x2a972f(0x97),a46_0x2a972f(0x82),a46_0x2a972f(0x99)]};function a46_0x37bb(){const _0x15ab13=['1439955yRodaN','code','22VwYvwt','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','boolean','1171152idzZFH','6tKzQoj','1227015cKjJdi','type','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','string','72411FiXaPH','6MlcwhC','Local\x20Skill\x20directory\x20containing\x20SKILL.md','2077490pEOHjZ','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','name','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','all','14889gNCmlw','company','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','930496xJeSbx','scope','write','force','920KRGLkH','strict','personal'];a46_0x37bb=function(){return _0x15ab13;};return a46_0x37bb();}export const LOCAL_FLAG={'name':'local','type':a46_0x2a972f(0x87),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':'dir','type':'string','required':!![],'description':a46_0x2a972f(0x91)};export const CREATE_NAME_FLAG={'name':a46_0x2a972f(0x94),'type':a46_0x2a972f(0x8e),'required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a46_0x2a972f(0x8c)}};export const TYPE_FLAG={'name':a46_0x2a972f(0x8b),'type':'string','description':'Skill\x20template\x20type','default':a46_0x2a972f(0x9d),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':'target','type':a46_0x2a972f(0x8e),'description':a46_0x2a972f(0x96),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a46_0x2a972f(0x9e),'type':'boolean','description':a46_0x2a972f(0x93)};export const CONFIRM_WARNINGS_FLAG={'name':'confirm-warnings','type':a46_0x2a972f(0x87),'description':'Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings'};function a46_0x18a0(_0x2f7614,_0x4834c4){_0x2f7614=_0x2f7614-0x82;const _0x37bbe3=a46_0x37bb();let _0x18a0ce=_0x37bbe3[_0x2f7614];return _0x18a0ce;}export const STRICT_FLAG={'name':a46_0x2a972f(0xa0),'type':a46_0x2a972f(0x87),'description':'Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled'};
1
+ const a46_0xb2b82e=a46_0x4f78;function a46_0x3433(){const _0x2e5c37=['676005wqBaVc','7136500SUqBOr','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Skill\x20template\x20type','109567sxchtI','662016GZwuGs','26BGhend','scope','Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','confirm-warnings','23832603VsmpPv','force','company','1510230iwqjlq','string','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','strict','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','write','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','name','all','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','77CMSFgQ','12066664jxNlYA','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','type','target','dir','Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists','code','personal','boolean'];a46_0x3433=function(){return _0x2e5c37;};return a46_0x3433();}(function(_0x214a7b,_0x251021){const _0x2b5f90=a46_0x4f78,_0x5044b4=_0x214a7b();while(!![]){try{const _0x32a8ea=parseInt(_0x2b5f90(0x1fc))/0x1*(parseInt(_0x2b5f90(0x1fe))/0x2)+parseInt(_0x2b5f90(0x205))/0x3+parseInt(_0x2b5f90(0x1f8))/0x4+parseInt(_0x2b5f90(0x1f7))/0x5+parseInt(_0x2b5f90(0x1fd))/0x6*(parseInt(_0x2b5f90(0x1ed))/0x7)+-parseInt(_0x2b5f90(0x1ee))/0x8+-parseInt(_0x2b5f90(0x202))/0x9;if(_0x32a8ea===_0x251021)break;else _0x5044b4['push'](_0x5044b4['shift']());}catch(_0x113ced){_0x5044b4['push'](_0x5044b4['shift']());}}}(a46_0x3433,0xdccd3));import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';function a46_0x4f78(_0x31753d,_0x22860e){_0x31753d=_0x31753d-0x1eb;const _0x34333c=a46_0x3433();let _0x4f781f=_0x34333c[_0x31753d];return _0x4f781f;}export const CODE_FLAG={'name':a46_0xb2b82e(0x1f4),'type':'string','description':'Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code'};export const SCOPE_FLAG={'name':a46_0xb2b82e(0x1ff),'type':'string','description':a46_0xb2b82e(0x1fa),'enum':[a46_0xb2b82e(0x1eb),a46_0xb2b82e(0x1f5),a46_0xb2b82e(0x204)]};export const PUSH_SCOPE_FLAG={'name':a46_0xb2b82e(0x1ff),'type':a46_0xb2b82e(0x206),'description':a46_0xb2b82e(0x207),'default':a46_0xb2b82e(0x1f5),'enum':[a46_0xb2b82e(0x1f5),a46_0xb2b82e(0x204)]};export const LIST_SCOPE_FLAG={'name':a46_0xb2b82e(0x1ff),'type':'string','description':a46_0xb2b82e(0x1f9),'enum':['all',a46_0xb2b82e(0x1f5),'company']};export const LOCAL_FLAG={'name':'local','type':'boolean','description':a46_0xb2b82e(0x1f3)};export const DIR_FLAG={'name':a46_0xb2b82e(0x1f2),'type':a46_0xb2b82e(0x206),'required':!![],'description':'Local\x20Skill\x20directory\x20containing\x20SKILL.md'};export const CREATE_NAME_FLAG={'name':a46_0xb2b82e(0x20c),'type':'string','required':!![],'description':'Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','pattern':{'regex':SKILL_NAME_PATTERN,'description':a46_0xb2b82e(0x1ec)}};export const TYPE_FLAG={'name':a46_0xb2b82e(0x1f0),'type':'string','description':a46_0xb2b82e(0x1fb),'default':a46_0xb2b82e(0x20a),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a46_0xb2b82e(0x1f1),'type':a46_0xb2b82e(0x206),'description':a46_0xb2b82e(0x200),'default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a46_0xb2b82e(0x203),'type':a46_0xb2b82e(0x1f6),'description':a46_0xb2b82e(0x209)};export const CONFIRM_WARNINGS_FLAG={'name':a46_0xb2b82e(0x201),'type':a46_0xb2b82e(0x1f6),'description':a46_0xb2b82e(0x1ef)};export const STRICT_FLAG={'name':a46_0xb2b82e(0x208),'type':a46_0xb2b82e(0x1f6),'description':a46_0xb2b82e(0x20b)};
@@ -1 +1 @@
1
- (function(_0xf82de0,_0xe338d1){const _0x3133e0=a47_0x4e0c,_0x5a8bde=_0xf82de0();while(!![]){try{const _0x9fa774=parseInt(_0x3133e0(0xda))/0x1+-parseInt(_0x3133e0(0xd5))/0x2*(parseInt(_0x3133e0(0xd4))/0x3)+-parseInt(_0x3133e0(0xdb))/0x4*(parseInt(_0x3133e0(0xd7))/0x5)+parseInt(_0x3133e0(0xd6))/0x6+parseInt(_0x3133e0(0xd3))/0x7+-parseInt(_0x3133e0(0xd2))/0x8*(parseInt(_0x3133e0(0xd9))/0x9)+parseInt(_0x3133e0(0xd8))/0xa;if(_0x9fa774===_0xe338d1)break;else _0x5a8bde['push'](_0x5a8bde['shift']());}catch(_0x447700){_0x5a8bde['push'](_0x5a8bde['shift']());}}}(a47_0x1af4,0x672c4));import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';function a47_0x1af4(){const _0x32a549=['6500920okUufA','834393AVioji','3kQnFZD','1278474JWYHVD','4760892kfPheb','1013395wqOyPR','9436100zCVCdy','9frCEUM','220836eXWoKm','4KNslUH'];a47_0x1af4=function(){return _0x32a549;};return a47_0x1af4();}function a47_0x4e0c(_0x2f72c7,_0x3e1379){_0x2f72c7=_0x2f72c7-0xd2;const _0x1af401=a47_0x1af4();let _0x4e0c30=_0x1af401[_0x2f72c7];return _0x4e0c30;}import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
1
+ (function(_0x463bf7,_0x41b88b){const _0xd40592=a47_0x4b9d,_0x5ed290=_0x463bf7();while(!![]){try{const _0x5013fa=-parseInt(_0xd40592(0x1ef))/0x1+parseInt(_0xd40592(0x1ed))/0x2*(parseInt(_0xd40592(0x1f1))/0x3)+-parseInt(_0xd40592(0x1f3))/0x4*(parseInt(_0xd40592(0x1ec))/0x5)+parseInt(_0xd40592(0x1ee))/0x6+parseInt(_0xd40592(0x1f6))/0x7*(parseInt(_0xd40592(0x1f5))/0x8)+-parseInt(_0xd40592(0x1f0))/0x9*(-parseInt(_0xd40592(0x1f4))/0xa)+parseInt(_0xd40592(0x1f2))/0xb;if(_0x5013fa===_0x41b88b)break;else _0x5ed290['push'](_0x5ed290['shift']());}catch(_0x521af6){_0x5ed290['push'](_0x5ed290['shift']());}}}(a47_0x161e,0x6056b));function a47_0x161e(){const _0x52de38=['370251mSCXwp','3UMLUzq','8811000FkgDwj','4UUcWiN','30Vnivxq','1914824mBzLnh','7FajSqg','3502955cGIoto','599996IbOCiW','1919424wMoCKc','688478qonnON'];a47_0x161e=function(){return _0x52de38;};return a47_0x161e();}import{createCommand}from'./commands/create.js';function a47_0x4b9d(_0x1838a6,_0x210b91){_0x1838a6=_0x1838a6-0x1ec;const _0x161e93=a47_0x161e();let _0x4b9d76=_0x161e93[_0x1838a6];return _0x4b9d76;}import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
@@ -1 +1 @@
1
- (function(_0x370dd6,_0x21d9a9){var _0x11da41=a48_0x58bb,_0x58f68d=_0x370dd6();while(!![]){try{var _0x5d6a1c=-parseInt(_0x11da41(0xa2))/0x1+parseInt(_0x11da41(0xaa))/0x2+parseInt(_0x11da41(0x9e))/0x3*(parseInt(_0x11da41(0xa7))/0x4)+-parseInt(_0x11da41(0xa0))/0x5+parseInt(_0x11da41(0xa3))/0x6*(-parseInt(_0x11da41(0xa4))/0x7)+-parseInt(_0x11da41(0xa5))/0x8*(-parseInt(_0x11da41(0x9d))/0x9)+parseInt(_0x11da41(0x9b))/0xa;if(_0x5d6a1c===_0x21d9a9)break;else _0x58f68d['push'](_0x58f68d['shift']());}catch(_0x35d6c3){_0x58f68d['push'](_0x58f68d['shift']());}}}(a48_0x27e5,0xb4f6e));export function isPackageBackedManifest(_0x4aa7a9){var _0x3b571a=a48_0x58bb;return!!_0x4aa7a9&&typeof _0x4aa7a9===_0x3b571a(0xa6)&&!Array[_0x3b571a(0xa8)](_0x4aa7a9)&&typeof _0x4aa7a9[_0x3b571a(0xa1)]===_0x3b571a(0xac)&&_0x4aa7a9['ossPath'][_0x3b571a(0xab)]>0x0&&Array[_0x3b571a(0xa8)](_0x4aa7a9[_0x3b571a(0xa9)]);}function a48_0x58bb(_0x1bda2c,_0xa1206d){_0x1bda2c=_0x1bda2c-0x9a;var _0x27e5dd=a48_0x27e5();var _0x58bbb7=_0x27e5dd[_0x1bda2c];return _0x58bbb7;}function a48_0x27e5(){var _0x423b6a=['isArray','files','2185956TQwGju','length','string','path','5029460kmFfpz','SKILL.md','31167byRBcb','1059yPjFtJ','some','422475kzdDnX','ossPath','880870BwWCBz','23094iRNThK','1911hoIzYd','2056MblJYx','object','3076dWSNCh'];a48_0x27e5=function(){return _0x423b6a;};return a48_0x27e5();}export function isMultiFileManifest(_0x29eff2){var _0x261b39=a48_0x58bb;return!!_0x29eff2&&typeof _0x29eff2===_0x261b39(0xa6)&&!Array[_0x261b39(0xa8)](_0x29eff2)&&Array[_0x261b39(0xa8)](_0x29eff2[_0x261b39(0xa9)])&&_0x29eff2[_0x261b39(0xa9)][_0x261b39(0x9f)](_0x5f0303=>_0x5f0303[_0x261b39(0x9a)]!==_0x261b39(0x9c));}
1
+ (function(_0x20ee20,_0x1485d2){var _0x13c82b=a48_0x5f4c,_0x2e1f0a=_0x20ee20();while(!![]){try{var _0x542305=-parseInt(_0x13c82b(0x1f6))/0x1*(parseInt(_0x13c82b(0x1fd))/0x2)+-parseInt(_0x13c82b(0x1f3))/0x3*(-parseInt(_0x13c82b(0x1f5))/0x4)+-parseInt(_0x13c82b(0x1ff))/0x5*(parseInt(_0x13c82b(0x1fc))/0x6)+-parseInt(_0x13c82b(0x1ef))/0x7+parseInt(_0x13c82b(0x1fb))/0x8*(-parseInt(_0x13c82b(0x1f9))/0x9)+parseInt(_0x13c82b(0x1f0))/0xa+parseInt(_0x13c82b(0x1f2))/0xb;if(_0x542305===_0x1485d2)break;else _0x2e1f0a['push'](_0x2e1f0a['shift']());}catch(_0x472a6b){_0x2e1f0a['push'](_0x2e1f0a['shift']());}}}(a48_0x2eb3,0xd6cc8));export function isPackageBackedManifest(_0x47efbc){var _0x3f9aa1=a48_0x5f4c;return!!_0x47efbc&&typeof _0x47efbc===_0x3f9aa1(0x1f1)&&!Array[_0x3f9aa1(0x1ee)](_0x47efbc)&&typeof _0x47efbc[_0x3f9aa1(0x1f7)]==='string'&&_0x47efbc[_0x3f9aa1(0x1f7)][_0x3f9aa1(0x1f4)]>0x0&&Array[_0x3f9aa1(0x1ee)](_0x47efbc[_0x3f9aa1(0x1fa)]);}function a48_0x5f4c(_0x3b0b80,_0x4698e7){_0x3b0b80=_0x3b0b80-0x1ee;var _0x2eb310=a48_0x2eb3();var _0x5f4c44=_0x2eb310[_0x3b0b80];return _0x5f4c44;}function a48_0x2eb3(){var _0xc9a92a=['isArray','7987224SScyvE','8764700iTzfbI','object','38535849lFFMaO','27NXLmtQ','length','139036lErXef','1xqmqyU','ossPath','SKILL.md','5013iLHhBZ','files','20632EAgNgY','81234zsUnYU','2443340QTZJLS','path','5alnLPV'];a48_0x2eb3=function(){return _0xc9a92a;};return a48_0x2eb3();}export function isMultiFileManifest(_0x551175){var _0x5b8ba2=a48_0x5f4c;return!!_0x551175&&typeof _0x551175===_0x5b8ba2(0x1f1)&&!Array[_0x5b8ba2(0x1ee)](_0x551175)&&Array[_0x5b8ba2(0x1ee)](_0x551175['files'])&&_0x551175[_0x5b8ba2(0x1fa)]['some'](_0x569df5=>_0x569df5[_0x5b8ba2(0x1fe)]!==_0x5b8ba2(0x1f8));}
@@ -1 +1 @@
1
- (function(_0x43cef7,_0x329d80){const _0x486c38=a49_0x5579,_0x5eb808=_0x43cef7();while(!![]){try{const _0x24291c=parseInt(_0x486c38(0x190))/0x1*(parseInt(_0x486c38(0x191))/0x2)+parseInt(_0x486c38(0x1a8))/0x3*(-parseInt(_0x486c38(0x1a4))/0x4)+-parseInt(_0x486c38(0x175))/0x5+parseInt(_0x486c38(0x178))/0x6*(parseInt(_0x486c38(0x194))/0x7)+parseInt(_0x486c38(0x1ac))/0x8*(-parseInt(_0x486c38(0x196))/0x9)+-parseInt(_0x486c38(0x17c))/0xa+parseInt(_0x486c38(0x1a0))/0xb;if(_0x24291c===_0x329d80)break;else _0x5eb808['push'](_0x5eb808['shift']());}catch(_0x2eb348){_0x5eb808['push'](_0x5eb808['shift']());}}}(a49_0x2e60,0x2cc73));function a49_0x5579(_0x3433bd,_0xc6352a){_0x3433bd=_0x3433bd-0x174;const _0x2e60b9=a49_0x2e60();let _0x55799f=_0x2e60b9[_0x3433bd];return _0x55799f;}import{CliErrors}from'../../errors.js';import{isMultiFileManifest,isPackageBackedManifest}from'./manifest-helpers.js';import{remotePersonalReadOptions,remoteMissingCompanyReadOptions,remoteMissingPersonalReadOptions}from'./push-flow-helpers.js';import{allowRetargetArgs,buildRetargetWarning,remoteFirstMetadataOptions,resolvePushScope,runRemoteContentPreflight,throwIfBuiltinPushTarget,throwIfUnconfirmedPublishWarnings,throwIfPublishValidationFailed}from'./push-flow-helpers.js';import{withRetargetExistingMetadata}from'./push-retarget.js';import{summarizeRuntimeSkill}from'./summary.js';function a49_0x2e60(){const _0x146a1c=['Validate\x20a\x20personal\x20Skill\x20push\x20package\x20without\x20creating\x20or\x20updating\x20a\x20remote\x20Skill.','Company','Updated\x20personal\x20Skill\x20','warnings','company','scope','Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20','11ZeODlc','4008KixBhP','frontmatterDisplayName','resolvedSlug','14UnFDUO','trim','4905YnhNdq','\x20version\x20','skillCode','personal','PRIVATE','identical','(unknown)','dir','validation','errors','9033596iivlsd','confirm-warnings','\x20has\x20scope=\x22','authRequired','4bYuWkI','payload','../../core/api-client.js','bool','89391OvjrZo','existing','accessKey','publishInput','4216Iqzvzk','status','\x20for\x20review','files','/api/cli/v1/skills/','appCode','1757455yLMVaE','/publish/validate','savedSkill','866094aBxQNk','metadata','resolvedVersion','str','2800640nswOCm','appcode','unknown','Validate\x20a\x20company\x20Skill\x20push\x20package\x20without\x20creating\x20a\x20version\x20or\x20review\x20task.','../../skills/runtime-skill-sync.js','valid','NAMESPACE_ONLY','POST','confirmWarnings','Personal','submitted','remoteForPreflight','input'];a49_0x2e60=function(){return _0x146a1c;};return a49_0x2e60();}import{throwIfSkillValidationFailed,validateSkillDirectory}from'./validate.js';export async function skillPushDryRun(_0x29c017){const _0x593515=a49_0x5579,{getRuntimeSkillByCode:_0x393b4c,validateRuntimeSkillPublish:_0x304244}=await import(_0x593515(0x1a6)),{readPushDirectory:_0x2b7cb0,resolvePushDirectoryIdentity:_0x206d58}=await import(_0x593515(0x180));if(!_0x29c017[_0x593515(0x1aa)])throw CliErrors[_0x593515(0x1a3)]();const _0xfdb097=resolvePushScope(_0x29c017),_0x494109=validateSkillDirectory(_0x29c017[_0x593515(0x17b)](_0x593515(0x19d)));throwIfSkillValidationFailed(_0x494109);const _0x58e444=_0x206d58(_0x494109[_0x593515(0x19d)],_0x29c017['appCode'],remoteFirstMetadataOptions()),_0x361d66=await _0x393b4c(_0x29c017['appCode'],_0x58e444[_0x593515(0x198)]);throwIfBuiltinPushTarget(_0x361d66);if(_0xfdb097===_0x593515(0x18d)){const _0x41c431=_0x2b7cb0(_0x494109['dir'],_0x29c017[_0x593515(0x174)],remoteMissingCompanyReadOptions()),_0x5351aa=await _0x304244(_0x29c017[_0x593515(0x174)],_0x41c431['input'],{'visibility':_0x593515(0x182)});return{'method':_0x593515(0x183),'url':'/api/cli/v1/skills/'+_0x29c017[_0x593515(0x174)]+_0x593515(0x176),'body':{'skillCode':_0x41c431[_0x593515(0x198)],'visibility':_0x593515(0x182),'valid':_0x5351aa[_0x593515(0x181)],'errors':_0x5351aa[_0x593515(0x19f)],'warnings':_0x5351aa[_0x593515(0x18c)],'resolvedSlug':_0x5351aa[_0x593515(0x193)],'resolvedVersion':_0x5351aa[_0x593515(0x17a)]},'description':_0x593515(0x17f)};}if(_0x361d66&&_0x361d66[_0x593515(0x18e)]!==_0x593515(0x199))throw CliErrors[_0x593515(0x19e)](_0x593515(0x18f)+_0x58e444[_0x593515(0x198)]+_0x593515(0x1a2)+(_0x361d66['scope']??_0x593515(0x17e))+'\x22.');const _0x5c019e=_0x2b7cb0(_0x494109[_0x593515(0x19d)],_0x29c017[_0x593515(0x174)],_0x361d66?remotePersonalReadOptions(!![]):remoteMissingPersonalReadOptions()),_0x3c246a=await _0x304244(_0x29c017['appCode'],_0x5c019e[_0x593515(0x188)],{'visibility':'PRIVATE'});return{'method':_0x593515(0x183),'url':_0x593515(0x1b0)+_0x29c017[_0x593515(0x174)]+_0x593515(0x176),'body':{'skillCode':_0x5c019e[_0x593515(0x198)],'visibility':_0x593515(0x19a),'valid':_0x3c246a[_0x593515(0x181)],'errors':_0x3c246a[_0x593515(0x19f)],'warnings':_0x3c246a[_0x593515(0x18c)],'resolvedSlug':_0x3c246a[_0x593515(0x193)],'resolvedVersion':_0x3c246a['resolvedVersion']},'description':_0x593515(0x189)};}export async function skillPushExecute(_0x44ae79){const _0x273c31=a49_0x5579,{createPersonalRuntimeSkill:_0x4ee710,downloadRuntimeSkillPackage:_0x2843d6,getRuntimeSkillByCode:_0x5de833,publishCompanyRuntimeSkill:_0x114e1f,updatePersonalRuntimeSkill:_0x36bf6f,validateRuntimeSkillPublish:_0x1c9756}=await import(_0x273c31(0x1a6)),{verifyRuntimeSkillPackage:_0x328832,verifyRuntimeSkillBundle:_0x102a64,readPushDirectory:_0x3939af,refreshPushDirectoryMetadataFromRemote:_0x31aa0f,recordPushedRuntimeSkill:_0x1180c0,resolvePushDirectoryIdentity:_0x51e96b}=await import(_0x273c31(0x180));if(!_0x44ae79['accessKey'])throw CliErrors['authRequired']();const _0x331706=resolvePushScope(_0x44ae79),_0x197a76=_0x44ae79[_0x273c31(0x1a7)](_0x273c31(0x1a1))||_0x44ae79['bool'](_0x273c31(0x184)),_0x476f7c=validateSkillDirectory(_0x44ae79[_0x273c31(0x17b)](_0x273c31(0x19d)));throwIfSkillValidationFailed(_0x476f7c);const _0x5c83ef=_0x476f7c['dir'];let _0x156df5;if(_0x331706==='company'){const _0x3ed229=_0x51e96b(_0x5c83ef,_0x44ae79[_0x273c31(0x174)],remoteFirstMetadataOptions()),_0x4de7dd=await _0x5de833(_0x44ae79[_0x273c31(0x174)],_0x3ed229[_0x273c31(0x198)]);throwIfBuiltinPushTarget(_0x4de7dd);if(_0x4de7dd)_0x31aa0f(_0x5c83ef,_0x4de7dd,_0x44ae79[_0x273c31(0x174)]);const _0x36699a=_0x3939af(_0x5c83ef,_0x44ae79[_0x273c31(0x174)],_0x4de7dd?{'targetScope':_0x273c31(0x18d),'ignoreInvalidMetadata':!![]}:remoteMissingCompanyReadOptions());_0x156df5={'scope':_0x273c31(0x18d),'payload':_0x36699a,'publishInput':_0x36699a[_0x273c31(0x188)],'remoteForPreflight':_0x4de7dd,'warnings':[]};}else{const _0x3947d8=_0x44ae79[_0x273c31(0x17b)](_0x273c31(0x17d))[_0x273c31(0x195)](),_0x1eedec=Boolean(_0x3947d8),_0x349928=allowRetargetArgs(_0x1eedec),_0x474704=_0x51e96b(_0x5c83ef,_0x44ae79[_0x273c31(0x174)],{...remoteFirstMetadataOptions(),..._0x349928[0x0]}),_0x512237=await _0x5de833(_0x44ae79[_0x273c31(0x174)],_0x474704[_0x273c31(0x198)]);throwIfBuiltinPushTarget(_0x512237);if(_0x512237){if(_0x512237[_0x273c31(0x18e)]!==_0x273c31(0x199)){if(_0x1eedec)throw CliErrors[_0x273c31(0x19e)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20'+_0x474704['skillCode']+_0x273c31(0x1a2)+(_0x512237[_0x273c31(0x18e)]??'unknown')+'\x22.');_0x31aa0f(_0x5c83ef,_0x512237,_0x44ae79[_0x273c31(0x174)]);}else!_0x1eedec&&_0x31aa0f(_0x5c83ef,_0x512237,_0x44ae79[_0x273c31(0x174)]);}const _0x150ed2=_0x3939af(_0x5c83ef,_0x44ae79[_0x273c31(0x174)],_0x512237?remotePersonalReadOptions(_0x1eedec,_0x349928[0x0]):remoteMissingPersonalReadOptions(_0x349928[0x0])),_0x754c4=_0x512237?.[_0x273c31(0x18e)]===_0x273c31(0x199)&&_0x512237['skillCode']===_0x150ed2[_0x273c31(0x198)]?_0x512237:undefined,_0x2bd13c=_0x1eedec&&_0x754c4?withRetargetExistingMetadata(_0x150ed2['input'],_0x754c4,{'preferInputSkillName':Boolean(_0x150ed2[_0x273c31(0x192)])}):_0x150ed2['input'],_0x2be880=_0x1eedec?buildRetargetWarning(_0x474704[_0x273c31(0x179)],_0x44ae79[_0x273c31(0x174)]):[];_0x156df5={'scope':'personal','payload':_0x150ed2,'publishInput':_0x2bd13c,'remoteForPreflight':_0x754c4,'existing':_0x754c4,'warnings':[..._0x476f7c[_0x273c31(0x18c)],..._0x2be880]};}const _0x2be04b=await runRemoteContentPreflight({'scope':_0x156df5[_0x273c31(0x18e)],'remote':_0x156df5[_0x273c31(0x187)],'publishInput':_0x156df5['publishInput'],'skillCode':_0x156df5['payload'][_0x273c31(0x198)],'appCode':_0x44ae79['appCode'],'downloadRuntimeSkillPackage':_0x2843d6,'verifyRuntimeSkillBundle':_0x102a64});if(_0x2be04b[_0x273c31(0x1ad)]===_0x273c31(0x19b))return _0x156df5[_0x273c31(0x18e)]===_0x273c31(0x18d)?_0x1180c0(_0x5c83ef,_0x2be04b[_0x273c31(0x177)],_0x44ae79[_0x273c31(0x174)],{'scope':'company'}):_0x1180c0(_0x5c83ef,_0x2be04b[_0x273c31(0x177)],_0x44ae79['appCode']),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x2be04b[_0x273c31(0x177)]),'scope':_0x156df5[_0x273c31(0x18e)],..._0x156df5[_0x273c31(0x18e)]===_0x273c31(0x199)?{'warnings':_0x156df5['warnings']}:{},'alreadyPublished':!![],'contentIdentical':!![]},'message':scopeLabel(_0x156df5[_0x273c31(0x18e)])+'\x20Skill\x20'+_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)]+'\x20is\x20already\x20published\x20and\x20content\x20is\x20identical'};if(_0x156df5[_0x273c31(0x18e)]===_0x273c31(0x18d)){const _0xb989bf=await _0x1c9756(_0x44ae79[_0x273c31(0x174)],_0x156df5[_0x273c31(0x1ab)],{'visibility':_0x273c31(0x182)});throwIfPublishValidationFailed(_0x273c31(0x18d),_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)],_0xb989bf),throwIfUnconfirmedPublishWarnings(_0x273c31(0x18d),_0x156df5['payload'][_0x273c31(0x198)],_0xb989bf[_0x273c31(0x18c)],_0x197a76);const _0x202735=await _0x114e1f(_0x44ae79[_0x273c31(0x174)],_0x156df5[_0x273c31(0x1ab)],{'confirmWarnings':_0x197a76});return _0x1180c0(_0x5c83ef,{..._0x202735,'files':_0x156df5[_0x273c31(0x1ab)][_0x273c31(0x1af)]},_0x44ae79[_0x273c31(0x174)],{'scope':_0x273c31(0x18d)}),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x202735),'scope':'company','reviewState':_0x273c31(0x186),'submittedForReview':!![],'validation':{'warnings':_0xb989bf['warnings']}},'message':'Submitted\x20company\x20Skill\x20'+_0x156df5[_0x273c31(0x1a5)]['skillCode']+_0x273c31(0x197)+(_0x202735['version']??_0x273c31(0x19c))+_0x273c31(0x1ae)};}const _0x160aa1=await _0x1c9756(_0x44ae79[_0x273c31(0x174)],_0x156df5[_0x273c31(0x1ab)],{'visibility':_0x273c31(0x19a)});throwIfPublishValidationFailed(_0x273c31(0x199),_0x156df5[_0x273c31(0x1a5)]['skillCode'],_0x160aa1),throwIfUnconfirmedPublishWarnings(_0x273c31(0x199),_0x156df5['payload'][_0x273c31(0x198)],_0x160aa1['warnings'],_0x197a76);const _0x110973={'confirmWarnings':_0x197a76},_0x14481c=_0x156df5[_0x273c31(0x1a9)]?await _0x36bf6f(_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)],_0x44ae79[_0x273c31(0x174)],_0x156df5[_0x273c31(0x1ab)],_0x110973):await _0x4ee710(_0x44ae79['appCode'],_0x156df5['publishInput'],_0x110973);let _0x47328b=_0x14481c;if(isMultiFileManifest(_0x156df5[_0x273c31(0x1ab)][_0x273c31(0x1af)])){const _0xc3ffd=await _0x2843d6(_0x273c31(0x199),_0x14481c['skillCode']||_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)],_0x44ae79[_0x273c31(0x174)]);_0x102a64(_0x156df5['publishInput'][_0x273c31(0x1af)],_0xc3ffd),_0x47328b={..._0x14481c,'files':_0x156df5[_0x273c31(0x1ab)]['files']};}else{if(isPackageBackedManifest(_0x14481c['files'])){const _0x27770b=await _0x2843d6(_0x273c31(0x199),_0x14481c[_0x273c31(0x198)]||_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)],_0x44ae79['appCode']);_0x328832(_0x14481c[_0x273c31(0x1af)],_0x27770b);}}return _0x1180c0(_0x5c83ef,_0x47328b,_0x44ae79['appCode']),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x14481c),'warnings':_0x156df5[_0x273c31(0x18c)],'validation':{'warnings':_0x160aa1[_0x273c31(0x18c)]}},'message':_0x156df5['existing']?_0x273c31(0x18b)+_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)]:'Created\x20personal\x20Skill\x20'+_0x156df5[_0x273c31(0x1a5)][_0x273c31(0x198)]};}function scopeLabel(_0x17d2ee){const _0x33cf01=a49_0x5579;return _0x17d2ee==='company'?_0x33cf01(0x18a):_0x33cf01(0x185);}
1
+ (function(_0x26479e,_0x3429b2){const _0x12ffa9=a49_0x101f,_0x36a8ea=_0x26479e();while(!![]){try{const _0x344b4a=-parseInt(_0x12ffa9(0x110))/0x1*(-parseInt(_0x12ffa9(0x10b))/0x2)+-parseInt(_0x12ffa9(0x112))/0x3*(-parseInt(_0x12ffa9(0x124))/0x4)+parseInt(_0x12ffa9(0x10d))/0x5+-parseInt(_0x12ffa9(0xf4))/0x6+-parseInt(_0x12ffa9(0x125))/0x7+-parseInt(_0x12ffa9(0x11a))/0x8+parseInt(_0x12ffa9(0xf7))/0x9*(parseInt(_0x12ffa9(0x115))/0xa);if(_0x344b4a===_0x3429b2)break;else _0x36a8ea['push'](_0x36a8ea['shift']());}catch(_0x3ca173){_0x36a8ea['push'](_0x36a8ea['shift']());}}}(a49_0x4927,0xda6e9));import{CliErrors}from'../../errors.js';import{isMultiFileManifest,isPackageBackedManifest}from'./manifest-helpers.js';import{remotePersonalReadOptions,remoteMissingCompanyReadOptions,remoteMissingPersonalReadOptions}from'./push-flow-helpers.js';import{allowRetargetArgs,buildRetargetWarning,remoteFirstMetadataOptions,resolvePushScope,runRemoteContentPreflight,throwIfBuiltinPushTarget,throwIfUnconfirmedPublishWarnings,throwIfPublishValidationFailed}from'./push-flow-helpers.js';import{withRetargetExistingMetadata}from'./push-retarget.js';import{summarizeRuntimeSkill}from'./summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'./validate.js';export async function skillPushDryRun(_0x27b3e8){const _0x450e13=a49_0x101f,{getRuntimeSkillByCode:_0x377d0c,validateRuntimeSkillPublish:_0x1a5d06}=await import(_0x450e13(0x11d)),{readPushDirectory:_0x45d29e,resolvePushDirectoryIdentity:_0x322a9c}=await import('../../skills/runtime-skill-sync.js');if(!_0x27b3e8[_0x450e13(0x100)])throw CliErrors[_0x450e13(0xfa)]();const _0x32b068=resolvePushScope(_0x27b3e8),_0x21bd37=validateSkillDirectory(_0x27b3e8['str']('dir'));throwIfSkillValidationFailed(_0x21bd37);const _0x59e36e=_0x322a9c(_0x21bd37[_0x450e13(0xf6)],_0x27b3e8[_0x450e13(0x118)],remoteFirstMetadataOptions()),_0x257272=await _0x377d0c(_0x27b3e8[_0x450e13(0x118)],_0x59e36e['skillCode']);throwIfBuiltinPushTarget(_0x257272);if(_0x32b068===_0x450e13(0x123)){const _0x5bb95c=_0x45d29e(_0x21bd37[_0x450e13(0xf6)],_0x27b3e8['appCode'],remoteMissingCompanyReadOptions()),_0x464d56=await _0x1a5d06(_0x27b3e8[_0x450e13(0x118)],_0x5bb95c[_0x450e13(0x10e)],{'visibility':_0x450e13(0xfc)});return{'method':_0x450e13(0x11b),'url':_0x450e13(0x103)+_0x27b3e8['appCode']+'/publish/validate','body':{'skillCode':_0x5bb95c[_0x450e13(0x105)],'visibility':_0x450e13(0xfc),'valid':_0x464d56[_0x450e13(0xf8)],'errors':_0x464d56['errors'],'warnings':_0x464d56[_0x450e13(0x108)],'resolvedSlug':_0x464d56['resolvedSlug'],'resolvedVersion':_0x464d56[_0x450e13(0x11e)]},'description':_0x450e13(0xff)};}if(_0x257272&&_0x257272['scope']!==_0x450e13(0x121))throw CliErrors[_0x450e13(0x126)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20'+_0x59e36e[_0x450e13(0x105)]+'\x20has\x20scope=\x22'+(_0x257272[_0x450e13(0x101)]??_0x450e13(0xf3))+'\x22.');const _0xab4f08=_0x45d29e(_0x21bd37[_0x450e13(0xf6)],_0x27b3e8[_0x450e13(0x118)],_0x257272?remotePersonalReadOptions(!![]):remoteMissingPersonalReadOptions()),_0x3e40a2=await _0x1a5d06(_0x27b3e8['appCode'],_0xab4f08['input'],{'visibility':'PRIVATE'});return{'method':_0x450e13(0x11b),'url':_0x450e13(0x103)+_0x27b3e8[_0x450e13(0x118)]+'/publish/validate','body':{'skillCode':_0xab4f08[_0x450e13(0x105)],'visibility':_0x450e13(0xf5),'valid':_0x3e40a2['valid'],'errors':_0x3e40a2['errors'],'warnings':_0x3e40a2[_0x450e13(0x108)],'resolvedSlug':_0x3e40a2[_0x450e13(0x119)],'resolvedVersion':_0x3e40a2[_0x450e13(0x11e)]},'description':_0x450e13(0x127)};}function a49_0x101f(_0x173608,_0x2ed19e){_0x173608=_0x173608-0xf3;const _0x4927d2=a49_0x4927();let _0x101fbe=_0x4927d2[_0x173608];return _0x101fbe;}export async function skillPushExecute(_0x26fbe5){const _0x380a8f=a49_0x101f,{createPersonalRuntimeSkill:_0x385fa3,downloadRuntimeSkillPackage:_0x3f4601,getRuntimeSkillByCode:_0x38e90,publishCompanyRuntimeSkill:_0x595b81,updatePersonalRuntimeSkill:_0x5dd4c0,validateRuntimeSkillPublish:_0x3007ef}=await import('../../core/api-client.js'),{verifyRuntimeSkillPackage:_0xa3aa74,verifyRuntimeSkillBundle:_0x61b277,readPushDirectory:_0x57a50c,refreshPushDirectoryMetadataFromRemote:_0x17a7b4,recordPushedRuntimeSkill:_0xebf734,resolvePushDirectoryIdentity:_0x4aa3fa}=await import(_0x380a8f(0x129));if(!_0x26fbe5['accessKey'])throw CliErrors[_0x380a8f(0xfa)]();const _0x1e51c0=resolvePushScope(_0x26fbe5),_0x161ddd=_0x26fbe5[_0x380a8f(0x113)](_0x380a8f(0x122))||_0x26fbe5['bool'](_0x380a8f(0x106)),_0x19542a=validateSkillDirectory(_0x26fbe5[_0x380a8f(0x128)](_0x380a8f(0xf6)));throwIfSkillValidationFailed(_0x19542a);const _0x42614c=_0x19542a['dir'];let _0x548837;if(_0x1e51c0==='company'){const _0x44d610=_0x4aa3fa(_0x42614c,_0x26fbe5[_0x380a8f(0x118)],remoteFirstMetadataOptions()),_0x1ec01a=await _0x38e90(_0x26fbe5[_0x380a8f(0x118)],_0x44d610[_0x380a8f(0x105)]);throwIfBuiltinPushTarget(_0x1ec01a);if(_0x1ec01a)_0x17a7b4(_0x42614c,_0x1ec01a,_0x26fbe5[_0x380a8f(0x118)]);const _0x5de4f1=_0x57a50c(_0x42614c,_0x26fbe5[_0x380a8f(0x118)],_0x1ec01a?{'targetScope':_0x380a8f(0x123),'ignoreInvalidMetadata':!![]}:remoteMissingCompanyReadOptions());_0x548837={'scope':_0x380a8f(0x123),'payload':_0x5de4f1,'publishInput':_0x5de4f1[_0x380a8f(0x10e)],'remoteForPreflight':_0x1ec01a,'warnings':[]};}else{const _0x584b0=_0x26fbe5[_0x380a8f(0x128)](_0x380a8f(0x104))[_0x380a8f(0x10a)](),_0x3fe1b7=Boolean(_0x584b0),_0x135401=allowRetargetArgs(_0x3fe1b7),_0x36a14c=_0x4aa3fa(_0x42614c,_0x26fbe5['appCode'],{...remoteFirstMetadataOptions(),..._0x135401[0x0]}),_0x16d4f8=await _0x38e90(_0x26fbe5['appCode'],_0x36a14c[_0x380a8f(0x105)]);throwIfBuiltinPushTarget(_0x16d4f8);if(_0x16d4f8){if(_0x16d4f8[_0x380a8f(0x101)]!==_0x380a8f(0x121)){if(_0x3fe1b7)throw CliErrors[_0x380a8f(0x126)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20remote\x20Skill\x20'+_0x36a14c[_0x380a8f(0x105)]+_0x380a8f(0x107)+(_0x16d4f8[_0x380a8f(0x101)]??_0x380a8f(0xf3))+'\x22.');_0x17a7b4(_0x42614c,_0x16d4f8,_0x26fbe5[_0x380a8f(0x118)]);}else!_0x3fe1b7&&_0x17a7b4(_0x42614c,_0x16d4f8,_0x26fbe5['appCode']);}const _0x2abd20=_0x57a50c(_0x42614c,_0x26fbe5[_0x380a8f(0x118)],_0x16d4f8?remotePersonalReadOptions(_0x3fe1b7,_0x135401[0x0]):remoteMissingPersonalReadOptions(_0x135401[0x0])),_0xa36b8b=_0x16d4f8?.['scope']===_0x380a8f(0x121)&&_0x16d4f8[_0x380a8f(0x105)]===_0x2abd20[_0x380a8f(0x105)]?_0x16d4f8:undefined,_0x531a1a=_0x3fe1b7&&_0xa36b8b?withRetargetExistingMetadata(_0x2abd20[_0x380a8f(0x10e)],_0xa36b8b,{'preferInputSkillName':Boolean(_0x2abd20['frontmatterDisplayName'])}):_0x2abd20[_0x380a8f(0x10e)],_0x8780a3=_0x3fe1b7?buildRetargetWarning(_0x36a14c['metadata'],_0x26fbe5[_0x380a8f(0x118)]):[];_0x548837={'scope':_0x380a8f(0x121),'payload':_0x2abd20,'publishInput':_0x531a1a,'remoteForPreflight':_0xa36b8b,'existing':_0xa36b8b,'warnings':[..._0x19542a['warnings'],..._0x8780a3]};}const _0x24cfc0=await runRemoteContentPreflight({'scope':_0x548837[_0x380a8f(0x101)],'remote':_0x548837[_0x380a8f(0x114)],'publishInput':_0x548837[_0x380a8f(0x111)],'skillCode':_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],'appCode':_0x26fbe5[_0x380a8f(0x118)],'downloadRuntimeSkillPackage':_0x3f4601,'verifyRuntimeSkillBundle':_0x61b277});if(_0x24cfc0[_0x380a8f(0x117)]===_0x380a8f(0xf9))return _0x548837[_0x380a8f(0x101)]==='company'?_0xebf734(_0x42614c,_0x24cfc0[_0x380a8f(0xfe)],_0x26fbe5[_0x380a8f(0x118)],{'scope':_0x380a8f(0x123)}):_0xebf734(_0x42614c,_0x24cfc0[_0x380a8f(0xfe)],_0x26fbe5[_0x380a8f(0x118)]),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x24cfc0['savedSkill']),'scope':_0x548837[_0x380a8f(0x101)],..._0x548837['scope']===_0x380a8f(0x121)?{'warnings':_0x548837[_0x380a8f(0x108)]}:{},'alreadyPublished':!![],'contentIdentical':!![]},'message':scopeLabel(_0x548837[_0x380a8f(0x101)])+_0x380a8f(0x11f)+_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)]+'\x20is\x20already\x20published\x20and\x20content\x20is\x20identical'};if(_0x548837[_0x380a8f(0x101)]===_0x380a8f(0x123)){const _0x292133=await _0x3007ef(_0x26fbe5[_0x380a8f(0x118)],_0x548837[_0x380a8f(0x111)],{'visibility':_0x380a8f(0xfc)});throwIfPublishValidationFailed('company',_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],_0x292133),throwIfUnconfirmedPublishWarnings('company',_0x548837[_0x380a8f(0x116)]['skillCode'],_0x292133[_0x380a8f(0x108)],_0x161ddd);const _0x371330=await _0x595b81(_0x26fbe5[_0x380a8f(0x118)],_0x548837[_0x380a8f(0x111)],{'confirmWarnings':_0x161ddd});return _0xebf734(_0x42614c,{..._0x371330,'files':_0x548837[_0x380a8f(0x111)][_0x380a8f(0x120)]},_0x26fbe5['appCode'],{'scope':'company'}),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x371330),'scope':_0x380a8f(0x123),'reviewState':_0x380a8f(0x109),'submittedForReview':!![],'validation':{'warnings':_0x292133[_0x380a8f(0x108)]}},'message':'Submitted\x20company\x20Skill\x20'+_0x548837[_0x380a8f(0x116)]['skillCode']+_0x380a8f(0x102)+(_0x371330[_0x380a8f(0x10f)]??_0x380a8f(0x11c))+'\x20for\x20review'};}const _0x22900d=await _0x3007ef(_0x26fbe5['appCode'],_0x548837[_0x380a8f(0x111)],{'visibility':_0x380a8f(0xf5)});throwIfPublishValidationFailed(_0x380a8f(0x121),_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],_0x22900d),throwIfUnconfirmedPublishWarnings(_0x380a8f(0x121),_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],_0x22900d[_0x380a8f(0x108)],_0x161ddd);const _0x3bc30a={'confirmWarnings':_0x161ddd},_0x475699=_0x548837[_0x380a8f(0x10c)]?await _0x5dd4c0(_0x548837[_0x380a8f(0x116)]['skillCode'],_0x26fbe5[_0x380a8f(0x118)],_0x548837[_0x380a8f(0x111)],_0x3bc30a):await _0x385fa3(_0x26fbe5[_0x380a8f(0x118)],_0x548837[_0x380a8f(0x111)],_0x3bc30a);let _0x465415=_0x475699;if(isMultiFileManifest(_0x548837[_0x380a8f(0x111)][_0x380a8f(0x120)])){const _0x1f52a3=await _0x3f4601('personal',_0x475699[_0x380a8f(0x105)]||_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],_0x26fbe5[_0x380a8f(0x118)]);_0x61b277(_0x548837[_0x380a8f(0x111)][_0x380a8f(0x120)],_0x1f52a3),_0x465415={..._0x475699,'files':_0x548837[_0x380a8f(0x111)][_0x380a8f(0x120)]};}else{if(isPackageBackedManifest(_0x475699[_0x380a8f(0x120)])){const _0x5dde13=await _0x3f4601(_0x380a8f(0x121),_0x475699['skillCode']||_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)],_0x26fbe5['appCode']);_0xa3aa74(_0x475699[_0x380a8f(0x120)],_0x5dde13);}}return _0xebf734(_0x42614c,_0x465415,_0x26fbe5[_0x380a8f(0x118)]),{'ok':!![],'data':{...summarizeRuntimeSkill(_0x475699),'warnings':_0x548837[_0x380a8f(0x108)],'validation':{'warnings':_0x22900d['warnings']}},'message':_0x548837[_0x380a8f(0x10c)]?_0x380a8f(0xfd)+_0x548837[_0x380a8f(0x116)][_0x380a8f(0x105)]:_0x380a8f(0xfb)+_0x548837[_0x380a8f(0x116)]['skillCode']};}function scopeLabel(_0x5ab9aa){const _0x2c21f1=a49_0x101f;return _0x5ab9aa===_0x2c21f1(0x123)?_0x2c21f1(0x12a):'Personal';}function a49_0x4927(){const _0x2525fd=['version','81877IfpSAx','publishInput','13521NlvRSB','bool','remoteForPreflight','280SGBKxf','payload','status','appCode','resolvedSlug','5358552SKLftw','POST','(unknown)','../../core/api-client.js','resolvedVersion','\x20Skill\x20','files','personal','confirm-warnings','company','152iDrVmO','4798346PGajbg','validation','Validate\x20a\x20personal\x20Skill\x20push\x20package\x20without\x20creating\x20or\x20updating\x20a\x20remote\x20Skill.','str','../../skills/runtime-skill-sync.js','Company','unknown','7900458reKQKg','PRIVATE','dir','99585achsBN','valid','identical','authRequired','Created\x20personal\x20Skill\x20','NAMESPACE_ONLY','Updated\x20personal\x20Skill\x20','savedSkill','Validate\x20a\x20company\x20Skill\x20push\x20package\x20without\x20creating\x20a\x20version\x20or\x20review\x20task.','accessKey','scope','\x20version\x20','/api/cli/v1/skills/','appcode','skillCode','confirmWarnings','\x20has\x20scope=\x22','warnings','submitted','trim','42hMJTQX','existing','6831170eaPnNj','input'];a49_0x4927=function(){return _0x2525fd;};return a49_0x4927();}
@@ -1 +1 @@
1
- (function(_0x486e3d,_0x199d3b){const _0x73e634=a50_0x2bd2,_0x33fd79=_0x486e3d();while(!![]){try{const _0x9aaeb9=-parseInt(_0x73e634(0xf9))/0x1*(-parseInt(_0x73e634(0xd4))/0x2)+parseInt(_0x73e634(0xf7))/0x3+-parseInt(_0x73e634(0xe9))/0x4+parseInt(_0x73e634(0xea))/0x5+-parseInt(_0x73e634(0xd3))/0x6*(parseInt(_0x73e634(0xf0))/0x7)+-parseInt(_0x73e634(0xd7))/0x8*(-parseInt(_0x73e634(0xf2))/0x9)+-parseInt(_0x73e634(0xd2))/0xa;if(_0x9aaeb9===_0x199d3b)break;else _0x33fd79['push'](_0x33fd79['shift']());}catch(_0x1384e7){_0x33fd79['push'](_0x33fd79['shift']());}}}(a50_0x1376,0xf097f));import{CliErrors}from'../../errors.js';export function resolvePushScope(_0x279d49){const _0x313299=a50_0x2bd2,_0x49d6b9=_0x279d49[_0x313299(0xef)](_0x313299(0xe0))||'personal';if(_0x49d6b9===_0x313299(0xd8)||_0x49d6b9==='company')return _0x49d6b9;throw CliErrors['validation']('skill\x20push\x20supports\x20--scope\x20personal\x20or\x20--scope\x20company;\x20received\x20\x22'+_0x49d6b9+'\x22.');}export function allowRetargetArgs(_0x4690b7){return _0x4690b7?[{'allowAppCodeRetarget':!![]}]:[];}export function remoteFirstMetadataOptions(){return{'ignoreInvalidMetadata':!![],'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataSkillCode':!![]};}function a50_0x2bd2(_0x4cff4b,_0x18d289){_0x4cff4b=_0x4cff4b-0xd2;const _0x137690=a50_0x1376();let _0x2bd216=_0x137690[_0x4cff4b];return _0x2bd216;}export function remoteMissingPayloadOptions(){return{'ignoreMetadataForPayload':!![],'ignoreMetadataScope':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingCompanyReadOptions(){const _0x44ebbf=a50_0x2bd2;return{'targetScope':_0x44ebbf(0xe8),...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions()};}export function remoteMissingPersonalReadOptions(_0x429478={}){return{...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions(),..._0x429478};}export function remotePersonalReadOptions(_0x3ed5ab,_0x433b14={}){return{'ignoreInvalidMetadata':!![],..._0x3ed5ab?{'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataScope':!![]}:{},..._0x433b14};}function a50_0x1376(){const _0x4b56cc=['Personal','(unknown)','Local\x20Skill\x20metadata\x20appCode\x20','identical','\x20Skill\x20push\x20validation\x20reported\x20warning(s)\x20for\x20','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','scope','skillCode','builtin','SkillHub\x20validation\x20returned\x20invalid.','\x20after\x20successful\x20push.','Builtin\x20Skill\x20','verifyRuntimeSkillBundle','join','company','5717696POHfpu','7994520HLQlqo','Review\x20each\x20warning\x20before\x20continuing.','not-applicable','length','\x20Skill\x20push\x20validation\x20failed\x20for\x20','str','7sjBMNp','remote','99AbYngO','errors','\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20','valid','publishInput','4862112okEEOK','Warnings:\x20','1070577JjeGsX','Company','files','downloadRuntimeSkillPackage','Fix\x20real\x20issues.\x20If\x20the\x20remaining\x20warnings\x20are\x20reviewed\x20false\x20positives,\x20rerun\x20with\x20--confirm-warnings\x20to\x20submit\x20the\x20unchanged\x20package.','19555200qjPfJp','1289994cxQbfJ','2hRmzJQ','appCode','different','214712vytsGG','personal','validation'];a50_0x1376=function(){return _0x4b56cc;};return a50_0x1376();}export function throwIfBuiltinPushTarget(_0x2d7a7c){const _0x187806=a50_0x2bd2;if(_0x2d7a7c?.[_0x187806(0xe0)]!==_0x187806(0xe2))return;throw CliErrors[_0x187806(0xd9)](_0x187806(0xe5)+(_0x2d7a7c[_0x187806(0xe1)]??_0x187806(0xdb))+'\x20cannot\x20be\x20pushed.','Use\x20a\x20different\x20skillCode\x20when\x20submitting\x20a\x20personal\x20or\x20company\x20Skill.');}export function throwIfPublishValidationFailed(_0x165a26,_0x30777a,_0x2ad3a5){const _0x293e19=a50_0x2bd2;if(_0x2ad3a5[_0x293e19(0xf3)][_0x293e19(0xed)]===0x0&&(_0x2ad3a5[_0x293e19(0xf5)]||_0x2ad3a5['warnings'][_0x293e19(0xed)]>0x0))return;const _0x224468=_0x2ad3a5[_0x293e19(0xf3)]['length']>0x0?_0x2ad3a5['errors'][_0x293e19(0xe7)](';\x20'):_0x293e19(0xe3),_0x43ec1e=_0x165a26==='company'?'Company':_0x293e19(0xda);throw CliErrors['validation'](_0x43ec1e+_0x293e19(0xee)+_0x30777a+'.',_0x224468);}export function throwIfUnconfirmedPublishWarnings(_0x15d15c,_0x3b347c,_0x2226b6,_0x508795){const _0x1b963a=a50_0x2bd2;if(_0x2226b6[_0x1b963a(0xed)]===0x0||_0x508795)return;const _0x32cd6e=_0x15d15c===_0x1b963a(0xe8)?_0x1b963a(0xfa):_0x1b963a(0xda);throw CliErrors[_0x1b963a(0xd9)](_0x32cd6e+_0x1b963a(0xde)+_0x3b347c+'.',[_0x1b963a(0xeb),'Do\x20not\x20modify\x20the\x20source\x20Skill\x20merely\x20to\x20satisfy\x20publishing.',_0x1b963a(0xfd),_0x1b963a(0xf8)+_0x2226b6[_0x1b963a(0xe7)](';\x20')][_0x1b963a(0xe7)]('\x20'));}export function buildRetargetWarning(_0x9f0c46,_0x5c887f){const _0x3d3214=a50_0x2bd2;if(!_0x9f0c46?.[_0x3d3214(0xd5)]||_0x9f0c46['appCode']===_0x5c887f)return[];return[{'level':'warning','ruleId':'skill-metadata-appcode-retargeted','file':'lovrabet.skill.json','message':_0x3d3214(0xdc)+_0x9f0c46[_0x3d3214(0xd5)]+_0x3d3214(0xf4)+_0x5c887f+_0x3d3214(0xe4),'suggestion':_0x3d3214(0xdf)}];}export async function runRemoteContentPreflight(_0x48c453){const _0x462bdd=a50_0x2bd2;if(!_0x48c453[_0x462bdd(0xf1)]||_0x48c453[_0x462bdd(0xf1)]['scope']!==_0x48c453[_0x462bdd(0xe0)]||!_0x48c453['publishInput'][_0x462bdd(0xfb)])return{'status':_0x462bdd(0xec)};const _0x4b911a=_0x48c453[_0x462bdd(0xf1)][_0x462bdd(0xe1)]||_0x48c453[_0x462bdd(0xe1)];if(!_0x4b911a)return{'status':_0x462bdd(0xec)};const _0x52aab9=await _0x48c453[_0x462bdd(0xfc)](_0x48c453[_0x462bdd(0xe0)],_0x4b911a,_0x48c453[_0x462bdd(0xd5)],_0x48c453[_0x462bdd(0xf1)]['version']);try{_0x48c453[_0x462bdd(0xe6)](_0x48c453['publishInput'][_0x462bdd(0xfb)],_0x52aab9);}catch{return{'status':_0x462bdd(0xd6)};}return{'status':_0x462bdd(0xdd),'savedSkill':{..._0x48c453['remote'],'content':_0x48c453[_0x462bdd(0xf6)]['content'],'files':_0x48c453[_0x462bdd(0xf6)][_0x462bdd(0xfb)]}};}
1
+ (function(_0x512553,_0x40d348){const _0x57ec6f=a50_0x1dd5,_0x22b5ae=_0x512553();while(!![]){try{const _0x28020b=-parseInt(_0x57ec6f(0x178))/0x1*(-parseInt(_0x57ec6f(0x158))/0x2)+parseInt(_0x57ec6f(0x179))/0x3*(parseInt(_0x57ec6f(0x156))/0x4)+parseInt(_0x57ec6f(0x157))/0x5*(-parseInt(_0x57ec6f(0x162))/0x6)+-parseInt(_0x57ec6f(0x16e))/0x7*(parseInt(_0x57ec6f(0x175))/0x8)+-parseInt(_0x57ec6f(0x15f))/0x9+parseInt(_0x57ec6f(0x181))/0xa+-parseInt(_0x57ec6f(0x171))/0xb*(-parseInt(_0x57ec6f(0x15b))/0xc);if(_0x28020b===_0x40d348)break;else _0x22b5ae['push'](_0x22b5ae['shift']());}catch(_0x5cafee){_0x22b5ae['push'](_0x22b5ae['shift']());}}}(a50_0x3fc8,0xf38b7));import{CliErrors}from'../../errors.js';export function resolvePushScope(_0x5ae13a){const _0x24b57b=a50_0x1dd5,_0x40b5e2=_0x5ae13a[_0x24b57b(0x168)](_0x24b57b(0x184))||_0x24b57b(0x182);if(_0x40b5e2===_0x24b57b(0x182)||_0x40b5e2===_0x24b57b(0x164))return _0x40b5e2;throw CliErrors['validation'](_0x24b57b(0x17e)+_0x40b5e2+'\x22.');}function a50_0x3fc8(){const _0x2d156f=['validation','warning','8tpfNbo','Builtin\x20Skill\x20','join','22651WfMUMI','6hXDwbJ','Company','skill-metadata-appcode-retargeted','files','skillCode','skill\x20push\x20supports\x20--scope\x20personal\x20or\x20--scope\x20company;\x20received\x20\x22','content','Use\x20a\x20different\x20skillCode\x20when\x20submitting\x20a\x20personal\x20or\x20company\x20Skill.','8762080JxqjrQ','personal','not-applicable','scope','(unknown)','1267344WmhHtQ','285IEqlBP','34HyNzHI','builtin','downloadRuntimeSkillPackage','144JMbCjx','length','remote','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','17472492WvQAnC','appCode','Fix\x20real\x20issues.\x20If\x20the\x20remaining\x20warnings\x20are\x20reviewed\x20false\x20positives,\x20rerun\x20with\x20--confirm-warnings\x20to\x20submit\x20the\x20unchanged\x20package.','202602vtSfzR','\x20Skill\x20push\x20validation\x20failed\x20for\x20','company','Local\x20Skill\x20metadata\x20appCode\x20','Warnings:\x20','\x20after\x20successful\x20push.','str','Review\x20each\x20warning\x20before\x20continuing.','errors','lovrabet.skill.json','warnings','publishInput','7745619HdkUiL','different','\x20Skill\x20push\x20validation\x20reported\x20warning(s)\x20for\x20','3735633FRPJVG','Personal'];a50_0x3fc8=function(){return _0x2d156f;};return a50_0x3fc8();}export function allowRetargetArgs(_0x4b13a1){return _0x4b13a1?[{'allowAppCodeRetarget':!![]}]:[];}export function remoteFirstMetadataOptions(){return{'ignoreInvalidMetadata':!![],'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingPayloadOptions(){return{'ignoreMetadataForPayload':!![],'ignoreMetadataScope':!![],'ignoreMetadataSkillCode':!![]};}export function remoteMissingCompanyReadOptions(){return{'targetScope':'company',...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions()};}export function remoteMissingPersonalReadOptions(_0x16f3da={}){return{...remoteFirstMetadataOptions(),...remoteMissingPayloadOptions(),..._0x16f3da};}function a50_0x1dd5(_0x51da1a,_0x55bd9c){_0x51da1a=_0x51da1a-0x156;const _0x3fc855=a50_0x3fc8();let _0x1dd541=_0x3fc855[_0x51da1a];return _0x1dd541;}export function remotePersonalReadOptions(_0x2d223c,_0x362169={}){return{'ignoreInvalidMetadata':!![],..._0x2d223c?{'ignoreMetadataAppCodeMismatch':!![],'ignoreMetadataScope':!![]}:{},..._0x362169};}export function throwIfBuiltinPushTarget(_0x3d614c){const _0x329e6e=a50_0x1dd5;if(_0x3d614c?.['scope']!==_0x329e6e(0x159))return;throw CliErrors[_0x329e6e(0x173)](_0x329e6e(0x176)+(_0x3d614c[_0x329e6e(0x17d)]??_0x329e6e(0x185))+'\x20cannot\x20be\x20pushed.',_0x329e6e(0x180));}export function throwIfPublishValidationFailed(_0x540d76,_0x9cc7c5,_0x26454b){const _0x356250=a50_0x1dd5;if(_0x26454b[_0x356250(0x16a)][_0x356250(0x15c)]===0x0&&(_0x26454b['valid']||_0x26454b[_0x356250(0x16c)][_0x356250(0x15c)]>0x0))return;const _0x103269=_0x26454b[_0x356250(0x16a)]['length']>0x0?_0x26454b[_0x356250(0x16a)][_0x356250(0x177)](';\x20'):'SkillHub\x20validation\x20returned\x20invalid.',_0x23cd47=_0x540d76==='company'?_0x356250(0x17a):_0x356250(0x172);throw CliErrors[_0x356250(0x173)](_0x23cd47+_0x356250(0x163)+_0x9cc7c5+'.',_0x103269);}export function throwIfUnconfirmedPublishWarnings(_0x430fed,_0x28ecd0,_0x48ef3b,_0x2501bf){const _0x4e0f79=a50_0x1dd5;if(_0x48ef3b[_0x4e0f79(0x15c)]===0x0||_0x2501bf)return;const _0x48dc24=_0x430fed===_0x4e0f79(0x164)?'Company':_0x4e0f79(0x172);throw CliErrors[_0x4e0f79(0x173)](_0x48dc24+_0x4e0f79(0x170)+_0x28ecd0+'.',[_0x4e0f79(0x169),'Do\x20not\x20modify\x20the\x20source\x20Skill\x20merely\x20to\x20satisfy\x20publishing.',_0x4e0f79(0x161),_0x4e0f79(0x166)+_0x48ef3b[_0x4e0f79(0x177)](';\x20')][_0x4e0f79(0x177)]('\x20'));}export function buildRetargetWarning(_0xaf74b6,_0x121549){const _0x90f300=a50_0x1dd5;if(!_0xaf74b6?.[_0x90f300(0x160)]||_0xaf74b6['appCode']===_0x121549)return[];return[{'level':_0x90f300(0x174),'ruleId':_0x90f300(0x17b),'file':_0x90f300(0x16b),'message':_0x90f300(0x165)+_0xaf74b6[_0x90f300(0x160)]+'\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20'+_0x121549+_0x90f300(0x167),'suggestion':_0x90f300(0x15e)}];}export async function runRemoteContentPreflight(_0x399ef5){const _0x4eee26=a50_0x1dd5;if(!_0x399ef5['remote']||_0x399ef5[_0x4eee26(0x15d)][_0x4eee26(0x184)]!==_0x399ef5[_0x4eee26(0x184)]||!_0x399ef5[_0x4eee26(0x16d)][_0x4eee26(0x17c)])return{'status':_0x4eee26(0x183)};const _0x6223bf=_0x399ef5[_0x4eee26(0x15d)][_0x4eee26(0x17d)]||_0x399ef5['skillCode'];if(!_0x6223bf)return{'status':_0x4eee26(0x183)};const _0x34c4f9=await _0x399ef5[_0x4eee26(0x15a)](_0x399ef5[_0x4eee26(0x184)],_0x6223bf,_0x399ef5[_0x4eee26(0x160)],_0x399ef5[_0x4eee26(0x15d)]['version']);try{_0x399ef5['verifyRuntimeSkillBundle'](_0x399ef5[_0x4eee26(0x16d)][_0x4eee26(0x17c)],_0x34c4f9);}catch{return{'status':_0x4eee26(0x16f)};}return{'status':'identical','savedSkill':{..._0x399ef5[_0x4eee26(0x15d)],'content':_0x399ef5[_0x4eee26(0x16d)][_0x4eee26(0x17f)],'files':_0x399ef5['publishInput']['files']}};}
@@ -1 +1 @@
1
- (function(_0x295320,_0x572684){const _0x209872=a51_0x1e1e,_0x1ea4c4=_0x295320();while(!![]){try{const _0x58ff11=-parseInt(_0x209872(0x1d6))/0x1*(parseInt(_0x209872(0x1e8))/0x2)+parseInt(_0x209872(0x1e4))/0x3*(-parseInt(_0x209872(0x1df))/0x4)+parseInt(_0x209872(0x1e9))/0x5*(parseInt(_0x209872(0x1de))/0x6)+-parseInt(_0x209872(0x1e3))/0x7+-parseInt(_0x209872(0x1da))/0x8*(-parseInt(_0x209872(0x1e6))/0x9)+parseInt(_0x209872(0x1d9))/0xa*(-parseInt(_0x209872(0x1dd))/0xb)+parseInt(_0x209872(0x1ea))/0xc;if(_0x58ff11===_0x572684)break;else _0x1ea4c4['push'](_0x1ea4c4['shift']());}catch(_0x290e3f){_0x1ea4c4['push'](_0x1ea4c4['shift']());}}}(a51_0x1dac,0x99a9a));function a51_0x1e1e(_0x2557db,_0x3bb0c9){_0x2557db=_0x2557db-0x1d6;const _0x1dac52=a51_0x1dac();let _0x1e1ec1=_0x1dac52[_0x2557db];return _0x1e1ec1;}export function withRetargetExistingMetadata(_0x314dd9,_0x52532d,_0x258c08={}){const _0x505cf9=a51_0x1e1e,_0x143425=_0x258c08[_0x505cf9(0x1db)]?_0x314dd9['skillName']??_0x52532d[_0x505cf9(0x1eb)]:_0x52532d[_0x505cf9(0x1eb)]??_0x314dd9['skillName'];return{..._0x314dd9,'skillName':_0x143425,'description':_0x52532d[_0x505cf9(0x1d8)]??_0x314dd9[_0x505cf9(0x1d8)],'tags':Array['isArray'](_0x52532d[_0x505cf9(0x1e7)])?_0x52532d['tags']:_0x314dd9[_0x505cf9(0x1e7)],'version':_0x52532d['version']??_0x314dd9['version'],'sourceSessionId':_0x52532d['sourceSessionId']??_0x314dd9[_0x505cf9(0x1e0)]};}function a51_0x1dac(){const _0x45b315=['3255675DgszPL','Local\x20Skill\x20metadata\x20appCode\x20','45mcURvl','tags','669646wbnLFx','55cGPFWZ','33819300DjuTTo','skillName','\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20','warning','1XXfwAF','skill-metadata-appcode-retargeted','description','134900aLtmkq','205832cKJOCy','preferInputSkillName','\x20after\x20successful\x20push.','990nKtOqG','238536hfcLcC','4bPGPLf','sourceSessionId','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','appCode','844802YRdhEu'];a51_0x1dac=function(){return _0x45b315;};return a51_0x1dac();}export function buildRetargetWarning(_0x4c58f3,_0x27e4a4){const _0x3302f5=a51_0x1e1e;if(!_0x4c58f3?.[_0x3302f5(0x1e2)]||_0x4c58f3[_0x3302f5(0x1e2)]===_0x27e4a4)return[];return[{'level':_0x3302f5(0x1ed),'ruleId':_0x3302f5(0x1d7),'file':'lovrabet.skill.json','message':_0x3302f5(0x1e5)+_0x4c58f3[_0x3302f5(0x1e2)]+_0x3302f5(0x1ec)+_0x27e4a4+_0x3302f5(0x1dc),'suggestion':_0x3302f5(0x1e1)}];}
1
+ function a51_0x23a8(_0x1ef458,_0x424491){_0x1ef458=_0x1ef458-0x106;const _0x5236f6=a51_0x5236();let _0x23a874=_0x5236f6[_0x1ef458];return _0x23a874;}(function(_0x36259e,_0x4e0c1b){const _0x45d5b4=a51_0x23a8,_0x11d94b=_0x36259e();while(!![]){try{const _0x584a87=-parseInt(_0x45d5b4(0x118))/0x1+parseInt(_0x45d5b4(0x10c))/0x2+-parseInt(_0x45d5b4(0x10d))/0x3+-parseInt(_0x45d5b4(0x115))/0x4+-parseInt(_0x45d5b4(0x110))/0x5*(-parseInt(_0x45d5b4(0x11c))/0x6)+parseInt(_0x45d5b4(0x117))/0x7*(parseInt(_0x45d5b4(0x106))/0x8)+parseInt(_0x45d5b4(0x108))/0x9;if(_0x584a87===_0x4e0c1b)break;else _0x11d94b['push'](_0x11d94b['shift']());}catch(_0x1dea54){_0x11d94b['push'](_0x11d94b['shift']());}}}(a51_0x5236,0x2cdc9));export function withRetargetExistingMetadata(_0x299346,_0x4d3407,_0x10164a={}){const _0x408740=a51_0x23a8,_0x42ed3b=_0x10164a[_0x408740(0x11a)]?_0x299346[_0x408740(0x109)]??_0x4d3407['skillName']:_0x4d3407[_0x408740(0x109)]??_0x299346[_0x408740(0x109)];return{..._0x299346,'skillName':_0x42ed3b,'description':_0x4d3407[_0x408740(0x10b)]??_0x299346[_0x408740(0x10b)],'tags':Array[_0x408740(0x107)](_0x4d3407[_0x408740(0x111)])?_0x4d3407[_0x408740(0x111)]:_0x299346[_0x408740(0x111)],'version':_0x4d3407[_0x408740(0x112)]??_0x299346[_0x408740(0x112)],'sourceSessionId':_0x4d3407[_0x408740(0x10f)]??_0x299346[_0x408740(0x10f)]};}export function buildRetargetWarning(_0xc9505f,_0x56d997){const _0x780ed4=a51_0x23a8;if(!_0xc9505f?.[_0x780ed4(0x10a)]||_0xc9505f[_0x780ed4(0x10a)]===_0x56d997)return[];return[{'level':_0x780ed4(0x11b),'ruleId':_0x780ed4(0x114),'file':_0x780ed4(0x119),'message':_0x780ed4(0x116)+_0xc9505f[_0x780ed4(0x10a)]+_0x780ed4(0x113)+_0x56d997+_0x780ed4(0x10e),'suggestion':_0x780ed4(0x11d)}];}function a51_0x5236(){const _0x260be7=['656868pmnppT','\x20after\x20successful\x20push.','sourceSessionId','205HszQyR','tags','version','\x20was\x20retargeted\x20to\x20explicit\x20appCode\x20','skill-metadata-appcode-retargeted','447372fxocWj','Local\x20Skill\x20metadata\x20appCode\x20','672035hIQiws','23571ziEVcd','lovrabet.skill.json','preferInputSkillName','warning','2958FfRTAm','Review\x20the\x20updated\x20local\x20Skill\x20metadata\x20before\x20the\x20next\x20push.','24FDzUSG','isArray','253062OlkUoA','skillName','appCode','description','403554VimnsG'];a51_0x5236=function(){return _0x260be7;};return a51_0x5236();}
@@ -1 +1 @@
1
- (function(_0x20c575,_0x967260){const _0x4f325e=a52_0x5702,_0x2a8421=_0x20c575();while(!![]){try{const _0x12f7ea=parseInt(_0x4f325e(0xc9))/0x1*(-parseInt(_0x4f325e(0xd2))/0x2)+-parseInt(_0x4f325e(0xca))/0x3+parseInt(_0x4f325e(0xcb))/0x4*(-parseInt(_0x4f325e(0xc5))/0x5)+-parseInt(_0x4f325e(0xcd))/0x6*(-parseInt(_0x4f325e(0xd0))/0x7)+parseInt(_0x4f325e(0xc4))/0x8*(parseInt(_0x4f325e(0xcc))/0x9)+parseInt(_0x4f325e(0xcf))/0xa*(parseInt(_0x4f325e(0xc2))/0xb)+parseInt(_0x4f325e(0xc8))/0xc*(-parseInt(_0x4f325e(0xd1))/0xd);if(_0x12f7ea===_0x967260)break;else _0x2a8421['push'](_0x2a8421['shift']());}catch(_0x1517fa){_0x2a8421['push'](_0x2a8421['shift']());}}}(a52_0x212c,0x8fbb9));import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x3057f0){const _0x1041c0=a52_0x5702,_0x2666fb=_0x3057f0['trim']();if(!_0x2666fb||_0x2666fb===_0x1041c0(0xd3))return[_0x1041c0(0xc3),_0x1041c0(0xce)];if(_0x2666fb===_0x1041c0(0xc3)||_0x2666fb===_0x1041c0(0xce))return[_0x2666fb];throw CliErrors[_0x1041c0(0xc7)]('Unsupported\x20Skill\x20sync\x20scope:\x20'+_0x3057f0);}export function normalizeListScope(_0x2672be){const _0x2aef85=a52_0x5702,_0x9f92e7=_0x2672be['trim']();if(!_0x9f92e7)return _0x2aef85(0xd3);if(_0x9f92e7===_0x2aef85(0xc3)||_0x9f92e7==='company'||_0x9f92e7===_0x2aef85(0xd3))return _0x9f92e7;throw CliErrors[_0x2aef85(0xc7)](_0x2aef85(0xc6)+_0x2672be);}function a52_0x5702(_0x430d5c,_0x4a4bff){_0x430d5c=_0x430d5c-0xc2;const _0x212c94=a52_0x212c();let _0x570272=_0x212c94[_0x430d5c];return _0x570272;}export function shouldListScope(_0x49347d,_0x4de2db){const _0x4c5f5a=a52_0x5702;if(_0x49347d===_0x4c5f5a(0xd3))return!![];return _0x49347d===_0x4de2db;}export function listScopeToRuntimeScopes(_0x3a5226){const _0x413094=a52_0x5702;if(_0x3a5226===_0x413094(0xd3))return[_0x413094(0xc3),_0x413094(0xce)];return[_0x3a5226===_0x413094(0xce)?'company':_0x3a5226];}function a52_0x212c(){const _0x4ff7cb=['12SHjLQj','30231pgUeAD','3170586VIKwWv','company','1930efawFc','14OKgMrp','3094fmjlrD','69306GMDHtQ','all','19921rIvkYa','personal','1112qovRIv','267885Wckukv','Unsupported\x20Skill\x20list\x20scope:\x20','validation','26316MybUkg','16Pztxnk','142332DoCazk'];a52_0x212c=function(){return _0x4ff7cb;};return a52_0x212c();}export function listScopeToRemoteScope(_0x479eef){return _0x479eef;}
1
+ (function(_0x144bb8,_0x360b3f){const _0x2e6fda=a52_0x5c62,_0x27c174=_0x144bb8();while(!![]){try{const _0x1bdf84=parseInt(_0x2e6fda(0x13f))/0x1*(-parseInt(_0x2e6fda(0x143))/0x2)+parseInt(_0x2e6fda(0x146))/0x3*(-parseInt(_0x2e6fda(0x14a))/0x4)+-parseInt(_0x2e6fda(0x14d))/0x5*(parseInt(_0x2e6fda(0x149))/0x6)+-parseInt(_0x2e6fda(0x13e))/0x7+parseInt(_0x2e6fda(0x144))/0x8+-parseInt(_0x2e6fda(0x142))/0x9*(-parseInt(_0x2e6fda(0x13d))/0xa)+parseInt(_0x2e6fda(0x14b))/0xb*(parseInt(_0x2e6fda(0x13c))/0xc);if(_0x1bdf84===_0x360b3f)break;else _0x27c174['push'](_0x27c174['shift']());}catch(_0x203d11){_0x27c174['push'](_0x27c174['shift']());}}}(a52_0x412b,0x4b3ab));import{CliErrors}from'../../errors.js';export function normalizeSyncScopes(_0x17f48b){const _0xe5a9bc=a52_0x5c62,_0x4756b6=_0x17f48b[_0xe5a9bc(0x145)]();if(!_0x4756b6||_0x4756b6===_0xe5a9bc(0x147))return[_0xe5a9bc(0x14c),_0xe5a9bc(0x148)];if(_0x4756b6==='personal'||_0x4756b6===_0xe5a9bc(0x148))return[_0x4756b6];throw CliErrors['validation'](_0xe5a9bc(0x140)+_0x17f48b);}export function normalizeListScope(_0x1901bb){const _0x547f77=a52_0x5c62,_0x15ca36=_0x1901bb[_0x547f77(0x145)]();if(!_0x15ca36)return _0x547f77(0x147);if(_0x15ca36===_0x547f77(0x14c)||_0x15ca36===_0x547f77(0x148)||_0x15ca36===_0x547f77(0x147))return _0x15ca36;throw CliErrors['validation'](_0x547f77(0x141)+_0x1901bb);}export function shouldListScope(_0x5ed9e1,_0x3d8ac3){if(_0x5ed9e1==='all')return!![];return _0x5ed9e1===_0x3d8ac3;}function a52_0x5c62(_0xb23f70,_0x2c7470){_0xb23f70=_0xb23f70-0x13c;const _0x412b02=a52_0x412b();let _0x5c623c=_0x412b02[_0xb23f70];return _0x5c623c;}export function listScopeToRuntimeScopes(_0x57815f){const _0x560afe=a52_0x5c62;if(_0x57815f===_0x560afe(0x147))return[_0x560afe(0x14c),_0x560afe(0x148)];return[_0x57815f===_0x560afe(0x148)?'company':_0x57815f];}function a52_0x412b(){const _0xa56d1a=['4024370jVlYZF','3VJzRyS','Unsupported\x20Skill\x20sync\x20scope:\x20','Unsupported\x20Skill\x20list\x20scope:\x20','837SvmnnR','11796SgZBlv','4050568qHPNCZ','trim','25314QHBPpP','all','company','1836GjyhVb','236UHNbDk','8232158RzUwVI','personal','4630roqaMX','12cFaqpr','45940SqzIAC'];a52_0x412b=function(){return _0xa56d1a;};return a52_0x412b();}export function listScopeToRemoteScope(_0x3ac379){return _0x3ac379;}
@@ -1 +1 @@
1
- (function(_0x449d75,_0x22bb57){var _0x314542=a53_0x279f,_0x387c82=_0x449d75();while(!![]){try{var _0x10a4f3=-parseInt(_0x314542(0xe0))/0x1+parseInt(_0x314542(0xd5))/0x2*(-parseInt(_0x314542(0xdc))/0x3)+-parseInt(_0x314542(0xd9))/0x4*(-parseInt(_0x314542(0xe6))/0x5)+-parseInt(_0x314542(0xe9))/0x6+-parseInt(_0x314542(0xe5))/0x7+parseInt(_0x314542(0xe1))/0x8*(-parseInt(_0x314542(0xea))/0x9)+parseInt(_0x314542(0xda))/0xa;if(_0x10a4f3===_0x22bb57)break;else _0x387c82['push'](_0x387c82['shift']());}catch(_0x25d1bd){_0x387c82['push'](_0x387c82['shift']());}}}(a53_0x3b35,0x564cb));export function summarizeRuntimeSkill(_0x25f1d4){var _0x1e207c=a53_0x279f;return{'id':_0x25f1d4['id'],'skillCode':_0x25f1d4['skillCode'],'skillName':_0x25f1d4[_0x1e207c(0xe8)],'scope':_0x25f1d4[_0x1e207c(0xe7)],'version':_0x25f1d4[_0x1e207c(0xdf)],'readonly':_0x25f1d4[_0x1e207c(0xdd)]};}function a53_0x279f(_0x54c6bb,_0x46fc86){_0x54c6bb=_0x54c6bb-0xd5;var _0x3b3531=a53_0x3b35();var _0x279fc3=_0x3b3531[_0x54c6bb];return _0x279fc3;}function a53_0x3b35(){var _0x32bf94=['402krgior','readonly','contentHash','version','489177SdSqaK','1134520EZsxiQ','cacheDir','linkedPaths','skillCode','3836966DTZkVB','165DKZFfg','scope','skillName','2679144eamodu','36aGYjmo','6016fpmDav','treeHash','skillMdPath','dir','47100UrMUEB','24190790fBbasu','metadataPath'];a53_0x3b35=function(){return _0x32bf94;};return a53_0x3b35();}export function summarizeLocalRuntimeSkill(_0x19ccb0){var _0x5241b2=a53_0x279f;return{'id':_0x19ccb0['id'],'skillCode':_0x19ccb0[_0x5241b2(0xe4)],'skillName':_0x19ccb0[_0x5241b2(0xe8)],'scope':_0x19ccb0[_0x5241b2(0xe7)],'appCode':_0x19ccb0['appCode'],'version':_0x19ccb0[_0x5241b2(0xdf)],'status':_0x19ccb0['status'],'readonly':_0x19ccb0['readonly'],'tags':_0x19ccb0['tags'],'dir':_0x19ccb0[_0x5241b2(0xd8)],'cacheDir':_0x19ccb0[_0x5241b2(0xe2)],'skillMdPath':_0x19ccb0[_0x5241b2(0xd7)],'metadataPath':_0x19ccb0[_0x5241b2(0xdb)],'linkedPaths':_0x19ccb0[_0x5241b2(0xe3)],'contentHash':_0x19ccb0[_0x5241b2(0xde)],'treeHash':_0x19ccb0[_0x5241b2(0xd6)],'pulledAt':_0x19ccb0['pulledAt']};}
1
+ (function(_0x439b79,_0x590306){var _0x211928=a53_0x4d59,_0x27c700=_0x439b79();while(!![]){try{var _0x549381=-parseInt(_0x211928(0x1a2))/0x1*(parseInt(_0x211928(0x193))/0x2)+-parseInt(_0x211928(0x1a3))/0x3+-parseInt(_0x211928(0x1a6))/0x4*(-parseInt(_0x211928(0x19d))/0x5)+parseInt(_0x211928(0x1a5))/0x6+-parseInt(_0x211928(0x1a7))/0x7*(parseInt(_0x211928(0x19c))/0x8)+parseInt(_0x211928(0x190))/0x9*(parseInt(_0x211928(0x19e))/0xa)+-parseInt(_0x211928(0x197))/0xb*(parseInt(_0x211928(0x1a1))/0xc);if(_0x549381===_0x590306)break;else _0x27c700['push'](_0x27c700['shift']());}catch(_0x474c24){_0x27c700['push'](_0x27c700['shift']());}}}(a53_0x55a8,0xbc9d3));export function summarizeRuntimeSkill(_0x270d34){var _0x45a0c6=a53_0x4d59;return{'id':_0x270d34['id'],'skillCode':_0x270d34[_0x45a0c6(0x19f)],'skillName':_0x270d34[_0x45a0c6(0x191)],'scope':_0x270d34[_0x45a0c6(0x18f)],'version':_0x270d34[_0x45a0c6(0x195)],'readonly':_0x270d34['readonly']};}function a53_0x55a8(){var _0x3cc4c0=['1669cTidrw','2456691MIzQCz','status','8787138pPWRwP','16948LwEIaq','1784902YFhXAn','scope','2340999PQWRLW','skillName','dir','894rhrJZt','readonly','version','appCode','181478sKxTnZ','metadataPath','skillMdPath','contentHash','cacheDir','8Ocuyxe','945PHcbDn','50KNOxUU','skillCode','linkedPaths','708VhwgWd'];a53_0x55a8=function(){return _0x3cc4c0;};return a53_0x55a8();}function a53_0x4d59(_0x8eb4be,_0x446b78){_0x8eb4be=_0x8eb4be-0x18f;var _0x55a83a=a53_0x55a8();var _0x4d59fa=_0x55a83a[_0x8eb4be];return _0x4d59fa;}export function summarizeLocalRuntimeSkill(_0x4f4741){var _0x23736e=a53_0x4d59;return{'id':_0x4f4741['id'],'skillCode':_0x4f4741[_0x23736e(0x19f)],'skillName':_0x4f4741[_0x23736e(0x191)],'scope':_0x4f4741['scope'],'appCode':_0x4f4741[_0x23736e(0x196)],'version':_0x4f4741[_0x23736e(0x195)],'status':_0x4f4741[_0x23736e(0x1a4)],'readonly':_0x4f4741[_0x23736e(0x194)],'tags':_0x4f4741['tags'],'dir':_0x4f4741[_0x23736e(0x192)],'cacheDir':_0x4f4741[_0x23736e(0x19b)],'skillMdPath':_0x4f4741[_0x23736e(0x199)],'metadataPath':_0x4f4741[_0x23736e(0x198)],'linkedPaths':_0x4f4741[_0x23736e(0x1a0)],'contentHash':_0x4f4741[_0x23736e(0x19a)],'treeHash':_0x4f4741['treeHash'],'pulledAt':_0x4f4741['pulledAt']};}
@@ -1 +1 @@
1
- const a54_0xcd42fc=a54_0x485c;(function(_0x51279e,_0x36df75){const _0x86802=a54_0x485c,_0x2e8f67=_0x51279e();while(!![]){try{const _0x261144=-parseInt(_0x86802(0x180))/0x1+-parseInt(_0x86802(0x178))/0x2*(parseInt(_0x86802(0x179))/0x3)+parseInt(_0x86802(0x17c))/0x4*(-parseInt(_0x86802(0x190))/0x5)+parseInt(_0x86802(0x170))/0x6*(parseInt(_0x86802(0x188))/0x7)+parseInt(_0x86802(0x174))/0x8*(parseInt(_0x86802(0x17f))/0x9)+parseInt(_0x86802(0x18a))/0xa*(-parseInt(_0x86802(0x16f))/0xb)+parseInt(_0x86802(0x181))/0xc;if(_0x261144===_0x36df75)break;else _0x2e8f67['push'](_0x2e8f67['shift']());}catch(_0x4f4ab1){_0x2e8f67['push'](_0x2e8f67['shift']());}}}(a54_0x3190,0x1d915));import{CliErrors}from'../../errors.js';function a54_0x485c(_0x6f645d,_0x15bae4){_0x6f645d=_0x6f645d-0x16d;const _0x319086=a54_0x3190();let _0x485c2a=_0x319086[_0x6f645d];return _0x485c2a;}export const SKILL_TYPES=[a54_0xcd42fc(0x16e),a54_0xcd42fc(0x18b),a54_0xcd42fc(0x172)];export const DEFAULT_SKILL_TARGET=a54_0xcd42fc(0x173);export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE=a54_0xcd42fc(0x192);export const OUTPUT_CONTRACT_FILE=a54_0xcd42fc(0x175);export function validateSkillName(_0x543032){const _0x5becf1=a54_0xcd42fc,_0x3ee7e5=_0x543032['trim']();if(!SKILL_NAME_PATTERN[_0x5becf1(0x184)](_0x3ee7e5))throw CliErrors[_0x5becf1(0x183)]('Invalid\x20Skill\x20name:\x20'+_0x543032+_0x5becf1(0x191),_0x5becf1(0x18c));return _0x3ee7e5;}export function normalizeSkillTemplateType(_0xedbff4){const _0x349c86=a54_0xcd42fc,_0x34e41d=(_0xedbff4||_0x349c86(0x16e))[_0x349c86(0x185)]()||'write';if(SKILL_TYPES[_0x349c86(0x18d)](_0x34e41d))return _0x34e41d;throw CliErrors[_0x349c86(0x183)](_0x349c86(0x186)+_0xedbff4,_0x349c86(0x171)+SKILL_TYPES[_0x349c86(0x18e)](',\x20')+'.');}export function renderSkillTemplate(_0x5558c8){const _0x2f6c21=a54_0xcd42fc,_0xb4217=validateSkillName(_0x5558c8['skillName']),_0x25b9a4=normalizeSkillTemplateType(_0x5558c8[_0x2f6c21(0x195)]),_0x308c58=_0x5558c8[_0x2f6c21(0x182)]??new Date()['toISOString']();return{'skillName':_0xb4217,'type':_0x25b9a4,'files':[{'path':_0x2f6c21(0x194),'content':renderSkillMd(_0xb4217,_0x25b9a4,_0x308c58)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0xb4217,_0x25b9a4)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0xb4217,_0x25b9a4)}]};}function renderSkillMd(_0x1bc627,_0x5bbe04,_0x5438c8){const _0x21e2b3=a54_0xcd42fc,_0x52ca2c=typeWorkflow(_0x5bbe04);return'---\x0aname:\x20'+_0x1bc627+'\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0a#\x20example:\x20\x22<填写一句用户可以直接说出的最简触发话术>\x22\x0ametadata:\x0a\x20\x20type:\x20'+_0x5bbe04+_0x21e2b3(0x16d)+_0x5438c8+_0x21e2b3(0x177)+_0x1bc627+_0x21e2b3(0x176)+_0x52ca2c+'\x0a\x0a'+businessStateSection(_0x5bbe04)+_0x21e2b3(0x17b);}function renderRuntimeContract(_0x57dc7,_0x26ace1){const _0x530529=a54_0xcd42fc,_0x16b9ad=_0x26ace1==='write'?'##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a':'';return _0x530529(0x187)+_0x57dc7+'\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type='+_0x26ace1+_0x530529(0x17a)+_0x16b9ad+'\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a';}function a54_0x3190(){const _0x3c58ca=['4899iJqmtA','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20BFF\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a','12CYdHHZ','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20BFF、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','369AVpAPB','172376aQjIge','6569856bREeAv','timestamp','validation','test','trim','Unsupported\x20Skill\x20type:\x20','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','32179RXqIpI','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','54440lBXoQv','read','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','includes','join','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check。','150115vPVEyR','.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.','references/runtime-contract.md','#\x20Output\x20Contract\x0a\x0a','SKILL.md','type','1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】','\x0a\x20\x20created:\x20\x22','write','44GPbOng','54CbeSLQ','Use\x20one\x20of:\x20','trainer','.agents/skills','832JSXMsQ','references/output-contract.md','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、BFF\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','230XEXYKn'];a54_0x3190=function(){return _0x3c58ca;};return a54_0x3190();}function renderOutputContract(_0x13d3a0,_0x2c0a92){const _0x3b02e3=a54_0xcd42fc,_0x240e7b=_0x2c0a92===_0x3b02e3(0x16e)?_0x3b02e3(0x18f):_0x2c0a92+'\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。';return _0x3b02e3(0x193)+_0x13d3a0+'\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a'+_0x240e7b+'\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a';}function typeWorkflow(_0x482cdd){const _0x347c35=a54_0xcd42fc;if(_0x482cdd===_0x347c35(0x18b))return _0x347c35(0x189);if(_0x482cdd===_0x347c35(0x172))return _0x347c35(0x17d);return _0x347c35(0x196);}function businessStateSection(_0x20abe7){const _0x299db2=a54_0xcd42fc;if(_0x20abe7!=='write')return'';return _0x299db2(0x17e);}
1
+ const a54_0x4c61b8=a54_0x459f;(function(_0x3b0b0d,_0x2bbc04){const _0x5c83f9=a54_0x459f,_0x187c9c=_0x3b0b0d();while(!![]){try{const _0x351664=-parseInt(_0x5c83f9(0x196))/0x1+-parseInt(_0x5c83f9(0x1b4))/0x2*(parseInt(_0x5c83f9(0x1aa))/0x3)+-parseInt(_0x5c83f9(0x193))/0x4+-parseInt(_0x5c83f9(0x1b1))/0x5*(parseInt(_0x5c83f9(0x19b))/0x6)+parseInt(_0x5c83f9(0x1a5))/0x7*(parseInt(_0x5c83f9(0x1a0))/0x8)+-parseInt(_0x5c83f9(0x1a1))/0x9+-parseInt(_0x5c83f9(0x1ab))/0xa*(-parseInt(_0x5c83f9(0x1b8))/0xb);if(_0x351664===_0x2bbc04)break;else _0x187c9c['push'](_0x187c9c['shift']());}catch(_0x43cce9){_0x187c9c['push'](_0x187c9c['shift']());}}}(a54_0x1ab5,0xe40c1));import{CliErrors}from'../../errors.js';export const SKILL_TYPES=[a54_0x4c61b8(0x195),'read',a54_0x4c61b8(0x198)];export const DEFAULT_SKILL_TARGET=a54_0x4c61b8(0x1a3);export const SKILL_NAME_PATTERN=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;export const RUNTIME_CONTRACT_FILE='references/runtime-contract.md';export const OUTPUT_CONTRACT_FILE=a54_0x4c61b8(0x1ac);export function validateSkillName(_0x591fb1){const _0xd34b63=a54_0x4c61b8,_0x657dee=_0x591fb1['trim']();if(!SKILL_NAME_PATTERN[_0xd34b63(0x1b6)](_0x657dee))throw CliErrors['validation'](_0xd34b63(0x197)+_0x591fb1+'.\x20Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens.',_0xd34b63(0x19c));return _0x657dee;}function a54_0x1ab5(){const _0xa542b1=['4744984wyEhRZ','timestamp','write','1326024sNnGwD','Invalid\x20Skill\x20name:\x20','trainer','skillName','SKILL.md','4331724mkwQVY','Use\x20lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens,\x20for\x20example\x20invoice-export.','\x20只作为模板选择器,不替代业务权限、风险等级和用户确认。\x0a\x0a##\x20运行态入口\x0a\x0a【填写包内说明的运行态入口、可调用脚本或人工执行边界】\x0a\x0a##\x20凭证与登录态\x0a\x0a【填写本\x20Skill\x20依赖的第三方服务凭证和登录态治理方式。强烈建议通过\x20Lovrabet\x20应用后台或平台服务端适配器做平台托管配置;开发先行阶段如存在临时明文凭证,应标注后续治理计划、适用环境和额度边界,并避免进入长期交付内容。】\x0a\x0a##\x20第三方候选资产\x0a\x0a【填写第三方生成类结果的消费边界。生成类结果仅作为候选素材;涉及商品图、客户资料、Excel\x20或业务文件上传时,必须声明授权、额度、审计、失败降级和人工审核/业务\x20BFF\x20校验后的发布边界。】\x0a\x0a##\x20预览\x20/\x20写入\x20/\x20核对差异\x0a\x0a【填写预览、确认、正式执行和只读核对的顺序】\x0a\x0a','\x20类型默认不执行业务写入;如流程包含受控维护或人工确认,也必须用\x20mode\x20标明执行阶段并暴露核对结果。','Unsupported\x20Skill\x20type:\x20','4841816OCtlbn','3265623BAFUPs','type','.agents/skills','write\x20类型在\x20dry_run\x20下只展示预览、影响范围和差异,不写入业务数据。\x0aconfirmed\x20写入后必须执行读回核对,并把核对结果写入\x20verification。\x0a读回异常、业务状态未知或结果不一致时,status\x20必须为\x20partial_success、failed\x20或\x20needs_manual_check','7PIYeYA','\x20的所有必读规则必须位于\x20SKILL.md\x20或\x20references/\x20内。\x0a\x0a##\x20必读文档\x0a\x0a-\x20[SKILL.md](../SKILL.md)\x0a-\x20[runtime-contract.md](runtime-contract.md)\x0a-\x20[output-contract.md](output-contract.md)\x0a\x0a##\x20主边界\x0a\x0a-\x20不得依赖\x20Skill\x20目录外的仓库文件、绝对路径、file\x20URL\x20或本机专属配置。\x0a-\x20文档中的缓存路径、安装路径、示例路径或排障路径不等于运行时包外依赖;只有明确要求读取、链接或执行包外内容时才属于自包含风险。\x0a-\x20如需承接仓库规范,必须把必要规则内化到本\x20Skill\x20包内的\x20references/\x20文件中。\x0a-\x20type=','join','1.\x20只读查询:【填写查询入口、过滤条件和权限边界】\x0a2.\x20业务汇总:【填写统计口径、字段解释和异常提示】\x0a3.\x20查看链接:【填写可供运营人员复核的记录、页面或报告链接】\x0a4.\x20禁止写入:不得创建、更新、删除或触发会改变业务状态的动作。','\x0a\x0a##\x20展示规范\x0a\x0a【填写面向运营人员的展示字段、差异摘要、成功/失败状态和人工处理项;最终输出必须按\x20references/output-contract.md\x20的\x20status\x20/\x20mode\x20/\x20summary\x20/\x20errors\x20/\x20nextActions\x20返回,不能把\x20unknown、partial_success、failed\x20或\x20needs_manual_check\x20包装为\x20success。】\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败后的\x20checkpoint、重试条件、人工接管方式和避免重复写入的核对步骤】\x0a','258HrkDly','6530diCUJk','references/output-contract.md','##\x20业务状态流转\x0a\x0a【填写本\x20Skill\x20的前置业务状态、允许动作、目标业务状态、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对,以及\x20unknown\x20/\x20needs_manual_check\x20处理。状态迁移合法性必须由业务\x20BFF、Lovrabet\x20平台命令或服务端接口判断,Skill\x20不作为状态事实源。】','toISOString','---\x0aname:\x20','\x0a\x0a##\x20错误与人工接管\x0a\x0aerrors\x20必须包含失败阶段、错误原因和可复核对象。\x0anextActions\x20必须给出重试、补充输入、人工接管或停止处理的动作。\x0a','10nZqbah','\x0adescription:\x20\x22【填写模型触发语义:用户在什么场景应使用本\x20Skill、不要使用的边界和关键词】\x22\x0a#\x20example:\x20\x22<填写一句用户可以直接说出的最简触发话术>\x22\x0ametadata:\x0a\x20\x20type:\x20','validation','41872eUJhYv','\x22\x0a\x20\x20generator:\x20\x22lovrabet\x20skill\x20create\x22\x0a---\x0a\x0a#\x20','test','trim','108625YbeJHc','\x0a##\x20返回契约\x0a\x0a最终输出必须遵守\x20[output-contract.md](output-contract.md)。本文件只补充运行态安全约束;展示字段、状态枚举、失败暴露和人工处理项以\x20output-contract.md\x20为准。\x0a\x0a##\x20失败恢复\x0a\x0a【填写失败状态识别、checkpoint、重试和人工接管方式】\x0a\x0a##\x20禁止事项\x0a\x0a-\x20禁止链接或读取\x20Skill\x20目录外的\x20AGENTS.md、wiki、docs、脚本或个人路径作为运行时必读依赖。\x0a-\x20禁止把说明性的缓存路径、安装路径、示例路径或排障路径包装成运行时必读依赖。\x0a-\x20禁止在未确认影响范围时执行写入。\x0a-\x20禁止隐藏失败或把未知状态描述为成功。\x0a','\x0a\x20\x20created:\x20\x22','1.\x20受控模板预览:【填写待维护内容、影响范围和预览方式】\x0a2.\x20用户确认:【填写确认信息和不可省略的人工判断点】\x0a3.\x20受控维护:【填写确认后的维护步骤和记录方式】\x0a4.\x20只读核对:【填写维护后的核对入口、差异和回滚/修正方式】','#\x20Runtime\x20Contract\x0a\x0aSkill\x20push\x20后的\x20zip\x20包就是完整交付产物。','\x0a\x0a##\x20内部要求\x0a\x0a执行前必须读取并遵守\x20[runtime-contract.md](references/runtime-contract.md)\x20和\x20[output-contract.md](references/output-contract.md)。\x0a\x0a##\x20使用边界\x0a\x0a【填写该\x20Skill\x20能做什么、不能做什么、适用业务范围和禁止扩大执行范围】\x0a\x0a##\x20输入门禁\x0a\x0a【填写必须具备的输入;缺失业务对象、执行范围、确认信息或权限上下文时必须停止】\x0a\x0a##\x20与现有能力集成\x0a\x0a【填写本\x20Skill\x20使用的\x20lovrabet\x20data、lovrabet\x20sql、lovrabet\x20bff\x20或\x20lovrabet\x20personal-bff\x20命令,以及包内\x20references/\x20中沉淀的运行态入口、脚本对接方式或人工操作边界。不得依赖\x20Skill\x20目录外文件、绝对路径或本机专属配置。】\x0a\x0a##\x20平台能力优先\x0a\x0a【填写本\x20Skill\x20优先使用的\x20Lovrabet\x20平台命令:lovrabet\x20data\x20/\x20lovrabet\x20sql\x20/\x20lovrabet\x20bff\x20/\x20lovrabet\x20personal-bff。本地脚本仅用于平台明确不覆盖的文件格式转换、静态校验、展示整理或第三方薄适配;不得用本地脚本替代平台命令承载业务写入、权限判断、状态机、审批提交或回滚。】\x0a\x0a##\x20第三方服务边界\x0a\x0a【填写是否调用第三方识别、生成、上传或行业服务;如涉及\x20API\x20Key、OAuth、Cookie、登录态或业务数据上传,必须说明由\x20Lovrabet\x20应用后台、BFF\x20或平台适配器统一配置。目标治理口径是\x20Skill\x20不读取、不分发、不保存明文凭证。详细凭证、额度、审计和审核发布规则写入\x20references/runtime-contract.md。】\x0a\x0a##\x20SOP\x20工作流\x0a\x0a','\x20的最终回复必须让运营人员能判断:是否执行、影响了什么、如何复核、失败后下一步做什么。\x0a\x0a##\x20状态枚举\x0a\x0astatus:\x20success\x20|\x20no_op\x20|\x20partial_success\x20|\x20blocked\x20|\x20failed\x20|\x20needs_manual_check\x0a\x0a-\x20success:动作已完成,且关键结果已核对。\x0a-\x20no_op:没有符合条件的对象或无需变更。\x0a-\x20partial_success:部分对象完成,未完成对象必须进入\x20errors\x20和\x20nextActions。\x0a-\x20blocked:缺少输入、权限、确认或平台能力,无法继续。\x0a-\x20failed:执行失败,必须说明失败阶段、错误和恢复方式。\x0a-\x20needs_manual_check:读回异常、状态未知或人工判断缺失。\x0a\x0aunknown、partial_success、failed、needs_manual_check\x20不能包装为\x20success。\x0a\x0a##\x20输出模式\x0a\x0amode:\x20dry_run\x20|\x20confirmed\x20|\x20read_only\x0a\x0a-\x20dry_run:只展示预览、影响范围和差异,不写入业务数据。\x0a-\x20confirmed:用户明确确认后的执行模式;写入后必须读回核对。\x0a-\x20read_only:只查询、汇总或核对,不触发写入。\x0a\x0a##\x20必填字段\x0a\x0a-\x20status\x0a-\x20mode\x0a-\x20summary\x0a-\x20scope\x0a-\x20changes\x0a-\x20verification\x0a-\x20warnings\x0a-\x20errors\x0a-\x20nextActions\x0a\x0a##\x20写入结果\x0a\x0a','Use\x20one\x20of:\x20'];a54_0x1ab5=function(){return _0xa542b1;};return a54_0x1ab5();}function a54_0x459f(_0x37be1c,_0x8796a3){_0x37be1c=_0x37be1c-0x191;const _0x1ab599=a54_0x1ab5();let _0x459f90=_0x1ab599[_0x37be1c];return _0x459f90;}export function normalizeSkillTemplateType(_0x169890){const _0x51383a=a54_0x4c61b8,_0x594936=(_0x169890||'write')[_0x51383a(0x1b7)]()||'write';if(SKILL_TYPES['includes'](_0x594936))return _0x594936;throw CliErrors[_0x51383a(0x1b3)](_0x51383a(0x19f)+_0x169890,_0x51383a(0x192)+SKILL_TYPES[_0x51383a(0x1a7)](',\x20')+'.');}export function renderSkillTemplate(_0xce3165){const _0x5b18be=a54_0x4c61b8,_0x28c02d=validateSkillName(_0xce3165[_0x5b18be(0x199)]),_0x5932ca=normalizeSkillTemplateType(_0xce3165[_0x5b18be(0x1a2)]),_0x5f5a69=_0xce3165[_0x5b18be(0x194)]??new Date()[_0x5b18be(0x1ae)]();return{'skillName':_0x28c02d,'type':_0x5932ca,'files':[{'path':_0x5b18be(0x19a),'content':renderSkillMd(_0x28c02d,_0x5932ca,_0x5f5a69)},{'path':RUNTIME_CONTRACT_FILE,'content':renderRuntimeContract(_0x28c02d,_0x5932ca)},{'path':OUTPUT_CONTRACT_FILE,'content':renderOutputContract(_0x28c02d,_0x5932ca)}]};}function renderSkillMd(_0x29b9e1,_0x591a93,_0x347bff){const _0x36338f=a54_0x4c61b8,_0x3afef3=typeWorkflow(_0x591a93);return _0x36338f(0x1af)+_0x29b9e1+_0x36338f(0x1b2)+_0x591a93+_0x36338f(0x1ba)+_0x347bff+_0x36338f(0x1b5)+_0x29b9e1+_0x36338f(0x1bd)+_0x3afef3+'\x0a\x0a'+businessStateSection(_0x591a93)+_0x36338f(0x1a9);}function renderRuntimeContract(_0x49185d,_0x44e350){const _0x49d256=a54_0x4c61b8,_0xef664e=_0x44e350===_0x49d256(0x195)?'##\x20状态读回与未知状态处理\x0a\x0a【填写业务状态事实源、fromStatus\x20->\x20toStatus\x20预览、写入后读回核对方式,以及\x20unknown\x20/\x20needs_manual_check\x20的处理边界】\x0a\x0a':'';return _0x49d256(0x1bc)+_0x49185d+_0x49d256(0x1a6)+_0x44e350+_0x49d256(0x19d)+_0xef664e+_0x49d256(0x1b9);}function renderOutputContract(_0x5b013a,_0x287417){const _0x2b8b06=a54_0x4c61b8,_0x6a357d=_0x287417===_0x2b8b06(0x195)?_0x2b8b06(0x1a4):_0x287417+_0x2b8b06(0x19e);return'#\x20Output\x20Contract\x0a\x0a'+_0x5b013a+_0x2b8b06(0x191)+_0x6a357d+_0x2b8b06(0x1b0);}function typeWorkflow(_0x205dca){const _0xfe115a=a54_0x4c61b8;if(_0x205dca==='read')return _0xfe115a(0x1a8);if(_0x205dca===_0xfe115a(0x198))return _0xfe115a(0x1bb);return'1.\x20dry-run:【填写预览入口、影响范围和差异摘要;不得写入业务数据】\x0a2.\x20用户确认:【填写确认语义、目标对象、数量、风险和操作者责任】\x0a3.\x20confirmed\x20写入:【填写确认后的写入入口和幂等/防重复要求】\x0a4.\x20只读核对:【填写写入后的查询核对、差异展示和结果链接】\x0a5.\x20checkpoint:【填写失败恢复、重试条件和人工接管方式】';}function businessStateSection(_0x183d13){const _0x399dfc=a54_0x4c61b8;if(_0x183d13!==_0x399dfc(0x195))return'';return _0x399dfc(0x1ad);}