@lovrabet/lovrabet-cli 2.1.18 → 2.1.19

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 (134) hide show
  1. package/README.md +7 -0
  2. package/lib/cli.js +1 -1
  3. package/lib/commands/api-doc/index.js +1 -1
  4. package/lib/commands/app/cache.js +1 -1
  5. package/lib/commands/app/definitions.js +1 -1
  6. package/lib/commands/app/eligibility.js +1 -1
  7. package/lib/commands/app/mock-loader.js +1 -1
  8. package/lib/commands/app/remote-source.js +1 -1
  9. package/lib/commands/app/shared.js +1 -1
  10. package/lib/commands/app-config/get.js +1 -1
  11. package/lib/commands/app-config/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/shared.js +1 -1
  26. package/lib/commands/data/index.js +1 -1
  27. package/lib/commands/dataset/detail.js +1 -1
  28. package/lib/commands/dataset/index.js +1 -1
  29. package/lib/commands/dataset/list.js +1 -1
  30. package/lib/commands/dataset/sdk-doc.js +1 -1
  31. package/lib/commands/doctor.js +1 -1
  32. package/lib/commands/file/index.js +1 -1
  33. package/lib/commands/init.js +1 -1
  34. package/lib/commands/kb/index.js +1 -1
  35. package/lib/commands/logs/index.js +1 -1
  36. package/lib/commands/ocr/index.js +1 -1
  37. package/lib/commands/personal-bff/index.js +1 -1
  38. package/lib/commands/registry.js +1 -1
  39. package/lib/commands/schedule/index.js +1 -1
  40. package/lib/commands/schema.js +1 -1
  41. package/lib/commands/service/dynamic.js +1 -1
  42. package/lib/commands/service/function-name-adapter.js +1 -1
  43. package/lib/commands/service/index.js +1 -1
  44. package/lib/commands/service/registry.js +1 -1
  45. package/lib/commands/skill/commands/create.js +1 -1
  46. package/lib/commands/skill/commands/install.js +1 -1
  47. package/lib/commands/skill/commands/list.js +1 -1
  48. package/lib/commands/skill/commands/push.js +1 -1
  49. package/lib/commands/skill/commands/validate.js +1 -1
  50. package/lib/commands/skill/flags.d.ts +1 -0
  51. package/lib/commands/skill/flags.js +1 -1
  52. package/lib/commands/skill/index.js +1 -1
  53. package/lib/commands/skill/manifest-helpers.js +1 -1
  54. package/lib/commands/skill/push-execute.js +1 -1
  55. package/lib/commands/skill/push-flow-helpers.js +1 -1
  56. package/lib/commands/skill/push-retarget.js +1 -1
  57. package/lib/commands/skill/scopes.js +1 -1
  58. package/lib/commands/skill/summary.js +1 -1
  59. package/lib/commands/skill/templates.js +1 -1
  60. package/lib/commands/skill/validate.js +1 -1
  61. package/lib/commands/sql/detail.js +1 -1
  62. package/lib/commands/sql/exec.js +1 -1
  63. package/lib/commands/sql/index.js +1 -1
  64. package/lib/commands/update.js +1 -1
  65. package/lib/commands/workspace/index.js +1 -1
  66. package/lib/config/schema.js +1 -1
  67. package/lib/constant/app.js +1 -1
  68. package/lib/constant/auth-mode.js +1 -1
  69. package/lib/constant/cli.js +1 -1
  70. package/lib/constant/defaults.js +1 -1
  71. package/lib/constant/distribution.js +1 -1
  72. package/lib/constant/domain.js +1 -1
  73. package/lib/constant/env.js +1 -1
  74. package/lib/constant/output.js +1 -1
  75. package/lib/constant/product.js +1 -1
  76. package/lib/constant/risk.js +1 -1
  77. package/lib/constant/url.js +1 -1
  78. package/lib/context.js +1 -1
  79. package/lib/core/api-client.js +1 -1
  80. package/lib/core/db-resolver.js +1 -1
  81. package/lib/core/sdk-client.js +1 -1
  82. package/lib/errors.js +1 -1
  83. package/lib/framework/build-all-flags.js +1 -1
  84. package/lib/framework/dryrun.js +1 -1
  85. package/lib/framework/flags.js +1 -1
  86. package/lib/framework/help.js +1 -1
  87. package/lib/framework/index.js +1 -1
  88. package/lib/framework/output.js +1 -1
  89. package/lib/framework/preparse.js +1 -1
  90. package/lib/framework/rate-limit.js +1 -1
  91. package/lib/framework/response.js +1 -1
  92. package/lib/framework/runner-confirmation.js +1 -1
  93. package/lib/framework/runner-error.js +1 -1
  94. package/lib/framework/runner.js +1 -1
  95. package/lib/framework/schema-export.js +1 -1
  96. package/lib/framework/service-order.js +1 -1
  97. package/lib/framework/types.js +1 -1
  98. package/lib/generated/build-info.d.ts +4 -4
  99. package/lib/generated/build-info.js +1 -1
  100. package/lib/help.js +1 -1
  101. package/lib/runtime/event.js +1 -1
  102. package/lib/runtime/index.js +1 -1
  103. package/lib/runtime/queue.js +1 -1
  104. package/lib/runtime/resolve.js +1 -1
  105. package/lib/skills/npx-skills-add.js +1 -1
  106. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  107. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  108. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  109. package/lib/skills/runtime-skill-sync/install-target.d.ts +9 -0
  110. package/lib/skills/runtime-skill-sync/install-target.js +1 -0
  111. package/lib/skills/runtime-skill-sync/links.d.ts +5 -4
  112. package/lib/skills/runtime-skill-sync/links.js +1 -1
  113. package/lib/skills/runtime-skill-sync/list-local.d.ts +2 -2
  114. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  115. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  116. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  117. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  118. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  119. package/lib/skills/runtime-skill-sync/push.js +1 -1
  120. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  121. package/lib/skills/runtime-skill-sync/types.d.ts +17 -0
  122. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  123. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  124. package/lib/skills/runtime-skill-sync.d.ts +2 -1
  125. package/lib/skills/runtime-skill-sync.js +1 -1
  126. package/lib/utils/apply-jq-filter.js +1 -1
  127. package/lib/utils/logger.js +1 -1
  128. package/lib/utils/lossless-json.js +1 -1
  129. package/lib/utils/params.js +1 -1
  130. package/lib/utils/platform.js +1 -1
  131. package/lib/utils/update-notice.js +1 -1
  132. package/lib/utils/version.js +1 -1
  133. package/lib/utils/write-cli-side-channel.js +1 -1
  134. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ const a106_0x5b9259=a106_0x15c8;function a106_0x3a23(){const _0x4be16c=['409299JMuvGd','project','1417752AukEtC','.agents','514325fnaHrB','468612HRAAFI','freeze','39243gzMTfl','cwd','managedRoot','appCode','global','1235740dZTkGh','192626gGLguz'];a106_0x3a23=function(){return _0x4be16c;};return a106_0x3a23();}function a106_0x15c8(_0x440641,_0x28cae2){_0x440641=_0x440641-0x1da;const _0x3a232f=a106_0x3a23();let _0x15c8f2=_0x3a232f[_0x440641];return _0x15c8f2;}(function(_0x1c5c9c,_0x11ec30){const _0x4e1727=a106_0x15c8,_0x57d3af=_0x1c5c9c();while(!![]){try{const _0x225b72=-parseInt(_0x4e1727(0x1e6))/0x1+parseInt(_0x4e1727(0x1e5))/0x2+parseInt(_0x4e1727(0x1df))/0x3+parseInt(_0x4e1727(0x1dd))/0x4+parseInt(_0x4e1727(0x1e4))/0x5+parseInt(_0x4e1727(0x1da))/0x6+-parseInt(_0x4e1727(0x1dc))/0x7;if(_0x225b72===_0x11ec30)break;else _0x57d3af['push'](_0x57d3af['shift']());}catch(_0x59c1d5){_0x57d3af['push'](_0x57d3af['shift']());}}}(a106_0x3a23,0x3778d));import{resolve}from'node:path';import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';export function resolveRuntimeSkillInstallTarget(_0x50c97b,_0x4b2db0=a106_0x5b9259(0x1e3),_0x23d834={}){const _0x139e74=a106_0x5b9259,_0x712609=resolveSkillSyncPaths(_0x23d834),_0x27aff7=safePathSegment(_0x50c97b,_0x139e74(0x1e2)),_0x51e173=_0x4b2db0===_0x139e74(0x1e7)?[resolve(_0x23d834[_0x139e74(0x1e0)]??process[_0x139e74(0x1e0)](),_0x139e74(0x1db),'skills')]:runtimeAgentSkillRoots(_0x712609);return Object['freeze']({'scope':_0x4b2db0,'appCode':_0x27aff7,'skillRoots':Object[_0x139e74(0x1de)](_0x51e173),'managedRoot':_0x712609[_0x139e74(0x1e1)]});}
@@ -1,8 +1,8 @@
1
- import type { GlobalRuntimeSkillLinkResult, LinkRuntimeSkillResult, MaterializedRuntimeSkill, PruneRuntimeSkillResult, RuntimeSkillScope, SkillSyncPathsOptions } from "./types.js";
1
+ import type { GlobalRuntimeSkillLinkResult, LinkRuntimeSkillResult, MaterializedRuntimeSkill, PruneRuntimeSkillResult, RuntimeSkillInstallTarget, RuntimeSkillScope, SkillSyncPathsOptions } from "./types.js";
2
2
  /** Links the effective runtime Skill version into each agent Skill root. */
3
- export declare function linkEffectiveRuntimeSkills(materialized: MaterializedRuntimeSkill[], appCode: string, options?: SkillSyncPathsOptions): LinkRuntimeSkillResult[];
4
- /** Removes managed app Skill links that no longer point to active Skill codes. */
5
- export declare function pruneStaleRuntimeSkillLinks(appCode: string, activeSkillCodes: Iterable<string>, options?: SkillSyncPathsOptions, pruneSkillCodes?: Iterable<string>): PruneRuntimeSkillResult[];
3
+ export declare function linkEffectiveRuntimeSkills(materialized: MaterializedRuntimeSkill[], target: RuntimeSkillInstallTarget): LinkRuntimeSkillResult[];
4
+ /** Removes managed target Skill links that no longer point to active Skill codes. */
5
+ export declare function pruneStaleRuntimeSkillLinks(target: RuntimeSkillInstallTarget, activeSkillCodes: Iterable<string>, pruneSkillCodes?: Iterable<string>): PruneRuntimeSkillResult[];
6
6
  /** Removes stale managed cache directories whose metadata still matches the app. */
7
7
  export declare function pruneStaleRuntimeSkillCache(input: {
8
8
  env: "production" | "development" | "daily";
@@ -11,6 +11,7 @@ export declare function pruneStaleRuntimeSkillCache(input: {
11
11
  activeSkillCodes: Iterable<string>;
12
12
  pruneSkillCodes?: Iterable<string>;
13
13
  scopes?: Array<Extract<RuntimeSkillScope, "personal" | "company">>;
14
+ protectedLinkRoots?: readonly string[];
14
15
  }, options?: SkillSyncPathsOptions): PruneRuntimeSkillResult[];
15
16
  /** Copies builtin Skills into the global agent Skill root as real directories. */
16
17
  export declare function linkGlobalRuntimeSkills(materialized: MaterializedRuntimeSkill[], options?: SkillSyncPathsOptions): GlobalRuntimeSkillLinkResult[];
@@ -1 +1 @@
1
- (function(_0x3c5245,_0x222e92){const _0x594bf9=a106_0x31b2,_0x496381=_0x3c5245();while(!![]){try{const _0x12d90c=-parseInt(_0x594bf9(0xba))/0x1*(parseInt(_0x594bf9(0xab))/0x2)+parseInt(_0x594bf9(0xd1))/0x3+-parseInt(_0x594bf9(0xd2))/0x4*(parseInt(_0x594bf9(0xcf))/0x5)+-parseInt(_0x594bf9(0xae))/0x6+parseInt(_0x594bf9(0xb4))/0x7+-parseInt(_0x594bf9(0xc1))/0x8+parseInt(_0x594bf9(0xac))/0x9;if(_0x12d90c===_0x222e92)break;else _0x496381['push'](_0x496381['shift']());}catch(_0x31af23){_0x496381['push'](_0x496381['shift']());}}}(a106_0x3b5e,0xb1dac));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a106_0x486737 from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';function a106_0x31b2(_0x476948,_0x3451d2){_0x476948=_0x476948-0xab;const _0x3b5e0f=a106_0x3b5e();let _0x31b202=_0x3b5e0f[_0x476948];return _0x31b202;}import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a106_0x486737;export function linkEffectiveRuntimeSkills(_0x2248db,_0x3dd3aa,_0x36281d={}){const _0x1383c9=a106_0x31b2,_0x25b86e=new Map();for(const _0x233d0a of _0x2248db){const _0x5f376f=_0x233d0a[_0x1383c9(0xd6)]['skillCode'];if(!_0x5f376f)continue;const _0x1b7001=_0x25b86e[_0x1383c9(0xb9)](_0x5f376f);(!_0x1b7001||_0x233d0a['scope']===_0x1383c9(0xb8))&&_0x25b86e['set'](_0x5f376f,_0x233d0a);}const _0x2b605a=[],_0xf05429=resolveSkillSyncPaths(_0x36281d);for(const _0x30a925 of _0x25b86e[_0x1383c9(0xbb)]()){const _0x161486=requireSkillCode(_0x30a925['skill']),_0x28ffbb=_0x3dd3aa+'--'+_0x161486;for(const _0x151c58 of runtimeAgentSkillRoots(_0xf05429)){_0x2b605a[_0x1383c9(0xbd)](ensureManagedSymlink(resolve(_0x151c58,_0x28ffbb),_0x30a925[_0x1383c9(0xb7)],_0xf05429[_0x1383c9(0xc8)]));}}return _0x2b605a;}export function pruneStaleRuntimeSkillLinks(_0x501bb5,_0x26fd4a,_0x396e06={},_0x25ec9b){const _0x2affb9=a106_0x31b2,_0x2e7591=resolveSkillSyncPaths(_0x396e06),_0x271923=new Set([..._0x26fd4a][_0x2affb9(0xc4)](_0xdd2d37=>_0xdd2d37[_0x2affb9(0xbc)]())[_0x2affb9(0xcc)](Boolean)),_0x527d70=_0x25ec9b?new Set([..._0x25ec9b]['map'](_0x34eb5e=>_0x34eb5e[_0x2affb9(0xbc)]())['filter'](Boolean)):undefined,_0x6c4e66=[];for(const _0x235601 of runtimeAgentSkillRoots(_0x2e7591)){for(const _0xaca952 of managedAppSkillLinkPaths(_0x235601,_0x501bb5)){const _0x2da1ac=basename(_0xaca952)['slice']((_0x501bb5+'--')['length']);if(_0x527d70&&!_0x527d70[_0x2affb9(0xcd)](_0x2da1ac))continue;if(_0x271923['has'](_0x2da1ac))continue;_0x6c4e66[_0x2affb9(0xbd)](removeManagedSkillLink(_0xaca952,_0x2e7591[_0x2affb9(0xc8)]));}}return _0x6c4e66;}export function pruneStaleRuntimeSkillCache(_0x489ef1,_0x2f375b={}){const _0x4edea8=a106_0x31b2,_0x398ca4=new Set([..._0x489ef1['activeSkillCodes']][_0x4edea8(0xc4)](_0x5b8577=>_0x5b8577[_0x4edea8(0xbc)]())['filter'](Boolean)),_0x4a741b=_0x489ef1[_0x4edea8(0xb3)]?new Set([..._0x489ef1[_0x4edea8(0xb3)]]['map'](_0x26e22d=>_0x26e22d[_0x4edea8(0xbc)]())[_0x4edea8(0xcc)](Boolean)):undefined,_0x57dbef=_0x489ef1[_0x4edea8(0xb6)]??[_0x4edea8(0xb8),'company'],_0x2dbe49=resolve(getRuntimeSkillCacheRoot(_0x489ef1[_0x4edea8(0xb1)],_0x489ef1[_0x4edea8(0xd4)],_0x2f375b),safePathSegment(_0x489ef1[_0x4edea8(0xad)],_0x4edea8(0xad))),_0x18d334=[];for(const _0x4df708 of _0x57dbef){const _0xd789b7=resolve(_0x2dbe49,_0x4df708);if(!existsSync(_0xd789b7))continue;for(const _0x58273e of readdirSync(_0xd789b7,{'withFileTypes':!![]})){if(!_0x58273e[_0x4edea8(0xc6)]())continue;const _0x3d0392=_0x58273e[_0x4edea8(0xca)];if(_0x4a741b&&!_0x4a741b[_0x4edea8(0xcd)](_0x3d0392))continue;if(_0x398ca4['has'](_0x3d0392))continue;const _0x141ea5=resolve(_0xd789b7,_0x3d0392),_0x17349a=readMetadataIfPresent(resolve(_0x141ea5,METADATA_FILE));if(_0x17349a?.[_0x4edea8(0xad)]!==_0x489ef1[_0x4edea8(0xad)]||_0x17349a[_0x4edea8(0xc7)]!==_0x4df708||_0x17349a[_0x4edea8(0xd3)]!==_0x3d0392){_0x18d334['push']({'path':_0x141ea5,'action':'skipped','reason':'metadata-mismatch'});continue;}removeSync(_0x141ea5),_0x18d334[_0x4edea8(0xbd)]({'path':_0x141ea5,'action':_0x4edea8(0xd0)});}}return _0x18d334;}function a106_0x3b5e(){const _0x8828f3=['Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','name','external-symlink','filter','has','skipped','135uEsmuf','removed','2814423CDFFYE','20108RKCtuO','skillCode','accessKey','builtin','skill','22ClCwhw','14834592FHiLZP','appCode','3930420ziCpdp','agentsSkillsDir','startsWith','env','isSymbolicLink','pruneSkillCodes','9298394CobgCh','created','scopes','dir','personal','get','104329atxgFy','values','trim','push','updated','unchanged','contentHash','9982888itndAZ','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','validation','map','not-managed-symlink','isDirectory','scope','managedRoot'];a106_0x3b5e=function(){return _0x8828f3;};return a106_0x3b5e();}export function linkGlobalRuntimeSkills(_0x5096df,_0xdd1120={}){const _0xa5ddc5=a106_0x31b2,_0x30ddd9=resolveSkillSyncPaths(_0xdd1120),_0x1a1c86=[];for(const _0x234f96 of _0x5096df){if(_0x234f96[_0xa5ddc5(0xc7)]!==_0xa5ddc5(0xd5))throw CliErrors['validation']('Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20'+_0x234f96[_0xa5ddc5(0xc7)]);const _0x1b0c14=requireSkillCode(_0x234f96['skill']),_0x4569ff=copyManagedSkillDirectory(_0x234f96[_0xa5ddc5(0xb7)],resolve(_0x30ddd9[_0xa5ddc5(0xaf)],_0x1b0c14));_0x1a1c86[_0xa5ddc5(0xbd)]({..._0x4569ff,'contentHash':_0x234f96[_0xa5ddc5(0xc0)]});}return _0x1a1c86;}function ensureManagedSymlink(_0x4c5bcb,_0x28272d,_0x271efa){const _0x1c9ac4=a106_0x31b2;mkdirSync(dirname(_0x4c5bcb),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x4c5bcb)||isDanglingSymlink(_0x4c5bcb)){const _0x5e4d0f=lstatSync(_0x4c5bcb);if(!_0x5e4d0f[_0x1c9ac4(0xb2)]())throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20'+_0x4c5bcb);const _0x5aecdb=resolveSymlinkTarget(_0x4c5bcb);if(!isPathInside(realOrResolved(_0x5aecdb),realOrResolved(_0x271efa)))throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20'+_0x4c5bcb);if(realOrResolved(_0x5aecdb)===realOrResolved(_0x28272d))return{'path':_0x4c5bcb,'target':_0x28272d,'action':_0x1c9ac4(0xbf)};return unlinkSync(_0x4c5bcb),symlinkSync(_0x28272d,_0x4c5bcb,'dir'),{'path':_0x4c5bcb,'target':_0x28272d,'action':'updated'};}return symlinkSync(_0x28272d,_0x4c5bcb,'dir'),{'path':_0x4c5bcb,'target':_0x28272d,'action':_0x1c9ac4(0xb5)};}function managedAppSkillLinkPaths(_0x20da42,_0xb6881e){const _0x51ee90=a106_0x31b2;if(!existsSync(_0x20da42))return[];const _0x44eb27=_0xb6881e+'--';return readdirSync(_0x20da42,{'withFileTypes':!![]})[_0x51ee90(0xcc)](_0x2e78ce=>_0x2e78ce['name'][_0x51ee90(0xb0)](_0x44eb27))[_0x51ee90(0xc4)](_0x291612=>resolve(_0x20da42,_0x291612[_0x51ee90(0xca)]));}function removeManagedSkillLink(_0xbbadc8,_0x3f3b2a){const _0x27345e=a106_0x31b2,_0x545b79=lstatIfPresent(_0xbbadc8);if(!_0x545b79?.['isSymbolicLink']())return{'path':_0xbbadc8,'action':_0x27345e(0xce),'reason':_0x27345e(0xc5)};const _0x30633e=resolveSymlinkTarget(_0xbbadc8);if(!isPathInside(realOrResolved(_0x30633e),realOrResolved(_0x3f3b2a)))return{'path':_0xbbadc8,'action':_0x27345e(0xce),'reason':_0x27345e(0xcb)};return unlinkSync(_0xbbadc8),{'path':_0xbbadc8,'action':_0x27345e(0xd0)};}export function copyManagedSkillDirectory(_0x56a4e3,_0x32ab0d){const _0x2113ec=a106_0x31b2,_0x36b11c=resolve(_0x32ab0d,METADATA_FILE),_0xb46514=existsSync(_0x32ab0d);if(_0xb46514){const _0x41a9a4=lstatSync(_0x32ab0d);if(_0x41a9a4['isSymbolicLink']())throw CliErrors[_0x2113ec(0xc3)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20'+_0x32ab0d);if(!_0x41a9a4[_0x2113ec(0xc6)]())throw CliErrors[_0x2113ec(0xc3)](_0x2113ec(0xc2)+_0x32ab0d);const _0xa4d783=readMetadataIfPresent(_0x36b11c);if(_0xa4d783?.[_0x2113ec(0xc7)]!==_0x2113ec(0xd5))throw CliErrors[_0x2113ec(0xc3)](_0x2113ec(0xc9)+_0x32ab0d);}ensureDirSync(dirname(_0x32ab0d));const _0x3c57e7=_0xb46514?readMetadataIfPresent(_0x36b11c)?.[_0x2113ec(0xc0)]:undefined,_0x290bd7=readMetadataIfPresent(resolve(_0x56a4e3,METADATA_FILE))?.[_0x2113ec(0xc0)];return _0xb46514&&removeSync(_0x32ab0d),copySkillDirectory(_0x56a4e3,_0x32ab0d),{'path':_0x32ab0d,'target':_0x56a4e3,'action':!_0xb46514?_0x2113ec(0xb5):_0x3c57e7===_0x290bd7?_0x2113ec(0xbf):_0x2113ec(0xbe)};}function copySkillDirectory(_0x2c9c4e,_0x580773){copySync(_0x2c9c4e,_0x580773,{'dereference':![],'overwrite':!![],'filter'(_0x45976e){const _0x17f52a=a106_0x31b2;if(lstatSync(_0x45976e)['isSymbolicLink']())throw CliErrors[_0x17f52a(0xc3)]('Refusing\x20to\x20copy\x20Skill\x20symlink:\x20'+_0x45976e);return!![];}});}
1
+ function a107_0x51e5(){const _0x164494=['1287552yxZsGB','scope','created','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','push','metadataPath','personal','7037120SiWTLt','isSymbolicLink','filter','removed','protectedLinkRoots','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','external-symlink','dir','managedRoot','1467131UztNeq','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','validation','runtime-observe','pruneSkillCodes','9485848kVIMTd','skillCode','linked-from-protected-root','values','1481586zppgBh','set','skillRoots','length','unchanged','map','project','skipped','accessKey','company','169443LnsnmI','name','12gsMmUL','isDirectory','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','contentHash','secret-retriever','updated','1470904dkIOiJ','skill','not-managed-symlink','appCode','trim','activeSkillCodes','scopes','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','10nJXTXh','has','agentsSkillsDir','get','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','7ZWqrKz','metadata-mismatch'];a107_0x51e5=function(){return _0x164494;};return a107_0x51e5();}const a107_0x1d0440=a107_0xb6b3;(function(_0x26efaf,_0x1e22a6){const _0x59476f=a107_0xb6b3,_0x3097ba=_0x26efaf();while(!![]){try{const _0x34a6f7=-parseInt(_0x59476f(0xdd))/0x1+parseInt(_0x59476f(0xbd))/0x2+parseInt(_0x59476f(0xe6))/0x3*(parseInt(_0x59476f(0xf2))/0x4)+-parseInt(_0x59476f(0xd4))/0x5+parseInt(_0x59476f(0xcd))/0x6+parseInt(_0x59476f(0xcb))/0x7*(parseInt(_0x59476f(0xe2))/0x8)+parseInt(_0x59476f(0xf0))/0x9*(parseInt(_0x59476f(0xc6))/0xa);if(_0x34a6f7===_0x1e22a6)break;else _0x3097ba['push'](_0x3097ba['shift']());}catch(_0x574c8f){_0x3097ba['push'](_0x3097ba['shift']());}}}(a107_0x51e5,0xb9f21));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a107_0x11ae38 from'fs-extra';import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{isDanglingSymlink,isPathInside,lstatIfPresent,realOrResolved,resolveSymlinkTarget}from'./fs-utils.js';import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a107_0x11ae38,RESERVED_PROJECT_SKILL_CODES=new Set(['lovrabet',a107_0x1d0440(0xe0),a107_0x1d0440(0xbb)]);function a107_0xb6b3(_0x197015,_0x61266c){_0x197015=_0x197015-0xb8;const _0x51e50d=a107_0x51e5();let _0xb6b3c1=_0x51e50d[_0x197015];return _0xb6b3c1;}export function linkEffectiveRuntimeSkills(_0x54e2f6,_0x4decfe){const _0x3787c4=a107_0x1d0440,_0x309e2f=new Map();for(const _0xfb0103 of _0x54e2f6){const _0x4727b6=_0xfb0103['skill'][_0x3787c4(0xe3)];if(!_0x4727b6)continue;const _0x611f82=_0x309e2f[_0x3787c4(0xc9)](_0x4727b6);(!_0x611f82||_0xfb0103[_0x3787c4(0xce)]==='personal')&&_0x309e2f[_0x3787c4(0xe7)](_0x4727b6,_0xfb0103);}const _0x4dfe0d=[];for(const _0x427aaf of _0x309e2f[_0x3787c4(0xe5)]()){const _0x19b151=requireSkillCode(_0x427aaf['skill']),_0x2c018b=readMetadataIfPresent(_0x427aaf[_0x3787c4(0xd2)]);if(_0x2c018b?.[_0x3787c4(0xc0)]!==_0x4decfe[_0x3787c4(0xc0)]||_0x2c018b[_0x3787c4(0xe3)]!==_0x19b151)throw CliErrors['validation']('Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20'+_0x4decfe[_0x3787c4(0xc0)]+':\x20'+_0x427aaf[_0x3787c4(0xd2)]);const _0x2ae942=runtimeSkillLinkName(_0x4decfe,_0x19b151);for(const _0x432dd1 of _0x4decfe[_0x3787c4(0xe8)]){_0x4dfe0d['push'](ensureManagedSymlink(resolve(_0x432dd1,_0x2ae942),_0x427aaf[_0x3787c4(0xdb)],_0x4decfe,_0x19b151));}}return _0x4dfe0d;}export function pruneStaleRuntimeSkillLinks(_0x111eca,_0x1c2d38,_0x3c0bf7){const _0x3e91cb=a107_0x1d0440,_0x301dbd=new Set([..._0x1c2d38][_0x3e91cb(0xeb)](_0x9391d7=>_0x9391d7[_0x3e91cb(0xc1)]())[_0x3e91cb(0xd6)](Boolean)),_0x562996=_0x3c0bf7?new Set([..._0x3c0bf7][_0x3e91cb(0xeb)](_0x331f6b=>_0x331f6b[_0x3e91cb(0xc1)]())[_0x3e91cb(0xd6)](Boolean)):undefined,_0x44bf54=[];for(const _0x3dd796 of _0x111eca[_0x3e91cb(0xe8)]){for(const _0x24d397 of managedTargetSkillLinkPaths(_0x3dd796,_0x111eca)){const _0x2abb8d=runtimeSkillCodeFromLink(_0x111eca,_0x24d397);if(_0x562996&&!_0x562996['has'](_0x2abb8d))continue;if(_0x301dbd[_0x3e91cb(0xc7)](_0x2abb8d))continue;_0x44bf54[_0x3e91cb(0xd1)](removeManagedSkillLink(_0x24d397,_0x111eca,_0x2abb8d));}}return _0x44bf54;}export function pruneStaleRuntimeSkillCache(_0x23225d,_0x17164d={}){const _0x3c3735=a107_0x1d0440,_0xa96b2f=new Set([..._0x23225d[_0x3c3735(0xc2)]][_0x3c3735(0xeb)](_0x4e04cc=>_0x4e04cc[_0x3c3735(0xc1)]())[_0x3c3735(0xd6)](Boolean)),_0x37e46e=_0x23225d[_0x3c3735(0xe1)]?new Set([..._0x23225d[_0x3c3735(0xe1)]][_0x3c3735(0xeb)](_0x8ad4bc=>_0x8ad4bc[_0x3c3735(0xc1)]())[_0x3c3735(0xd6)](Boolean)):undefined,_0x41348c=_0x23225d[_0x3c3735(0xc3)]??[_0x3c3735(0xd3),_0x3c3735(0xef)],_0x2b087e=resolve(getRuntimeSkillCacheRoot(_0x23225d['env'],_0x23225d[_0x3c3735(0xee)],_0x17164d),safePathSegment(_0x23225d[_0x3c3735(0xc0)],_0x3c3735(0xc0))),_0x253acd=[];for(const _0x2f9204 of _0x41348c){const _0xc15d97=resolve(_0x2b087e,_0x2f9204);if(!existsSync(_0xc15d97))continue;for(const _0x556216 of readdirSync(_0xc15d97,{'withFileTypes':!![]})){if(!_0x556216[_0x3c3735(0xb8)]())continue;const _0x98b29b=_0x556216[_0x3c3735(0xf1)];if(_0x37e46e&&!_0x37e46e['has'](_0x98b29b))continue;if(_0xa96b2f['has'](_0x98b29b))continue;const _0x5686ea=resolve(_0xc15d97,_0x98b29b),_0x521d7d=readMetadataIfPresent(resolve(_0x5686ea,METADATA_FILE));if(_0x521d7d?.[_0x3c3735(0xc0)]!==_0x23225d[_0x3c3735(0xc0)]||_0x521d7d[_0x3c3735(0xce)]!==_0x2f9204||_0x521d7d[_0x3c3735(0xe3)]!==_0x98b29b){_0x253acd[_0x3c3735(0xd1)]({'path':_0x5686ea,'action':_0x3c3735(0xed),'reason':_0x3c3735(0xcc)});continue;}if(isLinkedFromAnyRoot(_0x5686ea,_0x23225d[_0x3c3735(0xd8)]??[])){_0x253acd['push']({'path':_0x5686ea,'action':_0x3c3735(0xed),'reason':_0x3c3735(0xe4)});continue;}removeSync(_0x5686ea),_0x253acd['push']({'path':_0x5686ea,'action':_0x3c3735(0xd7)});}}return _0x253acd;}export function linkGlobalRuntimeSkills(_0xa688b7,_0x48b02e={}){const _0x40ea4d=a107_0x1d0440,_0x3f7ce0=resolveSkillSyncPaths(_0x48b02e),_0x5c45c5=[];for(const _0x2ac56d of _0xa688b7){if(_0x2ac56d['scope']!=='builtin')throw CliErrors['validation']('Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20'+_0x2ac56d[_0x40ea4d(0xce)]);const _0x2efb94=requireSkillCode(_0x2ac56d[_0x40ea4d(0xbe)]),_0x150cbc=copyManagedSkillDirectory(_0x2ac56d[_0x40ea4d(0xdb)],resolve(_0x3f7ce0[_0x40ea4d(0xc8)],_0x2efb94));_0x5c45c5[_0x40ea4d(0xd1)]({..._0x150cbc,'contentHash':_0x2ac56d[_0x40ea4d(0xba)]});}return _0x5c45c5;}function ensureManagedSymlink(_0x3dfca6,_0xb3fed6,_0x323e05,_0x7fd6d9){const _0x38b842=a107_0x1d0440;mkdirSync(dirname(_0x3dfca6),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x3dfca6)||isDanglingSymlink(_0x3dfca6)){const _0x1e6a68=lstatSync(_0x3dfca6);if(!_0x1e6a68[_0x38b842(0xd5)]())throw CliErrors[_0x38b842(0xdf)](_0x38b842(0xb9)+_0x3dfca6);const _0x51bcf3=resolveSymlinkTarget(_0x3dfca6);if(!isPathInside(realOrResolved(_0x51bcf3),realOrResolved(_0x323e05[_0x38b842(0xdc)])))throw CliErrors[_0x38b842(0xdf)](_0x38b842(0xc4)+_0x3dfca6);if(realOrResolved(_0x51bcf3)===realOrResolved(_0xb3fed6))return{'path':_0x3dfca6,'target':_0xb3fed6,'action':_0x38b842(0xea)};const _0x1cb6e9=readMetadataIfPresent(resolve(_0x51bcf3,METADATA_FILE));if(_0x323e05[_0x38b842(0xce)]==='project'&&(_0x1cb6e9?.['appCode']!==_0x323e05[_0x38b842(0xc0)]||_0x1cb6e9[_0x38b842(0xe3)]!==_0x7fd6d9))throw CliErrors[_0x38b842(0xdf)](_0x38b842(0xca)+_0x3dfca6);return unlinkSync(_0x3dfca6),symlinkSync(_0xb3fed6,_0x3dfca6,_0x38b842(0xdb)),{'path':_0x3dfca6,'target':_0xb3fed6,'action':_0x38b842(0xbc)};}return symlinkSync(_0xb3fed6,_0x3dfca6,'dir'),{'path':_0x3dfca6,'target':_0xb3fed6,'action':_0x38b842(0xcf)};}function managedTargetSkillLinkPaths(_0x363975,_0x56176f){const _0x6584e6=a107_0x1d0440;if(!existsSync(_0x363975))return[];const _0x5b9140=_0x56176f[_0x6584e6(0xc0)]+'--';return readdirSync(_0x363975,{'withFileTypes':!![]})[_0x6584e6(0xd6)](_0x48f46e=>_0x56176f[_0x6584e6(0xce)]==='project'||_0x48f46e['name']['startsWith'](_0x5b9140))[_0x6584e6(0xeb)](_0x28e5a6=>resolve(_0x363975,_0x28e5a6[_0x6584e6(0xf1)]));}function removeManagedSkillLink(_0x43be73,_0x46acb0,_0x588715){const _0x225ff7=a107_0x1d0440,_0x4f0757=lstatIfPresent(_0x43be73);if(!_0x4f0757?.['isSymbolicLink']())return{'path':_0x43be73,'action':_0x225ff7(0xed),'reason':_0x225ff7(0xbf)};const _0x3c6a9f=resolveSymlinkTarget(_0x43be73);if(!isPathInside(realOrResolved(_0x3c6a9f),realOrResolved(_0x46acb0['managedRoot'])))return{'path':_0x43be73,'action':_0x225ff7(0xed),'reason':_0x225ff7(0xda)};const _0x51f5fc=readMetadataIfPresent(resolve(_0x3c6a9f,METADATA_FILE));if(_0x46acb0[_0x225ff7(0xce)]===_0x225ff7(0xec)&&(_0x51f5fc?.[_0x225ff7(0xc0)]!==_0x46acb0[_0x225ff7(0xc0)]||_0x51f5fc[_0x225ff7(0xe3)]!==_0x588715))return{'path':_0x43be73,'action':'skipped','reason':_0x225ff7(0xcc)};return unlinkSync(_0x43be73),{'path':_0x43be73,'action':_0x225ff7(0xd7)};}function isLinkedFromAnyRoot(_0x2ff753,_0x3c6af1){const _0xcf13dd=a107_0x1d0440,_0xd16d2=realOrResolved(_0x2ff753);for(const _0x25688d of _0x3c6af1){if(!existsSync(_0x25688d))continue;for(const _0x310712 of readdirSync(_0x25688d,{'withFileTypes':!![]})){if(!_0x310712[_0xcf13dd(0xd5)]())continue;const _0x373596=resolve(_0x25688d,_0x310712[_0xcf13dd(0xf1)]);if(realOrResolved(resolveSymlinkTarget(_0x373596))===_0xd16d2)return!![];}}return![];}function runtimeSkillLinkName(_0x53f45d,_0x92b2f1){const _0x3d4ed3=a107_0x1d0440,_0x22f928=safePathSegment(_0x92b2f1,_0x3d4ed3(0xe3));if(_0x53f45d['scope']===_0x3d4ed3(0xec)&&RESERVED_PROJECT_SKILL_CODES[_0x3d4ed3(0xc7)](_0x22f928))throw CliErrors[_0x3d4ed3(0xdf)](_0x3d4ed3(0xd9)+_0x22f928);return _0x53f45d[_0x3d4ed3(0xce)]===_0x3d4ed3(0xec)?_0x22f928:_0x53f45d[_0x3d4ed3(0xc0)]+'--'+_0x22f928;}function runtimeSkillCodeFromLink(_0x41f99b,_0x7841f8){const _0x5f12d3=a107_0x1d0440,_0x2ae934=basename(_0x7841f8);return _0x41f99b[_0x5f12d3(0xce)]===_0x5f12d3(0xec)?_0x2ae934:_0x2ae934['slice']((_0x41f99b[_0x5f12d3(0xc0)]+'--')[_0x5f12d3(0xe9)]);}export function copyManagedSkillDirectory(_0xa30071,_0x5c02c3){const _0x5889e5=a107_0x1d0440,_0x5623ed=resolve(_0x5c02c3,METADATA_FILE),_0x25d989=existsSync(_0x5c02c3);if(_0x25d989){const _0x4b8c5e=lstatSync(_0x5c02c3);if(_0x4b8c5e['isSymbolicLink']())throw CliErrors[_0x5889e5(0xdf)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20'+_0x5c02c3);if(!_0x4b8c5e[_0x5889e5(0xb8)]())throw CliErrors[_0x5889e5(0xdf)](_0x5889e5(0xde)+_0x5c02c3);const _0x2bf6a4=readMetadataIfPresent(_0x5623ed);if(_0x2bf6a4?.[_0x5889e5(0xce)]!=='builtin')throw CliErrors[_0x5889e5(0xdf)](_0x5889e5(0xc5)+_0x5c02c3);}ensureDirSync(dirname(_0x5c02c3));const _0x1b7dde=_0x25d989?readMetadataIfPresent(_0x5623ed)?.[_0x5889e5(0xba)]:undefined,_0x25cab3=readMetadataIfPresent(resolve(_0xa30071,METADATA_FILE))?.[_0x5889e5(0xba)];return _0x25d989&&removeSync(_0x5c02c3),copySkillDirectory(_0xa30071,_0x5c02c3),{'path':_0x5c02c3,'target':_0xa30071,'action':!_0x25d989?_0x5889e5(0xcf):_0x1b7dde===_0x25cab3?'unchanged':_0x5889e5(0xbc)};}function copySkillDirectory(_0x100cc3,_0x577bf1){copySync(_0x100cc3,_0x577bf1,{'dereference':![],'overwrite':!![],'filter'(_0x2adfbe){const _0x3f7ec1=a107_0xb6b3;if(lstatSync(_0x2adfbe)['isSymbolicLink']())throw CliErrors[_0x3f7ec1(0xdf)](_0x3f7ec1(0xd0)+_0x2adfbe);return!![];}});}
@@ -1,3 +1,3 @@
1
- import type { LocalRuntimeSkillItem, LocalRuntimeSkillListInput, SkillSyncPathsOptions } from "./types.js";
1
+ import type { LocalRuntimeSkillItem, LocalRuntimeSkillListInput, RuntimeSkillInstallTarget, SkillSyncPathsOptions } from "./types.js";
2
2
  /** Lists locally cached and linked runtime Skills for one app context. */
3
- export declare function listLocalRuntimeSkills(input: LocalRuntimeSkillListInput, options?: SkillSyncPathsOptions): LocalRuntimeSkillItem[];
3
+ export declare function listLocalRuntimeSkills(input: LocalRuntimeSkillListInput, target: RuntimeSkillInstallTarget, options?: SkillSyncPathsOptions): LocalRuntimeSkillItem[];
@@ -1 +1 @@
1
- (function(_0x3b0880,_0x550236){const _0x5f3a8f=a107_0x24fd,_0xd10823=_0x3b0880();while(!![]){try{const _0x5bdd19=parseInt(_0x5f3a8f(0xc2))/0x1+-parseInt(_0x5f3a8f(0xdd))/0x2*(parseInt(_0x5f3a8f(0xcd))/0x3)+parseInt(_0x5f3a8f(0xca))/0x4+-parseInt(_0x5f3a8f(0xe6))/0x5*(parseInt(_0x5f3a8f(0xe5))/0x6)+parseInt(_0x5f3a8f(0xd0))/0x7+parseInt(_0x5f3a8f(0xcb))/0x8+parseInt(_0x5f3a8f(0xe4))/0x9*(-parseInt(_0x5f3a8f(0xd1))/0xa);if(_0x5bdd19===_0x550236)break;else _0xd10823['push'](_0xd10823['shift']());}catch(_0x291055){_0xd10823['push'](_0xd10823['shift']());}}}(a107_0x25c4,0xda81b));import{existsSync,readdirSync}from'node:fs';import{resolve}from'node:path';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{readMetadataIfPresent}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';import{isRuntimeSkillScope,normalizeRuntimeSkillScopes}from'./scopes.js';export function listLocalRuntimeSkills(_0x359125,_0x26d8de={}){const _0x54eee9=a107_0x24fd,_0x3825f4=safePathSegment(_0x359125[_0x54eee9(0xdb)],_0x54eee9(0xdb)),_0x33c6cc=normalizeRuntimeSkillScopes(_0x359125[_0x54eee9(0xc6)]),_0x3dc0ae=new Set(_0x33c6cc),_0x38eeed=_0x359125[_0x54eee9(0xc4)]?.[_0x54eee9(0xe0)](),_0x5db078=new Map(),_0x1e78be=resolve(getRuntimeSkillCacheRoot(_0x359125['env'],_0x359125[_0x54eee9(0xd3)],_0x26d8de),_0x3825f4);for(const _0x5149b0 of _0x33c6cc){for(const _0x2dc4f7 of localSkillEntryDirs(resolve(_0x1e78be,_0x5149b0))){collectLocalRuntimeSkill(_0x5db078,_0x2dc4f7,{'appCode':_0x3825f4,'scopes':_0x3dc0ae,'code':_0x38eeed,'source':_0x54eee9(0xde)});}}const _0x2f9d67=resolveSkillSyncPaths(_0x26d8de);for(const _0x4ccd0e of runtimeAgentSkillRoots(_0x2f9d67)){for(const _0x2ca668 of localSkillLinkCandidates(_0x4ccd0e,_0x3825f4,_0x3dc0ae)){collectLocalRuntimeSkill(_0x5db078,_0x2ca668,{'appCode':_0x3825f4,'scopes':_0x3dc0ae,'code':_0x38eeed,'source':_0x54eee9(0xe8),'linkedPath':_0x2ca668});}}return Array['from'](_0x5db078[_0x54eee9(0xcf)]())[_0x54eee9(0xc0)](compareLocalRuntimeSkills);}function a107_0x24fd(_0x2543ae,_0x5ed4ba){_0x2543ae=_0x2543ae-0xc0;const _0x25c46f=a107_0x25c4();let _0x24fd5f=_0x25c46f[_0x2543ae];return _0x24fd5f;}function localSkillEntryDirs(_0x1dcd51){const _0xd9e42b=a107_0x24fd;if(!existsSync(_0x1dcd51))return[];return readdirSync(_0x1dcd51,{'withFileTypes':!![]})[_0xd9e42b(0xdf)](_0x134d54=>_0x134d54['isDirectory']()||_0x134d54[_0xd9e42b(0xe7)]())[_0xd9e42b(0xc8)](_0x447dc0=>resolve(_0x1dcd51,_0x447dc0[_0xd9e42b(0xd2)]));}function localSkillLinkCandidates(_0x26d84c,_0x1fe6bc,_0xd368c4){const _0x3c00dc=a107_0x24fd;if(!existsSync(_0x26d84c))return[];const _0x142920=_0x1fe6bc+'--';return readdirSync(_0x26d84c,{'withFileTypes':!![]})[_0x3c00dc(0xdf)](_0x2de038=>_0x2de038['isDirectory']()||_0x2de038['isSymbolicLink']())[_0x3c00dc(0xdf)](_0x316cd2=>_0x316cd2['name'][_0x3c00dc(0xcc)](_0x142920)||_0xd368c4['has'](_0x3c00dc(0xc5)))[_0x3c00dc(0xc8)](_0x5aa5d4=>resolve(_0x26d84c,_0x5aa5d4[_0x3c00dc(0xd2)]));}function collectLocalRuntimeSkill(_0xdacecd,_0x2b6124,_0x4df0ab){const _0xf401f3=a107_0x24fd,_0x4bae00=resolve(_0x2b6124,METADATA_FILE),_0x33daae=readMetadataIfPresent(_0x4bae00);if(!_0x33daae)return;if(_0x33daae[_0xf401f3(0xdb)]!==_0x4df0ab[_0xf401f3(0xdb)])return;if(!isRuntimeSkillScope(_0x33daae[_0xf401f3(0xd4)])||!_0x4df0ab[_0xf401f3(0xc6)][_0xf401f3(0xc9)](_0x33daae[_0xf401f3(0xd4)]))return;const _0x506553=_0x33daae[_0xf401f3(0xd9)]?.[_0xf401f3(0xe0)]();if(!_0x506553)return;if(_0x4df0ab[_0xf401f3(0xc4)]&&_0x506553!==_0x4df0ab[_0xf401f3(0xc4)])return;const _0x1103ce=_0x33daae[_0xf401f3(0xd4)]+':'+_0x506553,_0x2f1a71=_0x4df0ab[_0xf401f3(0xd7)]?[_0x4df0ab['linkedPath']]:[],_0x471657=_0xdacecd['get'](_0x1103ce);if(_0x471657){_0x4df0ab['source']===_0xf401f3(0xde)&&(_0x471657[_0xf401f3(0xe1)]=_0x2b6124,_0x471657['cacheDir']=_0x2b6124,_0x471657[_0xf401f3(0xe2)]=resolve(_0x2b6124,SKILL_FILE),_0x471657[_0xf401f3(0xdc)]=_0x4bae00);for(const _0x420fc4 of _0x2f1a71){!_0x471657[_0xf401f3(0xd5)][_0xf401f3(0xda)](_0x420fc4)&&_0x471657['linkedPaths'][_0xf401f3(0xd8)](_0x420fc4);}_0x471657['linkedPaths']['sort']();return;}_0xdacecd[_0xf401f3(0xc1)](_0x1103ce,{..._0x33daae,'tags':Array[_0xf401f3(0xe3)](_0x33daae[_0xf401f3(0xce)])?_0x33daae[_0xf401f3(0xce)]:[],'scope':_0x33daae['scope'],'source':_0xf401f3(0xd6),'dir':_0x2b6124,'cacheDir':_0x4df0ab[_0xf401f3(0xc7)]==='cache'?_0x2b6124:undefined,'skillMdPath':resolve(_0x2b6124,SKILL_FILE),'metadataPath':_0x4bae00,'linkedPaths':_0x2f1a71});}function compareLocalRuntimeSkills(_0x47a3c2,_0x3148d3){const _0x5f3851=a107_0x24fd,_0x585035={'personal':0x0,'company':0x1,'builtin':0x2};return _0x585035[_0x47a3c2['scope']]-_0x585035[_0x3148d3[_0x5f3851(0xd4)]]||_0x47a3c2[_0x5f3851(0xd9)][_0x5f3851(0xc3)](_0x3148d3['skillCode'])||_0x47a3c2[_0x5f3851(0xe1)][_0x5f3851(0xc3)](_0x3148d3[_0x5f3851(0xe1)]);}function a107_0x25c4(){const _0x1e8245=['3ZoUykL','tags','values','8722588OYWzah','3123070pAnKTv','name','accessKey','scope','linkedPaths','local','linkedPath','push','skillCode','includes','appCode','metadataPath','1188344LfgkEY','cache','filter','trim','dir','skillMdPath','isArray','81zRUJAX','565074PbTFfn','20dUyLoP','isSymbolicLink','link','sort','set','1716441BokAFD','localeCompare','code','builtin','scopes','source','map','has','3250556uiOAjI','7211920GpCAjN','startsWith'];a107_0x25c4=function(){return _0x1e8245;};return a107_0x25c4();}
1
+ (function(_0x5da98f,_0x5445aa){const _0x15a9af=a108_0x945b,_0xa088f6=_0x5da98f();while(!![]){try{const _0x30a91b=parseInt(_0x15a9af(0x1a8))/0x1+-parseInt(_0x15a9af(0x184))/0x2*(-parseInt(_0x15a9af(0x187))/0x3)+parseInt(_0x15a9af(0x19f))/0x4+-parseInt(_0x15a9af(0x18d))/0x5+parseInt(_0x15a9af(0x193))/0x6*(-parseInt(_0x15a9af(0x1aa))/0x7)+parseInt(_0x15a9af(0x19d))/0x8*(parseInt(_0x15a9af(0x1ac))/0x9)+-parseInt(_0x15a9af(0x1a5))/0xa*(parseInt(_0x15a9af(0x19e))/0xb);if(_0x30a91b===_0x5445aa)break;else _0xa088f6['push'](_0xa088f6['shift']());}catch(_0x28ec01){_0xa088f6['push'](_0xa088f6['shift']());}}}(a108_0x5c6d,0xb3828));function a108_0x945b(_0x528368,_0x46b164){_0x528368=_0x528368-0x183;const _0x5c6d04=a108_0x5c6d();let _0x945bad=_0x5c6d04[_0x528368];return _0x945bad;}import{existsSync,readdirSync}from'node:fs';import{resolve}from'node:path';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{readMetadataIfPresent}from'./metadata.js';import{getRuntimeSkillCacheRoot,safePathSegment}from'./paths.js';import{isRuntimeSkillScope,normalizeRuntimeSkillScopes}from'./scopes.js';export function listLocalRuntimeSkills(_0x467a4b,_0x9b7a80,_0x3c0624={}){const _0x4dbaaa=a108_0x945b,_0x55230e=safePathSegment(_0x467a4b[_0x4dbaaa(0x18e)],_0x4dbaaa(0x18e));if(_0x9b7a80[_0x4dbaaa(0x18e)]!==_0x55230e)throw CliErrors[_0x4dbaaa(0x1a0)](_0x4dbaaa(0x1ae)+_0x9b7a80['appCode']+_0x4dbaaa(0x194)+_0x55230e);const _0x12f54c=normalizeRuntimeSkillScopes(_0x467a4b[_0x4dbaaa(0x18b)]),_0x3aef11=new Set(_0x12f54c),_0x50ee60=_0x467a4b[_0x4dbaaa(0x199)]?.[_0x4dbaaa(0x1af)](),_0x140c6c=new Map(),_0x438b11=resolve(getRuntimeSkillCacheRoot(_0x467a4b[_0x4dbaaa(0x186)],_0x467a4b['accessKey'],_0x3c0624),_0x55230e);for(const _0x3b5e9d of _0x12f54c){for(const _0x5baedf of localSkillEntryDirs(resolve(_0x438b11,_0x3b5e9d))){collectLocalRuntimeSkill(_0x140c6c,_0x5baedf,{'appCode':_0x55230e,'scopes':_0x3aef11,'code':_0x50ee60,'source':_0x4dbaaa(0x18f)});}}for(const _0x543d44 of _0x9b7a80['skillRoots']){for(const _0x28f918 of localSkillLinkCandidates(_0x543d44,_0x9b7a80,_0x3aef11)){collectLocalRuntimeSkill(_0x140c6c,_0x28f918,{'appCode':_0x55230e,'scopes':_0x3aef11,'code':_0x50ee60,'source':'link','linkedPath':_0x28f918});}}return Array[_0x4dbaaa(0x1a4)](_0x140c6c[_0x4dbaaa(0x1a1)]())[_0x4dbaaa(0x18c)](compareLocalRuntimeSkills);}function localSkillEntryDirs(_0x8c334a){const _0x5f140c=a108_0x945b;if(!existsSync(_0x8c334a))return[];return readdirSync(_0x8c334a,{'withFileTypes':!![]})['filter'](_0x26a487=>_0x26a487[_0x5f140c(0x190)]()||_0x26a487['isSymbolicLink']())[_0x5f140c(0x1a7)](_0x12f07a=>resolve(_0x8c334a,_0x12f07a[_0x5f140c(0x19b)]));}function localSkillLinkCandidates(_0x4557a4,_0x384ae5,_0x476fb7){const _0x170cac=a108_0x945b;if(!existsSync(_0x4557a4))return[];const _0x1df8e3=_0x384ae5[_0x170cac(0x18e)]+'--';return readdirSync(_0x4557a4,{'withFileTypes':!![]})['filter'](_0xbc73fb=>_0xbc73fb['isDirectory']()||_0xbc73fb[_0x170cac(0x191)]())[_0x170cac(0x183)](_0x2a4e80=>_0x384ae5[_0x170cac(0x188)]==='project'||_0x2a4e80[_0x170cac(0x19b)][_0x170cac(0x1ad)](_0x1df8e3)||_0x476fb7[_0x170cac(0x1a9)]('builtin'))[_0x170cac(0x1a7)](_0x129126=>resolve(_0x4557a4,_0x129126[_0x170cac(0x19b)]));}function a108_0x5c6d(){const _0x4d1358=['linkedPaths','localeCompare','linkedPath','code','includes','name','cacheDir','904NPSYEX','2851167STdwyI','3009844xxMUOY','validation','values','dir','metadataPath','from','50YjujtT','get','map','1093687HFdopL','has','14oiUBec','tags','65295nRzEkP','startsWith','Runtime\x20Skill\x20install\x20target\x20app\x20mismatch:\x20','trim','filter','649160uaPtYP','skillCode','env','6kwuSaX','scope','isArray','source','scopes','sort','2658710ThJuwR','appCode','cache','isDirectory','isSymbolicLink','local','2256372lkNdXi','\x20!=\x20','set'];a108_0x5c6d=function(){return _0x4d1358;};return a108_0x5c6d();}function collectLocalRuntimeSkill(_0x384f14,_0x3f4e06,_0x2dd8ea){const _0x52cbf8=a108_0x945b,_0x19a280=resolve(_0x3f4e06,METADATA_FILE),_0x2d733d=readMetadataIfPresent(_0x19a280);if(!_0x2d733d)return;if(_0x2d733d[_0x52cbf8(0x18e)]!==_0x2dd8ea[_0x52cbf8(0x18e)])return;if(!isRuntimeSkillScope(_0x2d733d[_0x52cbf8(0x188)])||!_0x2dd8ea['scopes'][_0x52cbf8(0x1a9)](_0x2d733d[_0x52cbf8(0x188)]))return;const _0x25538f=_0x2d733d[_0x52cbf8(0x185)]?.[_0x52cbf8(0x1af)]();if(!_0x25538f)return;if(_0x2dd8ea[_0x52cbf8(0x199)]&&_0x25538f!==_0x2dd8ea[_0x52cbf8(0x199)])return;const _0x38f03d=_0x2d733d[_0x52cbf8(0x188)]+':'+_0x25538f,_0x1b26f1=_0x2dd8ea[_0x52cbf8(0x198)]?[_0x2dd8ea[_0x52cbf8(0x198)]]:[],_0x4307ea=_0x384f14[_0x52cbf8(0x1a6)](_0x38f03d);if(_0x4307ea){_0x2dd8ea[_0x52cbf8(0x18a)]===_0x52cbf8(0x18f)&&(_0x4307ea[_0x52cbf8(0x1a2)]=_0x3f4e06,_0x4307ea[_0x52cbf8(0x19c)]=_0x3f4e06,_0x4307ea['skillMdPath']=resolve(_0x3f4e06,SKILL_FILE),_0x4307ea[_0x52cbf8(0x1a3)]=_0x19a280);for(const _0x35061d of _0x1b26f1){!_0x4307ea[_0x52cbf8(0x196)][_0x52cbf8(0x19a)](_0x35061d)&&_0x4307ea[_0x52cbf8(0x196)]['push'](_0x35061d);}_0x4307ea[_0x52cbf8(0x196)][_0x52cbf8(0x18c)]();return;}_0x384f14[_0x52cbf8(0x195)](_0x38f03d,{..._0x2d733d,'tags':Array[_0x52cbf8(0x189)](_0x2d733d[_0x52cbf8(0x1ab)])?_0x2d733d[_0x52cbf8(0x1ab)]:[],'scope':_0x2d733d[_0x52cbf8(0x188)],'source':_0x52cbf8(0x192),'dir':_0x3f4e06,'cacheDir':_0x2dd8ea[_0x52cbf8(0x18a)]===_0x52cbf8(0x18f)?_0x3f4e06:undefined,'skillMdPath':resolve(_0x3f4e06,SKILL_FILE),'metadataPath':_0x19a280,'linkedPaths':_0x1b26f1});}function compareLocalRuntimeSkills(_0x4b414a,_0x113869){const _0xf583ab=a108_0x945b,_0xc343aa={'personal':0x0,'company':0x1,'builtin':0x2};return _0xc343aa[_0x4b414a['scope']]-_0xc343aa[_0x113869[_0xf583ab(0x188)]]||_0x4b414a[_0xf583ab(0x185)][_0xf583ab(0x197)](_0x113869['skillCode'])||_0x4b414a[_0xf583ab(0x1a2)][_0xf583ab(0x197)](_0x113869['dir']);}
@@ -1 +1 @@
1
- (function(_0xa78d66,_0x47b129){const _0x394427=a108_0x46c8,_0x5a6b8d=_0xa78d66();while(!![]){try{const _0x1545dc=-parseInt(_0x394427(0x116))/0x1*(-parseInt(_0x394427(0x13b))/0x2)+parseInt(_0x394427(0x12e))/0x3+parseInt(_0x394427(0x135))/0x4*(parseInt(_0x394427(0x125))/0x5)+parseInt(_0x394427(0x118))/0x6+-parseInt(_0x394427(0x11b))/0x7*(parseInt(_0x394427(0x11f))/0x8)+-parseInt(_0x394427(0x11d))/0x9+parseInt(_0x394427(0x132))/0xa;if(_0x1545dc===_0x47b129)break;else _0x5a6b8d['push'](_0x5a6b8d['shift']());}catch(_0x21657d){_0x5a6b8d['push'](_0x5a6b8d['shift']());}}}(a108_0x36df,0xbf193));import{readFileSync,readdirSync,realpathSync}from'node:fs';import{relative,resolve}from'node:path';import{CliErrors}from'../../errors.js';import{IGNORED_DIR_NAMES,IGNORED_FILE_NAMES,SKILL_FILE}from'./constants.js';function a108_0x46c8(_0x76be25,_0x37ac8e){_0x76be25=_0x76be25-0x114;const _0x36df8c=a108_0x36df();let _0x46c80d=_0x36df8c[_0x76be25];return _0x46c80d;}export function fileContent(_0x4f407d){const _0x431802=a108_0x46c8;return _0x4f407d[_0x431802(0x13d)]??Buffer[_0x431802(0x123)](_0x4f407d[_0x431802(0x12a)]??'',_0x431802(0x139));}export function fileText(_0xa1fa04){const _0x27dcf4=a108_0x46c8;return fileContent(_0xa1fa04)['toString'](_0x27dcf4(0x139));}export function normalizeLocalFiles(_0x27874e){const _0x71f129=a108_0x46c8;if(!Array['isArray'](_0x27874e)||_0x27874e[_0x71f129(0x13a)]===0x0)return[];const _0xae58d=new Map();for(const _0x17430c of _0x27874e){if(!_0x17430c||typeof _0x17430c!=='object'||typeof _0x17430c[_0x71f129(0x126)]!==_0x71f129(0x13f))throw CliErrors[_0x71f129(0x121)](_0x71f129(0x128));const _0x73bfad=normalizeSkillRelativePath(_0x17430c[_0x71f129(0x126)]);if(_0xae58d[_0x71f129(0x11a)](_0x73bfad))throw CliErrors[_0x71f129(0x121)](_0x71f129(0x127)+_0x73bfad);if(_0x17430c[_0x71f129(0x13d)]!==undefined&&!Buffer[_0x71f129(0x12d)](_0x17430c[_0x71f129(0x13d)]))throw CliErrors[_0x71f129(0x121)](_0x71f129(0x11e)+_0x73bfad);if(_0x17430c[_0x71f129(0x13d)]===undefined&&typeof _0x17430c['content']!==_0x71f129(0x13f))throw CliErrors[_0x71f129(0x121)](_0x71f129(0x131)+_0x73bfad);const _0x548c25=fileContent(_0x17430c);_0xae58d[_0x71f129(0x119)](_0x73bfad,{'path':_0x73bfad,'bytes':_0x548c25});}return Array[_0x71f129(0x123)](_0xae58d['values']())[_0x71f129(0x133)](compareSkillFiles);}export function normalizeManifestFiles(_0x493727){const _0x32b98f=a108_0x46c8;if(!Array[_0x32b98f(0x11c)](_0x493727)||_0x493727['length']===0x0)return[];const _0x43b076=new Map();for(const _0x202b75 of _0x493727){if(!_0x202b75||typeof _0x202b75!==_0x32b98f(0x13e)||typeof _0x202b75['path']!==_0x32b98f(0x13f))throw CliErrors[_0x32b98f(0x121)](_0x32b98f(0x128));const _0x18372b=normalizeSkillRelativePath(_0x202b75[_0x32b98f(0x126)]);if(_0x43b076['has'](_0x18372b))throw CliErrors['validation'](_0x32b98f(0x127)+_0x18372b);if(!isSha256Hex(_0x202b75[_0x32b98f(0x120)]))throw CliErrors[_0x32b98f(0x121)]('Skill\x20file\x20sha256\x20is\x20invalid:\x20'+_0x18372b);if(!Number[_0x32b98f(0x124)](_0x202b75[_0x32b98f(0x12c)])||_0x202b75['size']<0x0)throw CliErrors[_0x32b98f(0x121)](_0x32b98f(0x12b)+_0x18372b);_0x43b076[_0x32b98f(0x119)](_0x18372b,{'path':_0x18372b,'sha256':_0x202b75[_0x32b98f(0x120)]['toLowerCase'](),'size':_0x202b75[_0x32b98f(0x12c)]});}return Array[_0x32b98f(0x123)](_0x43b076['values']())[_0x32b98f(0x133)](compareSkillFiles);}export function scanSkillDirectory(_0x4679f7){const _0x5bbd16=realpathSync(_0x4679f7),_0x49ce3b=[];function _0x456d3e(_0x3fb0f7){const _0x1d59e5=a108_0x46c8,_0x30f794=readdirSync(_0x3fb0f7,{'withFileTypes':!![]})[_0x1d59e5(0x133)]((_0x5ef8c9,_0x1106eb)=>_0x5ef8c9[_0x1d59e5(0x137)][_0x1d59e5(0x129)](_0x1106eb[_0x1d59e5(0x137)]));for(const _0x2a4801 of _0x30f794){if(_0x2a4801[_0x1d59e5(0x115)]()&&IGNORED_DIR_NAMES['has'](_0x2a4801[_0x1d59e5(0x137)]))continue;if(IGNORED_FILE_NAMES[_0x1d59e5(0x11a)](_0x2a4801['name']))continue;const _0x1887c7=resolve(_0x3fb0f7,_0x2a4801[_0x1d59e5(0x137)]);if(_0x2a4801['isSymbolicLink']())throw CliErrors[_0x1d59e5(0x121)]('Skill\x20directory\x20contains\x20unsupported\x20symlink:\x20'+_0x1887c7);const _0x3ebd47=toPosixPath(relative(_0x5bbd16,_0x1887c7));if(_0x2a4801[_0x1d59e5(0x115)]()){_0x456d3e(_0x1887c7);continue;}if(!_0x2a4801[_0x1d59e5(0x12f)]())continue;validateSkillRelativePath(_0x3ebd47);const _0x1bdc7a=readFileSync(_0x1887c7);_0x49ce3b[_0x1d59e5(0x114)]({'path':_0x3ebd47,'bytes':_0x1bdc7a});}}return _0x456d3e(_0x5bbd16),normalizeLocalFiles(_0x49ce3b);}export function compareSkillFiles(_0x4148f1,_0x2a278e){const _0x127bc6=a108_0x46c8;if(_0x4148f1[_0x127bc6(0x126)]===SKILL_FILE)return _0x2a278e[_0x127bc6(0x126)]===SKILL_FILE?0x0:-0x1;if(_0x2a278e[_0x127bc6(0x126)]===SKILL_FILE)return 0x1;return Buffer[_0x127bc6(0x136)](Buffer['from'](_0x4148f1[_0x127bc6(0x126)],_0x127bc6(0x139)),Buffer[_0x127bc6(0x123)](_0x2a278e[_0x127bc6(0x126)],_0x127bc6(0x139)));}function a108_0x36df(){const _0x238369=['1048004sScsuQ','compare','name','test','utf8','length','4QlLsKc','Unsafe\x20Skill\x20file\x20path:\x20','bytes','object','string','push','isDirectory','424574RzlnAj','startsWith','411276ejAYXe','set','has','756JNaGDX','isArray','12360663jiCSxm','Skill\x20file\x20bytes\x20must\x20be\x20a\x20Buffer:\x20','90712KCzxiF','sha256','validation','includes','from','isSafeInteger','20anVBdg','path','Duplicate\x20Skill\x20file\x20path:\x20','Skill\x20file\x20path\x20must\x20be\x20text.','localeCompare','content','Skill\x20file\x20size\x20is\x20invalid:\x20','size','isBuffer','3038385RXfRwf','isFile','replace','Skill\x20file\x20content\x20must\x20be\x20text\x20or\x20bytes:\x20','4022650IqqMMo','sort','trim'];a108_0x36df=function(){return _0x238369;};return a108_0x36df();}export function normalizeSkillRelativePath(_0x310e72){const _0x36fee9=a108_0x46c8,_0xbe267a=toPosixPath(_0x310e72[_0x36fee9(0x134)]());return validateSkillRelativePath(_0xbe267a),_0xbe267a;}export function validateSkillRelativePath(_0x419f99){const _0x24064c=a108_0x46c8;if(!_0x419f99||_0x419f99[_0x24064c(0x117)]('/')||_0x419f99[_0x24064c(0x122)]('//'))throw CliErrors[_0x24064c(0x121)]('Unsafe\x20Skill\x20file\x20path:\x20'+_0x419f99);for(const _0x55848a of _0x419f99['split']('/')){if(!_0x55848a||_0x55848a==='.'||_0x55848a==='..')throw CliErrors[_0x24064c(0x121)](_0x24064c(0x13c)+_0x419f99);}}export function toPosixPath(_0xdede8d){const _0x3b9111=a108_0x46c8;return _0xdede8d[_0x3b9111(0x130)](/\\/g,'/');}export function isSha256Hex(_0x211c2a){const _0x3e44a2=a108_0x46c8;return typeof _0x211c2a==='string'&&/^[a-fA-F0-9]{64}$/[_0x3e44a2(0x138)](_0x211c2a);}
1
+ (function(_0x382964,_0x21904c){const _0x4cf9f1=a109_0x3a09,_0x16f9b7=_0x382964();while(!![]){try{const _0x34d53e=-parseInt(_0x4cf9f1(0xe1))/0x1*(-parseInt(_0x4cf9f1(0xfc))/0x2)+parseInt(_0x4cf9f1(0xe3))/0x3+-parseInt(_0x4cf9f1(0xea))/0x4+-parseInt(_0x4cf9f1(0x106))/0x5*(-parseInt(_0x4cf9f1(0xef))/0x6)+-parseInt(_0x4cf9f1(0xeb))/0x7+-parseInt(_0x4cf9f1(0xf4))/0x8*(parseInt(_0x4cf9f1(0xf0))/0x9)+parseInt(_0x4cf9f1(0xe4))/0xa*(-parseInt(_0x4cf9f1(0x105))/0xb);if(_0x34d53e===_0x21904c)break;else _0x16f9b7['push'](_0x16f9b7['shift']());}catch(_0x54f3d8){_0x16f9b7['push'](_0x16f9b7['shift']());}}}(a109_0x5553,0xb98a7));import{readFileSync,readdirSync,realpathSync}from'node:fs';function a109_0x5553(){const _0x3d4c29=['isDirectory','string','Duplicate\x20Skill\x20file\x20path:\x20','replace','includes','315720fkBfpH','370377yLphsX','content','Skill\x20file\x20content\x20must\x20be\x20text\x20or\x20bytes:\x20','isSafeInteger','1874310MEVngt','23121xGFHnK','from','test','sort','1752BhEoZW','has','trim','name','toString','path','validation','size','1969268hcXDQX','split','Skill\x20directory\x20contains\x20unsupported\x20symlink:\x20','isSymbolicLink','bytes','sha256','object','Skill\x20file\x20path\x20must\x20be\x20text.','isFile','19547zRbqUv','15DZFEcN','utf8','toLowerCase','isBuffer','values','isArray','set','1Nztfnh','compare','1887141zqoLkt','6170YbSGzO'];a109_0x5553=function(){return _0x3d4c29;};return a109_0x5553();}import{relative,resolve}from'node:path';import{CliErrors}from'../../errors.js';import{IGNORED_DIR_NAMES,IGNORED_FILE_NAMES,SKILL_FILE}from'./constants.js';export function fileContent(_0x3d5234){const _0x24ae58=a109_0x3a09;return _0x3d5234['bytes']??Buffer[_0x24ae58(0xf1)](_0x3d5234[_0x24ae58(0xec)]??'',_0x24ae58(0xdb));}export function fileText(_0x4fc483){const _0x5e3a64=a109_0x3a09;return fileContent(_0x4fc483)[_0x5e3a64(0xf8)](_0x5e3a64(0xdb));}function a109_0x3a09(_0x5496f4,_0x2c2858){_0x5496f4=_0x5496f4-0xdb;const _0x555346=a109_0x5553();let _0x3a09b5=_0x555346[_0x5496f4];return _0x3a09b5;}export function normalizeLocalFiles(_0x48d725){const _0x1b4ef7=a109_0x3a09;if(!Array[_0x1b4ef7(0xdf)](_0x48d725)||_0x48d725['length']===0x0)return[];const _0xd73647=new Map();for(const _0x3c2676 of _0x48d725){if(!_0x3c2676||typeof _0x3c2676!==_0x1b4ef7(0x102)||typeof _0x3c2676[_0x1b4ef7(0xf9)]!==_0x1b4ef7(0xe6))throw CliErrors[_0x1b4ef7(0xfa)](_0x1b4ef7(0x103));const _0x4f8fce=normalizeSkillRelativePath(_0x3c2676[_0x1b4ef7(0xf9)]);if(_0xd73647['has'](_0x4f8fce))throw CliErrors[_0x1b4ef7(0xfa)](_0x1b4ef7(0xe7)+_0x4f8fce);if(_0x3c2676[_0x1b4ef7(0x100)]!==undefined&&!Buffer[_0x1b4ef7(0xdd)](_0x3c2676[_0x1b4ef7(0x100)]))throw CliErrors[_0x1b4ef7(0xfa)]('Skill\x20file\x20bytes\x20must\x20be\x20a\x20Buffer:\x20'+_0x4f8fce);if(_0x3c2676[_0x1b4ef7(0x100)]===undefined&&typeof _0x3c2676[_0x1b4ef7(0xec)]!==_0x1b4ef7(0xe6))throw CliErrors['validation'](_0x1b4ef7(0xed)+_0x4f8fce);const _0x33dde9=fileContent(_0x3c2676);_0xd73647[_0x1b4ef7(0xe0)](_0x4f8fce,{'path':_0x4f8fce,'bytes':_0x33dde9});}return Array[_0x1b4ef7(0xf1)](_0xd73647[_0x1b4ef7(0xde)]())[_0x1b4ef7(0xf3)](compareSkillFiles);}export function normalizeManifestFiles(_0x3a4d61){const _0xa0752c=a109_0x3a09;if(!Array[_0xa0752c(0xdf)](_0x3a4d61)||_0x3a4d61['length']===0x0)return[];const _0x3c6ae5=new Map();for(const _0x13067b of _0x3a4d61){if(!_0x13067b||typeof _0x13067b!==_0xa0752c(0x102)||typeof _0x13067b[_0xa0752c(0xf9)]!==_0xa0752c(0xe6))throw CliErrors[_0xa0752c(0xfa)](_0xa0752c(0x103));const _0x320379=normalizeSkillRelativePath(_0x13067b['path']);if(_0x3c6ae5[_0xa0752c(0xf5)](_0x320379))throw CliErrors[_0xa0752c(0xfa)](_0xa0752c(0xe7)+_0x320379);if(!isSha256Hex(_0x13067b[_0xa0752c(0x101)]))throw CliErrors[_0xa0752c(0xfa)]('Skill\x20file\x20sha256\x20is\x20invalid:\x20'+_0x320379);if(!Number[_0xa0752c(0xee)](_0x13067b[_0xa0752c(0xfb)])||_0x13067b['size']<0x0)throw CliErrors[_0xa0752c(0xfa)]('Skill\x20file\x20size\x20is\x20invalid:\x20'+_0x320379);_0x3c6ae5[_0xa0752c(0xe0)](_0x320379,{'path':_0x320379,'sha256':_0x13067b['sha256'][_0xa0752c(0xdc)](),'size':_0x13067b[_0xa0752c(0xfb)]});}return Array[_0xa0752c(0xf1)](_0x3c6ae5[_0xa0752c(0xde)]())[_0xa0752c(0xf3)](compareSkillFiles);}export function scanSkillDirectory(_0x1ba166){const _0x3d9935=realpathSync(_0x1ba166),_0x59d4a3=[];function _0x6129cc(_0x2543dd){const _0xfb88d6=a109_0x3a09,_0x3a22bc=readdirSync(_0x2543dd,{'withFileTypes':!![]})['sort']((_0x24b523,_0x5c0438)=>_0x24b523['name']['localeCompare'](_0x5c0438[_0xfb88d6(0xf7)]));for(const _0x51a988 of _0x3a22bc){if(_0x51a988['isDirectory']()&&IGNORED_DIR_NAMES[_0xfb88d6(0xf5)](_0x51a988[_0xfb88d6(0xf7)]))continue;if(IGNORED_FILE_NAMES[_0xfb88d6(0xf5)](_0x51a988[_0xfb88d6(0xf7)]))continue;const _0x2bf282=resolve(_0x2543dd,_0x51a988[_0xfb88d6(0xf7)]);if(_0x51a988[_0xfb88d6(0xff)]())throw CliErrors[_0xfb88d6(0xfa)](_0xfb88d6(0xfe)+_0x2bf282);const _0x3031c2=toPosixPath(relative(_0x3d9935,_0x2bf282));if(_0x51a988[_0xfb88d6(0xe5)]()){_0x6129cc(_0x2bf282);continue;}if(!_0x51a988[_0xfb88d6(0x104)]())continue;validateSkillRelativePath(_0x3031c2);const _0x2a146a=readFileSync(_0x2bf282);_0x59d4a3['push']({'path':_0x3031c2,'bytes':_0x2a146a});}}return _0x6129cc(_0x3d9935),normalizeLocalFiles(_0x59d4a3);}export function compareSkillFiles(_0x5d27f2,_0x30859e){const _0x326ea7=a109_0x3a09;if(_0x5d27f2[_0x326ea7(0xf9)]===SKILL_FILE)return _0x30859e['path']===SKILL_FILE?0x0:-0x1;if(_0x30859e[_0x326ea7(0xf9)]===SKILL_FILE)return 0x1;return Buffer[_0x326ea7(0xe2)](Buffer[_0x326ea7(0xf1)](_0x5d27f2['path'],_0x326ea7(0xdb)),Buffer[_0x326ea7(0xf1)](_0x30859e[_0x326ea7(0xf9)],_0x326ea7(0xdb)));}export function normalizeSkillRelativePath(_0x185d20){const _0x280df3=a109_0x3a09,_0x54b863=toPosixPath(_0x185d20[_0x280df3(0xf6)]());return validateSkillRelativePath(_0x54b863),_0x54b863;}export function validateSkillRelativePath(_0x31f3b5){const _0x25ca6a=a109_0x3a09;if(!_0x31f3b5||_0x31f3b5['startsWith']('/')||_0x31f3b5[_0x25ca6a(0xe9)]('//'))throw CliErrors[_0x25ca6a(0xfa)]('Unsafe\x20Skill\x20file\x20path:\x20'+_0x31f3b5);for(const _0x279232 of _0x31f3b5[_0x25ca6a(0xfd)]('/')){if(!_0x279232||_0x279232==='.'||_0x279232==='..')throw CliErrors[_0x25ca6a(0xfa)]('Unsafe\x20Skill\x20file\x20path:\x20'+_0x31f3b5);}}export function toPosixPath(_0x23b282){const _0x37df6d=a109_0x3a09;return _0x23b282[_0x37df6d(0xe8)](/\\/g,'/');}export function isSha256Hex(_0x5ba983){const _0x6dc0ab=a109_0x3a09;return typeof _0x5ba983===_0x6dc0ab(0xe6)&&/^[a-fA-F0-9]{64}$/[_0x6dc0ab(0xf2)](_0x5ba983);}
@@ -1 +1 @@
1
- (function(_0x38309b,_0x277de1){const _0xf8046a=a109_0x108f,_0x51c555=_0x38309b();while(!![]){try{const _0x6584e0=parseInt(_0xf8046a(0x106))/0x1+parseInt(_0xf8046a(0xdb))/0x2*(parseInt(_0xf8046a(0x103))/0x3)+-parseInt(_0xf8046a(0xdc))/0x4+parseInt(_0xf8046a(0xe1))/0x5+-parseInt(_0xf8046a(0x104))/0x6*(-parseInt(_0xf8046a(0xdd))/0x7)+parseInt(_0xf8046a(0xf9))/0x8*(parseInt(_0xf8046a(0x107))/0x9)+-parseInt(_0xf8046a(0xfc))/0xa;if(_0x6584e0===_0x277de1)break;else _0x51c555['push'](_0x51c555['shift']());}catch(_0x36681b){_0x51c555['push'](_0x51c555['shift']());}}}(a109_0x2565,0x85767));import{existsSync,lstatSync,mkdirSync,readFileSync,rmSync}from'node:fs';import{dirname,resolve}from'node:path';import{isCollection,isMap,isNode,parseDocument,visit}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{resolveManagedFilePath,writeBytesAtomic,writeJsonAtomic}from'./fs-utils.js';import{bufferSha256,contentHash,fileHash}from'./hashing.js';import{fileContent,fileText,normalizeLocalFiles}from'./local-files.js';import{buildMetadata,readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillDir}from'./paths.js';import{extractDownloadedPackage,requirePackageBytes}from'./zip-package.js';export function materializeRuntimeSkill(_0xea769,_0x3ad14f,_0x28a677){const _0x21d5c4=a109_0x108f,_0x355b12=requireSkillCode(_0xea769),_0x56210b=requirePackageBytes(_0x355b12,_0x28a677[_0x21d5c4(0xd6)]),_0x3ffc00=extractDownloadedPackage(_0x56210b),_0x182e2e=_0x3ffc00[_0x21d5c4(0xe4)](_0x21b0cf=>_0x21b0cf[_0x21d5c4(0xec)]===SKILL_FILE);if(!_0x182e2e)throw CliErrors[_0x21d5c4(0xe6)](_0x21d5c4(0x108)+SKILL_FILE+':\x20'+_0x355b12);const _0x324ac7=withMaterializedSkillFrontmatter(_0x3ffc00,_0xea769,_0x355b12),_0xf28beb=_0x324ac7[_0x21d5c4(0xe4)](_0x3639b9=>_0x3639b9[_0x21d5c4(0xec)]===SKILL_FILE),_0x32304c=fileText(_0xf28beb),_0x56b2d4=getRuntimeSkillDir(_0x28a677[_0x21d5c4(0xfb)],_0x28a677[_0x21d5c4(0xdf)],_0x28a677['appCode'],_0x3ad14f,_0x355b12,_0x28a677[_0x21d5c4(0xf1)]),_0x5548ae=resolve(_0x56b2d4,SKILL_FILE),_0x104f3d=resolve(_0x56b2d4,METADATA_FILE),_0x4dbcbd=contentHash(_0x32304c),_0x25a3d5=readMetadataIfPresent(_0x104f3d)?.[_0x21d5c4(0xfa)];ensurePulledFilesCanBeOverwritten(_0x56b2d4,_0x104f3d,_0x324ac7,_0x28a677['force']===!![]),mkdirSync(_0x56b2d4,{'recursive':!![],'mode':0x1c0});const _0x49811c=existsSync(_0x5548ae)?readFileSync(_0x5548ae,_0x21d5c4(0xe0)):undefined;return materializeFiles(_0x56b2d4,_0x324ac7),removeStaleManagedFiles(_0x56b2d4,_0x25a3d5,_0x324ac7),writeJsonAtomic(_0x104f3d,buildMetadata(_0xea769,_0x3ad14f,_0x28a677[_0x21d5c4(0xfd)],_0x4dbcbd,_0x28a677['pulledAt'],_0x324ac7,_0x56210b)),{'skill':_0xea769,'scope':_0x3ad14f,'dir':_0x56b2d4,'skillMdPath':_0x5548ae,'metadataPath':_0x104f3d,'contentHash':_0x4dbcbd,'changed':_0x49811c!==_0x32304c};}function withMaterializedSkillFrontmatter(_0x4afb54,_0x4d1a56,_0x1afa6b){const _0x1cebd1=a109_0x108f,_0xad6a6e=skillDisplayName(_0x4d1a56,_0x1afa6b),_0x45f42f=_0x4d1a56['description']?.[_0x1cebd1(0xd7)]()||_0xad6a6e||_0x1afa6b;return normalizeLocalFiles(_0x4afb54)[_0x1cebd1(0xf2)](_0x36860a=>{const _0x3c21be=_0x1cebd1,_0x5a97d7=fileText(_0x36860a);if(_0x36860a[_0x3c21be(0xec)]!==SKILL_FILE)return _0x36860a;if(hasYamlFrontmatter(_0x5a97d7))return{'path':_0x36860a[_0x3c21be(0xec)],'content':withSyncedDisplayName(_0x5a97d7,_0xad6a6e)};return{'path':_0x36860a[_0x3c21be(0xec)],'content':prependSkillFrontmatter(_0x5a97d7,{'name':_0x1afa6b,'displayName':_0xad6a6e,'description':_0x45f42f})};});}function hasYamlFrontmatter(_0x48ecbd){const _0x1c7f52=a109_0x108f;return/^\uFEFF?---\s*\r?\n/[_0x1c7f52(0xf6)](_0x48ecbd);}function prependSkillFrontmatter(_0x5287df,_0xe6d10a){const _0x3b2fc4=a109_0x108f,_0x4f1ecb=_0x5287df[_0x3b2fc4(0xef)](/^\uFEFF/,'');return['---',_0x3b2fc4(0xde)+yamlString(_0xe6d10a[_0x3b2fc4(0xf5)]),_0xe6d10a['displayName']?'displayName:\x20'+yamlString(_0xe6d10a[_0x3b2fc4(0xe9)]):undefined,_0x3b2fc4(0xf0)+yamlString(_0xe6d10a['description']),'---','',_0x4f1ecb]['filter'](_0xa5cab4=>_0xa5cab4!==undefined)['join']('\x0a');}function a109_0x108f(_0x9fec8e,_0x2bfee5){_0x9fec8e=_0x9fec8e-0xd4;const _0x2565d6=a109_0x2565();let _0x108f0d=_0x2565d6[_0x9fec8e];return _0x108f0d;}function yamlString(_0x59cd3a){const _0x2e52e9=a109_0x108f;return JSON[_0x2e52e9(0xfe)](_0x59cd3a[_0x2e52e9(0xef)](/\r/g,'')['trim']());}function skillDisplayName(_0x1f696d,_0x47d0fd){const _0x1210ca=a109_0x108f,_0x3941ad=_0x1f696d[_0x1210ca(0xf8)]?.[_0x1210ca(0xd7)]();return _0x3941ad||_0x47d0fd;}function withSyncedDisplayName(_0x3cf78a,_0x2af7b8){const _0x5a3e2f=a109_0x108f,_0x133e81=_0x3cf78a['match'](/^(\uFEFF?)---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x133e81)return _0x3cf78a;const _0x55960b=_0x133e81[0x1]??'',_0x4c433b=_0x133e81[0x2]??'',_0x3942f2=parseDocument(_0x4c433b);if(_0x3942f2['errors'][_0x5a3e2f(0x105)]>0x0||!isMap(_0x3942f2[_0x5a3e2f(0xe3)]))return _0x3cf78a;if(_0x2af7b8)_0x3942f2[_0x5a3e2f(0xda)]('displayName',_0x2af7b8);else{if(_0x3942f2[_0x5a3e2f(0xd4)]('displayName'))_0x3942f2[_0x5a3e2f(0xf3)](_0x5a3e2f(0xe9));else return _0x3cf78a;}forceBlockCollections(_0x3942f2[_0x5a3e2f(0xe3)]);const _0x5a8509=_0x3942f2[_0x5a3e2f(0xd8)]({'lineWidth':0x0})[_0x5a3e2f(0xe2)](),_0x4e9667=_0x3cf78a[_0x5a3e2f(0xee)](_0x133e81[0x0][_0x5a3e2f(0x105)])['replace'](/^\r?\n/,'');return _0x55960b+_0x5a3e2f(0xf7)+_0x5a8509+_0x5a3e2f(0xd9)+_0x4e9667;}function forceBlockCollections(_0x9f0f66){if(!isNode(_0x9f0f66))return;visit(_0x9f0f66,(_0x49c104,_0x1e8330)=>{const _0x66e06=a109_0x108f;isCollection(_0x1e8330)&&(_0x1e8330[_0x66e06(0xe5)]=![]);});}function ensurePulledFilesCanBeOverwritten(_0x40652b,_0x105866,_0xd7afa3,_0x23786e){const _0x5427bb=a109_0x108f;if(_0x23786e||!existsSync(_0x105866))return;const _0x2161ae=readMetadataIfPresent(_0x105866);if(!_0x2161ae)return;const _0x29807f=_0x2161ae[_0x5427bb(0xfa)]&&Object[_0x5427bb(0xf4)](_0x2161ae[_0x5427bb(0xfa)])[_0x5427bb(0x105)]>0x0?_0x2161ae[_0x5427bb(0xfa)]:undefined;if(_0x29807f)for(const [_0x11587f,_0x2dd2c4]of Object[_0x5427bb(0xeb)](_0x29807f)){const _0x6164bd=resolveManagedFilePath(_0x40652b,_0x11587f);if(!existsSync(_0x6164bd))throw CliErrors[_0x5427bb(0xe6)]('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x40652b,_0x5427bb(0x100)+_0x11587f);const _0x1ed11d=lstatSync(_0x6164bd);if(!_0x1ed11d[_0x5427bb(0xff)]())throw CliErrors[_0x5427bb(0xe6)](_0x5427bb(0xea)+_0x40652b,'Managed\x20file\x20is\x20no\x20longer\x20a\x20regular\x20file:\x20'+_0x11587f);const _0x310da8=bufferSha256(readFileSync(_0x6164bd));if(_0x310da8!==_0x2dd2c4)throw CliErrors['validation'](_0x5427bb(0xea)+_0x40652b+_0x5427bb(0xe7)+_0x11587f,_0x5427bb(0x102)+_0x11587f);}else{const _0x2aae96=resolve(_0x40652b,SKILL_FILE);if(existsSync(_0x2aae96)&&_0x2161ae[_0x5427bb(0x101)]){const _0x2f4232=contentHash(readFileSync(_0x2aae96,_0x5427bb(0xe0)));if(_0x2f4232!==_0x2161ae['contentHash'])throw CliErrors[_0x5427bb(0xe6)](_0x5427bb(0xd5)+_0x2aae96,_0x5427bb(0xed));}}for(const _0x1dac0f of normalizeLocalFiles(_0xd7afa3)){if(_0x29807f?.[_0x1dac0f['path']])continue;if(!_0x29807f&&_0x1dac0f[_0x5427bb(0xec)]===SKILL_FILE)continue;const _0x57cc84=resolveManagedFilePath(_0x40652b,_0x1dac0f[_0x5427bb(0xec)]);if(!existsSync(_0x57cc84))continue;const _0x116c96=lstatSync(_0x57cc84);if(!_0x116c96['isFile']())throw CliErrors[_0x5427bb(0xe6)](_0x5427bb(0xea)+_0x40652b,'Remote\x20Skill\x20would\x20overwrite\x20a\x20local\x20non-file\x20path:\x20'+_0x1dac0f[_0x5427bb(0xec)]);const _0x47151c=bufferSha256(readFileSync(_0x57cc84));if(_0x47151c!==fileHash(_0x1dac0f))throw CliErrors['validation']('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x40652b,_0x5427bb(0xe8)+_0x1dac0f[_0x5427bb(0xec)]);}}function materializeFiles(_0x4f60bf,_0x3f4ceb){const _0x24f068=a109_0x108f;for(const _0x124084 of normalizeLocalFiles(_0x3f4ceb)){const _0x233c52=resolveManagedFilePath(_0x4f60bf,_0x124084[_0x24f068(0xec)]);mkdirSync(dirname(_0x233c52),{'recursive':!![],'mode':0x1c0}),writeBytesAtomic(_0x233c52,fileContent(_0x124084),0x180);}}function removeStaleManagedFiles(_0x530976,_0x580ac9,_0x59e2b6){const _0x50ed62=a109_0x108f;if(!_0x580ac9)return;const _0x2e40f0=new Set(normalizeLocalFiles(_0x59e2b6)['map'](_0x5507df=>_0x5507df[_0x50ed62(0xec)]));for(const _0x4eee9a of Object[_0x50ed62(0xf4)](_0x580ac9)){if(_0x2e40f0[_0x50ed62(0xd4)](_0x4eee9a))continue;const _0x34c0d8=resolveManagedFilePath(_0x530976,_0x4eee9a);existsSync(_0x34c0d8)&&lstatSync(_0x34c0d8)[_0x50ed62(0xff)]()&&rmSync(_0x34c0d8,{'force':!![]});}}function a109_0x2565(){const _0x4e875f=['Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.','slice','replace','description:\x20','paths','map','delete','keys','name','test','---\x0a','skillName','4376UKDwps','fileHashes','env','25711210ezpmsr','appCode','stringify','isFile','Managed\x20file\x20was\x20removed\x20locally:\x20','contentHash','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.\x20Changed\x20file:\x20','150825dxYFKC','341832NqoiGG','length','420828ZGjgcW','17127RBVROZ','Runtime\x20Skill\x20package\x20is\x20missing\x20','has','Local\x20SKILL.md\x20has\x20unpushed\x20edits:\x20','packageBytes','trim','toString','\x0a---\x0a\x0a','set','14QbiCQT','631500KihxjM','77gVLOjt','name:\x20','accessKey','utf8','4176365WGFFFn','trimEnd','contents','find','flow','validation','.\x20Changed\x20file:\x20','Remote\x20Skill\x20would\x20overwrite\x20an\x20unmanaged\x20local\x20file:\x20','displayName','Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20','entries','path'];a109_0x2565=function(){return _0x4e875f;};return a109_0x2565();}
1
+ (function(_0x38633d,_0x2b8c27){const _0x4f9d36=a110_0x5eba,_0xb640dd=_0x38633d();while(!![]){try{const _0x476025=-parseInt(_0x4f9d36(0x82))/0x1+parseInt(_0x4f9d36(0x8b))/0x2+parseInt(_0x4f9d36(0x83))/0x3+parseInt(_0x4f9d36(0x77))/0x4+-parseInt(_0x4f9d36(0x9b))/0x5+parseInt(_0x4f9d36(0x8a))/0x6*(parseInt(_0x4f9d36(0xa5))/0x7)+-parseInt(_0x4f9d36(0x96))/0x8;if(_0x476025===_0x2b8c27)break;else _0xb640dd['push'](_0xb640dd['shift']());}catch(_0x362ae7){_0xb640dd['push'](_0xb640dd['shift']());}}}(a110_0x53f4,0xbb5c1));import{existsSync,lstatSync,mkdirSync,readFileSync,rmSync}from'node:fs';import{dirname,resolve}from'node:path';import{isCollection,isMap,isNode,parseDocument,visit}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{resolveManagedFilePath,writeBytesAtomic,writeJsonAtomic}from'./fs-utils.js';function a110_0x53f4(){const _0x22eb35=['keys','---','match','name','\x0a---\x0a\x0a','5703808qglcNV','utf8','set','isFile','test','---\x0a','Local\x20SKILL.md\x20has\x20unpushed\x20edits:\x20','Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20','validation','displayName:\x20','has','604604ENIGYe','3381957kzIpBz','displayName','fileHashes','paths','contents','flow','path','2655780vpgBGk','2129306yAOCxf','Remote\x20Skill\x20would\x20overwrite\x20an\x20unmanaged\x20local\x20file:\x20','name:\x20','pulledAt','delete','appCode','trimEnd','replace','entries','Managed\x20file\x20was\x20removed\x20locally:\x20','.\x20Changed\x20file:\x20','21471928TigQlr','skillName','Runtime\x20Skill\x20package\x20is\x20missing\x20','map','accessKey','2235820gaqjAH','length','env','force','filter','description','slice','Managed\x20file\x20is\x20no\x20longer\x20a\x20regular\x20file:\x20','find','Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.','14OxEJXP','join'];a110_0x53f4=function(){return _0x22eb35;};return a110_0x53f4();}import{bufferSha256,contentHash,fileHash}from'./hashing.js';import{fileContent,fileText,normalizeLocalFiles}from'./local-files.js';import{buildMetadata,readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillDir}from'./paths.js';import{extractDownloadedPackage,requirePackageBytes}from'./zip-package.js';export function materializeRuntimeSkill(_0x4b938b,_0xa43e9b,_0x1cc837){const _0x5ef433=a110_0x5eba,_0x3a5504=requireSkillCode(_0x4b938b),_0x21c8a6=requirePackageBytes(_0x3a5504,_0x1cc837['packageBytes']),_0x23494c=extractDownloadedPackage(_0x21c8a6),_0xbb9c8f=_0x23494c[_0x5ef433(0xa3)](_0xf59fd4=>_0xf59fd4['path']===SKILL_FILE);if(!_0xbb9c8f)throw CliErrors[_0x5ef433(0x7f)](_0x5ef433(0x98)+SKILL_FILE+':\x20'+_0x3a5504);const _0x1b1d30=withMaterializedSkillFrontmatter(_0x23494c,_0x4b938b,_0x3a5504),_0x162de4=_0x1b1d30[_0x5ef433(0xa3)](_0x22d34d=>_0x22d34d['path']===SKILL_FILE),_0x168288=fileText(_0x162de4),_0x3592cc=getRuntimeSkillDir(_0x1cc837[_0x5ef433(0x9d)],_0x1cc837[_0x5ef433(0x9a)],_0x1cc837[_0x5ef433(0x90)],_0xa43e9b,_0x3a5504,_0x1cc837[_0x5ef433(0x86)]),_0x18f659=resolve(_0x3592cc,SKILL_FILE),_0x9a1ead=resolve(_0x3592cc,METADATA_FILE),_0x326824=contentHash(_0x168288),_0x24a1d6=readMetadataIfPresent(_0x9a1ead)?.[_0x5ef433(0x85)];ensurePulledFilesCanBeOverwritten(_0x3592cc,_0x9a1ead,_0x1b1d30,_0x1cc837[_0x5ef433(0x9e)]===!![]),mkdirSync(_0x3592cc,{'recursive':!![],'mode':0x1c0});const _0x2c090d=existsSync(_0x18f659)?readFileSync(_0x18f659,_0x5ef433(0x78)):undefined;return materializeFiles(_0x3592cc,_0x1b1d30),removeStaleManagedFiles(_0x3592cc,_0x24a1d6,_0x1b1d30),writeJsonAtomic(_0x9a1ead,buildMetadata(_0x4b938b,_0xa43e9b,_0x1cc837[_0x5ef433(0x90)],_0x326824,_0x1cc837[_0x5ef433(0x8e)],_0x1b1d30,_0x21c8a6)),{'skill':_0x4b938b,'scope':_0xa43e9b,'dir':_0x3592cc,'skillMdPath':_0x18f659,'metadataPath':_0x9a1ead,'contentHash':_0x326824,'changed':_0x2c090d!==_0x168288};}function a110_0x5eba(_0x1722f0,_0x33c913){_0x1722f0=_0x1722f0-0x73;const _0x53f49f=a110_0x53f4();let _0x5eba54=_0x53f49f[_0x1722f0];return _0x5eba54;}function withMaterializedSkillFrontmatter(_0x18b4b1,_0x31c223,_0x337b09){const _0x18966f=a110_0x5eba,_0x4edaf1=skillDisplayName(_0x31c223,_0x337b09),_0x5c13b6=_0x31c223['description']?.['trim']()||_0x4edaf1||_0x337b09;return normalizeLocalFiles(_0x18b4b1)[_0x18966f(0x99)](_0x308590=>{const _0x1165c2=_0x18966f,_0x2de6e1=fileText(_0x308590);if(_0x308590[_0x1165c2(0x89)]!==SKILL_FILE)return _0x308590;if(hasYamlFrontmatter(_0x2de6e1))return{'path':_0x308590[_0x1165c2(0x89)],'content':withSyncedDisplayName(_0x2de6e1,_0x4edaf1)};return{'path':_0x308590[_0x1165c2(0x89)],'content':prependSkillFrontmatter(_0x2de6e1,{'name':_0x337b09,'displayName':_0x4edaf1,'description':_0x5c13b6})};});}function hasYamlFrontmatter(_0x58199a){const _0x21f287=a110_0x5eba;return/^\uFEFF?---\s*\r?\n/[_0x21f287(0x7b)](_0x58199a);}function prependSkillFrontmatter(_0xd10a3f,_0x58af64){const _0x33a9e0=a110_0x5eba,_0x2f18c3=_0xd10a3f[_0x33a9e0(0x92)](/^\uFEFF/,'');return['---',_0x33a9e0(0x8d)+yamlString(_0x58af64[_0x33a9e0(0x75)]),_0x58af64[_0x33a9e0(0x84)]?_0x33a9e0(0x80)+yamlString(_0x58af64['displayName']):undefined,'description:\x20'+yamlString(_0x58af64[_0x33a9e0(0xa0)]),_0x33a9e0(0x73),'',_0x2f18c3][_0x33a9e0(0x9f)](_0x19291d=>_0x19291d!==undefined)[_0x33a9e0(0xa6)]('\x0a');}function yamlString(_0x3c95ea){const _0x1d12cf=a110_0x5eba;return JSON['stringify'](_0x3c95ea[_0x1d12cf(0x92)](/\r/g,'')['trim']());}function skillDisplayName(_0xab0b93,_0xd5ce64){const _0x5ccf0f=a110_0x5eba,_0x52e8dc=_0xab0b93[_0x5ccf0f(0x97)]?.['trim']();return _0x52e8dc||_0xd5ce64;}function withSyncedDisplayName(_0x2918f1,_0x1f8db9){const _0x522fe8=a110_0x5eba,_0x429dbd=_0x2918f1[_0x522fe8(0x74)](/^(\uFEFF?)---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x429dbd)return _0x2918f1;const _0x3e46fb=_0x429dbd[0x1]??'',_0x3df0e9=_0x429dbd[0x2]??'',_0x55f02e=parseDocument(_0x3df0e9);if(_0x55f02e['errors']['length']>0x0||!isMap(_0x55f02e[_0x522fe8(0x87)]))return _0x2918f1;if(_0x1f8db9)_0x55f02e[_0x522fe8(0x79)](_0x522fe8(0x84),_0x1f8db9);else{if(_0x55f02e[_0x522fe8(0x81)](_0x522fe8(0x84)))_0x55f02e[_0x522fe8(0x8f)](_0x522fe8(0x84));else return _0x2918f1;}forceBlockCollections(_0x55f02e[_0x522fe8(0x87)]);const _0x4ac1fd=_0x55f02e['toString']({'lineWidth':0x0})[_0x522fe8(0x91)](),_0xb2e414=_0x2918f1[_0x522fe8(0xa1)](_0x429dbd[0x0]['length'])['replace'](/^\r?\n/,'');return _0x3e46fb+_0x522fe8(0x7c)+_0x4ac1fd+_0x522fe8(0x76)+_0xb2e414;}function forceBlockCollections(_0x33163c){if(!isNode(_0x33163c))return;visit(_0x33163c,(_0x4c35ae,_0x305157)=>{const _0x1241f0=a110_0x5eba;isCollection(_0x305157)&&(_0x305157[_0x1241f0(0x88)]=![]);});}function ensurePulledFilesCanBeOverwritten(_0x23b772,_0x34f1c2,_0x129f00,_0x5e705b){const _0x5057e1=a110_0x5eba;if(_0x5e705b||!existsSync(_0x34f1c2))return;const _0x167f76=readMetadataIfPresent(_0x34f1c2);if(!_0x167f76)return;const _0x5e9fa7=_0x167f76[_0x5057e1(0x85)]&&Object[_0x5057e1(0xa7)](_0x167f76[_0x5057e1(0x85)])[_0x5057e1(0x9c)]>0x0?_0x167f76[_0x5057e1(0x85)]:undefined;if(_0x5e9fa7)for(const [_0x51f13e,_0x2d2629]of Object[_0x5057e1(0x93)](_0x5e9fa7)){const _0x3a58f6=resolveManagedFilePath(_0x23b772,_0x51f13e);if(!existsSync(_0x3a58f6))throw CliErrors[_0x5057e1(0x7f)](_0x5057e1(0x7e)+_0x23b772,_0x5057e1(0x94)+_0x51f13e);const _0x518f97=lstatSync(_0x3a58f6);if(!_0x518f97[_0x5057e1(0x7a)]())throw CliErrors['validation'](_0x5057e1(0x7e)+_0x23b772,_0x5057e1(0xa2)+_0x51f13e);const _0x15f102=bufferSha256(readFileSync(_0x3a58f6));if(_0x15f102!==_0x2d2629)throw CliErrors[_0x5057e1(0x7f)](_0x5057e1(0x7e)+_0x23b772+_0x5057e1(0x95)+_0x51f13e,'Push\x20the\x20directory\x20first,\x20then\x20rerun\x20skill\x20install.\x20Changed\x20file:\x20'+_0x51f13e);}else{const _0x5693a5=resolve(_0x23b772,SKILL_FILE);if(existsSync(_0x5693a5)&&_0x167f76['contentHash']){const _0x20bda3=contentHash(readFileSync(_0x5693a5,'utf8'));if(_0x20bda3!==_0x167f76['contentHash'])throw CliErrors[_0x5057e1(0x7f)](_0x5057e1(0x7d)+_0x5693a5,_0x5057e1(0xa4));}}for(const _0x44de5b of normalizeLocalFiles(_0x129f00)){if(_0x5e9fa7?.[_0x44de5b['path']])continue;if(!_0x5e9fa7&&_0x44de5b[_0x5057e1(0x89)]===SKILL_FILE)continue;const _0x518734=resolveManagedFilePath(_0x23b772,_0x44de5b['path']);if(!existsSync(_0x518734))continue;const _0xaac74c=lstatSync(_0x518734);if(!_0xaac74c[_0x5057e1(0x7a)]())throw CliErrors[_0x5057e1(0x7f)]('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x23b772,'Remote\x20Skill\x20would\x20overwrite\x20a\x20local\x20non-file\x20path:\x20'+_0x44de5b[_0x5057e1(0x89)]);const _0x1c60d4=bufferSha256(readFileSync(_0x518734));if(_0x1c60d4!==fileHash(_0x44de5b))throw CliErrors[_0x5057e1(0x7f)]('Local\x20Skill\x20files\x20have\x20unpushed\x20edits:\x20'+_0x23b772,_0x5057e1(0x8c)+_0x44de5b[_0x5057e1(0x89)]);}}function materializeFiles(_0x3e64a4,_0x59c929){const _0x1c4e18=a110_0x5eba;for(const _0x3e675c of normalizeLocalFiles(_0x59c929)){const _0x13642d=resolveManagedFilePath(_0x3e64a4,_0x3e675c[_0x1c4e18(0x89)]);mkdirSync(dirname(_0x13642d),{'recursive':!![],'mode':0x1c0}),writeBytesAtomic(_0x13642d,fileContent(_0x3e675c),0x180);}}function removeStaleManagedFiles(_0xe51b3c,_0x4b094b,_0x2a8cb1){const _0x513d19=a110_0x5eba;if(!_0x4b094b)return;const _0x55c5b9=new Set(normalizeLocalFiles(_0x2a8cb1)[_0x513d19(0x99)](_0x7813df=>_0x7813df['path']));for(const _0x3ceccc of Object[_0x513d19(0xa7)](_0x4b094b)){if(_0x55c5b9[_0x513d19(0x81)](_0x3ceccc))continue;const _0x2a0c79=resolveManagedFilePath(_0xe51b3c,_0x3ceccc);existsSync(_0x2a0c79)&&lstatSync(_0x2a0c79)[_0x513d19(0x7a)]()&&rmSync(_0x2a0c79,{'force':!![]});}}
@@ -1 +1 @@
1
- function a110_0x4887(){const _0x4f62a8=['tags','readonly','858565DDUcHW','3762424tzOTfp','2AAWYPZ','version','length','trim','map','5cXcRGG','3256491BLShRf','sourceSessionId','6541926FmdfnP','forkedFromSkillId','object','tenantCode','manifest','Invalid\x20','703584YEYusx','path','userId','33DfwRWF','fromEntries','forkedFromVersion','isArray','validation','4569550ERUNmo','string','parse','7SzxWOg','zipSha256','description','6833348NgtFSP','toISOString','skillCode','personal','status'];a110_0x4887=function(){return _0x4f62a8;};return a110_0x4887();}(function(_0x2abbce,_0x394abc){const _0x2d0751=a110_0x1105,_0x1e4d6a=_0x2abbce();while(!![]){try{const _0xa307e1=parseInt(_0x2d0751(0x1af))/0x1+-parseInt(_0x2d0751(0x1b1))/0x2*(parseInt(_0x2d0751(0x1b7))/0x3)+-parseInt(_0x2d0751(0x1cd))/0x4*(parseInt(_0x2d0751(0x1b6))/0x5)+parseInt(_0x2d0751(0x1b9))/0x6+parseInt(_0x2d0751(0x1ca))/0x7*(parseInt(_0x2d0751(0x1b0))/0x8)+-parseInt(_0x2d0751(0x1bf))/0x9+parseInt(_0x2d0751(0x1c7))/0xa*(parseInt(_0x2d0751(0x1c2))/0xb);if(_0xa307e1===_0x394abc)break;else _0x1e4d6a['push'](_0x1e4d6a['shift']());}catch(_0x56f330){_0x1e4d6a['push'](_0x1e4d6a['shift']());}}}(a110_0x4887,0xe021c));import{existsSync,readFileSync}from'node:fs';function a110_0x1105(_0x375e4f,_0x3f290c){_0x375e4f=_0x375e4f-0x1ac;const _0x4887f6=a110_0x4887();let _0x1105ca=_0x4887f6[_0x375e4f];return _0x1105ca;}import{CliErrors}from'../../errors.js';import{METADATA_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,normalizeLocalFiles}from'./local-files.js';import{buildSkillPackage,localFilesToManifestFiles}from'./zip-package.js';export function buildMetadata(_0x1770f6,_0x4d9547,_0x31f046,_0x51963d,_0x4d1405,_0x2e555a,_0x3167fb){const _0x14ae58=a110_0x1105,_0xfe6310=_0x2e555a?normalizeLocalFiles(_0x2e555a):[],_0x5f1b56=!_0x3167fb&&_0xfe6310[_0x14ae58(0x1b3)]>0x0?buildSkillPackage(_0xfe6310):undefined,_0x2353db=_0x3167fb?bufferSha256(_0x3167fb):_0x5f1b56?.[_0x14ae58(0x1bd)][_0x14ae58(0x1cb)],_0x43d03e=_0x3167fb?.['length']??_0x5f1b56?.[_0x14ae58(0x1bd)]['zipSize'],_0x528870=_0xfe6310[_0x14ae58(0x1b3)]>0x0?Object[_0x14ae58(0x1c3)](_0xfe6310[_0x14ae58(0x1b5)](_0x623c97=>[_0x623c97['path'],fileHash(_0x623c97)])):undefined;return{'schemaVersion':_0xfe6310[_0x14ae58(0x1b3)]>0x0?0x2:0x1,'id':_0x1770f6['id'],'appCode':_0x31f046,'skillCode':requireSkillCode(_0x1770f6),'skillName':_0x1770f6['skillName'],'description':_0x1770f6[_0x14ae58(0x1cc)],'scope':_0x4d9547,'readonly':_0x4d9547!==_0x14ae58(0x1d0)||_0x1770f6[_0x14ae58(0x1ae)]===!![],'tenantCode':_0x1770f6[_0x14ae58(0x1bc)],'userId':_0x1770f6[_0x14ae58(0x1c1)],'version':_0x1770f6[_0x14ae58(0x1b2)],'status':_0x1770f6[_0x14ae58(0x1ac)],'tags':Array[_0x14ae58(0x1c5)](_0x1770f6[_0x14ae58(0x1ad)])?_0x1770f6['tags']:[],'hasUpstreamUpdate':_0x1770f6['hasUpstreamUpdate'],'forkedFromSkillId':_0x1770f6[_0x14ae58(0x1ba)],'forkedFromVersion':_0x1770f6[_0x14ae58(0x1c4)],'sourceSessionId':_0x1770f6[_0x14ae58(0x1b8)],'contentHash':_0x51963d,'fileHashes':_0x528870,'treeHash':_0xfe6310[_0x14ae58(0x1b3)]>0x0?fileTreeHash(localFilesToManifestFiles(_0xfe6310)):undefined,'ossPath':remoteManifestOssPath(_0x1770f6['files']),'zipSha256':_0x2353db,'zipSize':_0x43d03e,'files':_0xfe6310[_0x14ae58(0x1b3)]>0x0?_0xfe6310['map'](_0xe2db35=>({'path':_0xe2db35[_0x14ae58(0x1c0)],'hash':fileHash(_0xe2db35),'size':fileContent(_0xe2db35)[_0x14ae58(0x1b3)]})):undefined,'pulledAt':_0x4d1405??new Date()[_0x14ae58(0x1ce)]()};}export function requireSkillCode(_0x1a3f87){const _0x5ee134=a110_0x1105,_0x464c85=_0x1a3f87[_0x5ee134(0x1cf)]?.[_0x5ee134(0x1b4)]();if(!_0x464c85)throw CliErrors[_0x5ee134(0x1c6)]('Runtime\x20Skill\x20is\x20missing\x20skillCode.');return _0x464c85;}export function readMetadataIfPresent(_0x2097cd){const _0x1d4c3a=a110_0x1105;if(!existsSync(_0x2097cd))return undefined;try{const _0x46786d=JSON[_0x1d4c3a(0x1c9)](readFileSync(_0x2097cd,'utf8'));return _0x46786d;}catch{throw CliErrors[_0x1d4c3a(0x1c6)](_0x1d4c3a(0x1be)+METADATA_FILE+':\x20'+_0x2097cd);}}function remoteManifestOssPath(_0x2a15a0){const _0x1fcd79=a110_0x1105;if(!_0x2a15a0||typeof _0x2a15a0!==_0x1fcd79(0x1bb)||Array['isArray'](_0x2a15a0))return undefined;const _0x3af167=_0x2a15a0['ossPath'];return typeof _0x3af167===_0x1fcd79(0x1c8)&&_0x3af167['trim']()?_0x3af167[_0x1fcd79(0x1b4)]():undefined;}
1
+ (function(_0x2246c5,_0xb57086){const _0x218187=a111_0x303f,_0x346a5a=_0x2246c5();while(!![]){try{const _0x40d4a4=-parseInt(_0x218187(0x18b))/0x1+-parseInt(_0x218187(0x1aa))/0x2*(parseInt(_0x218187(0x1a0))/0x3)+parseInt(_0x218187(0x18f))/0x4*(-parseInt(_0x218187(0x18e))/0x5)+-parseInt(_0x218187(0x190))/0x6*(-parseInt(_0x218187(0x189))/0x7)+-parseInt(_0x218187(0x19f))/0x8+parseInt(_0x218187(0x195))/0x9*(-parseInt(_0x218187(0x197))/0xa)+parseInt(_0x218187(0x198))/0xb;if(_0x40d4a4===_0xb57086)break;else _0x346a5a['push'](_0x346a5a['shift']());}catch(_0x564199){_0x346a5a['push'](_0x346a5a['shift']());}}}(a111_0x5013,0x56868));import{existsSync,readFileSync}from'node:fs';import{CliErrors}from'../../errors.js';function a111_0x303f(_0x49a3d9,_0x46a498){_0x49a3d9=_0x49a3d9-0x184;const _0x5013f7=a111_0x5013();let _0x303f40=_0x5013f7[_0x49a3d9];return _0x303f40;}import{METADATA_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,normalizeLocalFiles}from'./local-files.js';import{buildSkillPackage,localFilesToManifestFiles}from'./zip-package.js';export function buildMetadata(_0x31d650,_0xa9cf07,_0x5efbce,_0x2f6bce,_0x109684,_0x291f6d,_0x2bf14c){const _0x3f0086=a111_0x303f,_0x10d31c=_0x291f6d?normalizeLocalFiles(_0x291f6d):[],_0x12c5b2=!_0x2bf14c&&_0x10d31c[_0x3f0086(0x1a2)]>0x0?buildSkillPackage(_0x10d31c):undefined,_0x44bb09=_0x2bf14c?bufferSha256(_0x2bf14c):_0x12c5b2?.[_0x3f0086(0x1a6)][_0x3f0086(0x18c)],_0x27751d=_0x2bf14c?.[_0x3f0086(0x1a2)]??_0x12c5b2?.[_0x3f0086(0x1a6)][_0x3f0086(0x19a)],_0x57221e=_0x10d31c['length']>0x0?Object[_0x3f0086(0x188)](_0x10d31c['map'](_0x2d0731=>[_0x2d0731[_0x3f0086(0x199)],fileHash(_0x2d0731)])):undefined;return{'schemaVersion':_0x10d31c['length']>0x0?0x2:0x1,'id':_0x31d650['id'],'appCode':_0x5efbce,'skillCode':requireSkillCode(_0x31d650),'skillName':_0x31d650[_0x3f0086(0x1a3)],'description':_0x31d650[_0x3f0086(0x193)],'scope':_0xa9cf07,'readonly':_0xa9cf07!==_0x3f0086(0x194)||_0x31d650[_0x3f0086(0x1a1)]===!![],'tenantCode':_0x31d650[_0x3f0086(0x1a4)],'userId':_0x31d650[_0x3f0086(0x186)],'version':_0x31d650['version'],'status':_0x31d650[_0x3f0086(0x19e)],'tags':Array['isArray'](_0x31d650[_0x3f0086(0x19c)])?_0x31d650[_0x3f0086(0x19c)]:[],'hasUpstreamUpdate':_0x31d650[_0x3f0086(0x184)],'forkedFromSkillId':_0x31d650['forkedFromSkillId'],'forkedFromVersion':_0x31d650[_0x3f0086(0x19d)],'sourceSessionId':_0x31d650['sourceSessionId'],'contentHash':_0x2f6bce,'fileHashes':_0x57221e,'treeHash':_0x10d31c[_0x3f0086(0x1a2)]>0x0?fileTreeHash(localFilesToManifestFiles(_0x10d31c)):undefined,'ossPath':remoteManifestOssPath(_0x31d650[_0x3f0086(0x1a7)]),'zipSha256':_0x44bb09,'zipSize':_0x27751d,'files':_0x10d31c['length']>0x0?_0x10d31c[_0x3f0086(0x191)](_0x2510a4=>({'path':_0x2510a4['path'],'hash':fileHash(_0x2510a4),'size':fileContent(_0x2510a4)[_0x3f0086(0x1a2)]})):undefined,'pulledAt':_0x109684??new Date()[_0x3f0086(0x1a9)]()};}function a111_0x5013(){const _0x2c33a6=['tenantCode','string','manifest','files','skillCode','toISOString','1121674vpiaAv','Runtime\x20Skill\x20is\x20missing\x20skillCode.','hasUpstreamUpdate','ossPath','userId','isArray','fromEntries','49xhEEUI','Invalid\x20','137508xlSbOM','zipSha256','trim','1645YDuvZN','6472YGvRjr','4506IzSXXL','map','validation','description','personal','128574AJPJhi','parse','300DsNWax','23866458JdGyWL','path','zipSize','object','tags','forkedFromVersion','status','1290240kQntuW','3TdRcey','readonly','length','skillName'];a111_0x5013=function(){return _0x2c33a6;};return a111_0x5013();}export function requireSkillCode(_0x314df3){const _0x5591e1=a111_0x303f,_0xf5c028=_0x314df3[_0x5591e1(0x1a8)]?.[_0x5591e1(0x18d)]();if(!_0xf5c028)throw CliErrors[_0x5591e1(0x192)](_0x5591e1(0x1ab));return _0xf5c028;}export function readMetadataIfPresent(_0x5c532d){const _0x217270=a111_0x303f;if(!existsSync(_0x5c532d))return undefined;try{const _0x397445=JSON[_0x217270(0x196)](readFileSync(_0x5c532d,'utf8'));return _0x397445;}catch{throw CliErrors[_0x217270(0x192)](_0x217270(0x18a)+METADATA_FILE+':\x20'+_0x5c532d);}}function remoteManifestOssPath(_0xfe6c71){const _0x4385e9=a111_0x303f;if(!_0xfe6c71||typeof _0xfe6c71!==_0x4385e9(0x19b)||Array[_0x4385e9(0x187)](_0xfe6c71))return undefined;const _0x35a1ac=_0xfe6c71[_0x4385e9(0x185)];return typeof _0x35a1ac===_0x4385e9(0x1a5)&&_0x35a1ac['trim']()?_0x35a1ac[_0x4385e9(0x18d)]():undefined;}
@@ -1 +1 @@
1
- (function(_0x19cd70,_0x3ad456){const _0x47415f=a111_0x93b3,_0x2d5982=_0x19cd70();while(!![]){try{const _0x3f2f85=parseInt(_0x47415f(0xf9))/0x1*(parseInt(_0x47415f(0xe6))/0x2)+-parseInt(_0x47415f(0xf3))/0x3*(parseInt(_0x47415f(0xf8))/0x4)+-parseInt(_0x47415f(0xfb))/0x5*(-parseInt(_0x47415f(0xeb))/0x6)+parseInt(_0x47415f(0xfc))/0x7+-parseInt(_0x47415f(0xfa))/0x8+-parseInt(_0x47415f(0xf6))/0x9+parseInt(_0x47415f(0xf5))/0xa;if(_0x3f2f85===_0x3ad456)break;else _0x2d5982['push'](_0x2d5982['shift']());}catch(_0x205fb6){_0x2d5982['push'](_0x2d5982['shift']());}}}(a111_0x36b9,0x6a2a0));import{existsSync}from'node:fs';import{homedir}from'node:os';import{resolve}from'node:path';function a111_0x36b9(){const _0x504988=['cacheRoot','996RerQAv','homeDirName','workbuddySkillsDir','CLAUDE_SKILL_ROOT','.claude','trim','claudeSkillsDir','validation','1618653RJEtJN','SKILL_ROOT','12491760EhFYjx','5351922ZHHgQt','.agents','4gLxEFF','15712aBLsal','159264iKBjAH','8530PAUusS','66199Hisuod','appCode','includes','\x20for\x20local\x20path:\x20','homeDir','agentsSkillsDir','cache','.workbuddy','6xBIcbf','filter','skills','skillCode'];a111_0x36b9=function(){return _0x504988;};return a111_0x36b9();}import{fingerprintAccessKey}from'../../commands/app/cache.js';import{PRODUCT_CONFIG,productEnv}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export function resolveSkillSyncPaths(_0x3e9493={}){const _0x4b1107=a111_0x93b3,_0x1e0fd0=_0x3e9493[_0x4b1107(0xe2)]??homedir(),_0x6bd1ea=resolve(_0x1e0fd0,PRODUCT_CONFIG['homeDirName'],_0x4b1107(0xe4)),_0x2ff5d9=trimmedEnv(_0x4b1107(0xf4)),_0x4c6630=trimmedEnv(_0x4b1107(0xee)),_0x1b5618=resolve(_0x1e0fd0,_0x4b1107(0xe5)),_0x11ac5b=_0x3e9493['workbuddySkillsDir']??(existsSync(_0x1b5618)?resolve(_0x1b5618,_0x4b1107(0xe8)):undefined);return{'homeDir':_0x1e0fd0,'cacheRoot':_0x6bd1ea,'managedRoot':resolve(_0x1e0fd0,PRODUCT_CONFIG[_0x4b1107(0xec)]),'agentsSkillsDir':_0x3e9493[_0x4b1107(0xe3)]??_0x2ff5d9??resolve(_0x1e0fd0,_0x4b1107(0xf7),_0x4b1107(0xe8)),'claudeSkillsDir':_0x3e9493[_0x4b1107(0xf1)]??_0x4c6630??resolve(_0x1e0fd0,_0x4b1107(0xef),_0x4b1107(0xe8)),'workbuddySkillsDir':_0x11ac5b};}export function runtimeAgentSkillRoots(_0x16f334){const _0x2b7081=a111_0x93b3;return[_0x16f334[_0x2b7081(0xe3)],_0x16f334['claudeSkillsDir'],_0x16f334[_0x2b7081(0xed)]][_0x2b7081(0xe7)](_0x5b74d7=>Boolean(_0x5b74d7));}export function getRuntimeSkillCacheRoot(_0x530606,_0x51e781,_0x2934f2={}){const _0x16de4a=a111_0x93b3,_0x5b33e=resolveSkillSyncPaths(_0x2934f2);return resolve(_0x5b33e[_0x16de4a(0xea)],_0x530606,fingerprintAccessKey(_0x51e781),'skills');}export function getRuntimeSkillDir(_0xf2255f,_0x1a0a5a,_0x5ba9eb,_0x1bb961,_0x59cfb0,_0x4170f8={}){const _0x246eb7=a111_0x93b3;return resolve(getRuntimeSkillCacheRoot(_0xf2255f,_0x1a0a5a,_0x4170f8),safePathSegment(_0x5ba9eb,_0x246eb7(0xfd)),_0x1bb961,safePathSegment(_0x59cfb0,_0x246eb7(0xe9)));}function a111_0x93b3(_0x1f62ed,_0x10cd8e){_0x1f62ed=_0x1f62ed-0xe2;const _0x36b972=a111_0x36b9();let _0x93b317=_0x36b972[_0x1f62ed];return _0x93b317;}export function safePathSegment(_0x500655,_0x36a318='path\x20segment'){const _0x5e1d18=a111_0x93b3;if(!_0x500655||_0x500655[_0x5e1d18(0xfe)]('/')||_0x500655[_0x5e1d18(0xfe)]('\x5c')||_0x500655['includes']('..'))throw CliErrors[_0x5e1d18(0xf2)]('Unsafe\x20'+_0x36a318+_0x5e1d18(0xff)+_0x500655);return _0x500655;}function trimmedEnv(_0x5e19d6){const _0x490ddc=a111_0x93b3,_0x4945ef=productEnv(_0x5e19d6)?.[_0x490ddc(0xf0)]();return _0x4945ef?_0x4945ef:undefined;}
1
+ const a112_0x3a9dc5=a112_0x473d;(function(_0x311dcb,_0x58edec){const _0x52e76c=a112_0x473d,_0xfca7aa=_0x311dcb();while(!![]){try{const _0x38f884=parseInt(_0x52e76c(0x1bc))/0x1+-parseInt(_0x52e76c(0x1b8))/0x2+parseInt(_0x52e76c(0x1b3))/0x3+-parseInt(_0x52e76c(0x1c7))/0x4*(-parseInt(_0x52e76c(0x1b6))/0x5)+parseInt(_0x52e76c(0x1bf))/0x6+parseInt(_0x52e76c(0x1be))/0x7+-parseInt(_0x52e76c(0x1c5))/0x8;if(_0x38f884===_0x58edec)break;else _0xfca7aa['push'](_0xfca7aa['shift']());}catch(_0x1c1de2){_0xfca7aa['push'](_0xfca7aa['shift']());}}}(a112_0x415b,0x9f972));import{existsSync}from'node:fs';import{homedir}from'node:os';import{resolve}from'node:path';import{fingerprintAccessKey}from'../../commands/app/cache.js';import{PRODUCT_CONFIG,productEnv}from'../../constant/product.js';import{CliErrors}from'../../errors.js';function a112_0x415b(){const _0xe2549f=['claudeSkillsDir','892ooqTeD','includes','CLAUDE_SKILL_ROOT','validation','cache','Unsafe\x20','2691555pwHZuy','.workbuddy','SKILL_ROOT','22005IOoRWX','\x20for\x20local\x20path:\x20','1697318wTTZRF','trim','skills','.agents','829985Josslu','path\x20segment','1680546pIsBGp','3375402ufOsHX','workbuddySkillsDir','homeDirName','skillCode','agentsSkillsDir','appCode','16071176YNfdSP'];a112_0x415b=function(){return _0xe2549f;};return a112_0x415b();}export function resolveSkillSyncPaths(_0x6dd51b={}){const _0x4ba973=a112_0x473d,_0x11d91d=_0x6dd51b['homeDir']??homedir(),_0x27ac21=resolve(_0x11d91d,PRODUCT_CONFIG['homeDirName'],_0x4ba973(0x1b1)),_0x4f449c=trimmedEnv(_0x4ba973(0x1b5)),_0x5cf0c9=trimmedEnv(_0x4ba973(0x1af)),_0x422906=resolve(_0x11d91d,_0x4ba973(0x1b4)),_0xc6a9c2=_0x6dd51b[_0x4ba973(0x1c0)]??(existsSync(_0x422906)?resolve(_0x422906,'skills'):undefined);return{'homeDir':_0x11d91d,'cacheRoot':_0x27ac21,'managedRoot':resolve(_0x11d91d,PRODUCT_CONFIG[_0x4ba973(0x1c1)]),'agentsSkillsDir':_0x6dd51b[_0x4ba973(0x1c3)]??_0x4f449c??resolve(_0x11d91d,_0x4ba973(0x1bb),_0x4ba973(0x1ba)),'claudeSkillsDir':_0x6dd51b[_0x4ba973(0x1c6)]??_0x5cf0c9??resolve(_0x11d91d,'.claude',_0x4ba973(0x1ba)),'workbuddySkillsDir':_0xc6a9c2};}export function runtimeAgentSkillRoots(_0x4f1541){const _0x1b001f=a112_0x473d;return[_0x4f1541[_0x1b001f(0x1c3)],_0x4f1541[_0x1b001f(0x1c6)],_0x4f1541['workbuddySkillsDir']]['filter'](_0x59a9fa=>Boolean(_0x59a9fa));}export function getRuntimeSkillCacheRoot(_0x3bbcc6,_0x4ee6d1,_0x2939f3={}){const _0x2b2e14=a112_0x473d,_0x3b8b77=resolveSkillSyncPaths(_0x2939f3);return resolve(_0x3b8b77['cacheRoot'],_0x3bbcc6,fingerprintAccessKey(_0x4ee6d1),_0x2b2e14(0x1ba));}export function getRuntimeSkillDir(_0x5cd703,_0x53b814,_0xd54123,_0x12e945,_0x5ee102,_0x2501c4={}){const _0x269a2f=a112_0x473d;return resolve(getRuntimeSkillCacheRoot(_0x5cd703,_0x53b814,_0x2501c4),safePathSegment(_0xd54123,_0x269a2f(0x1c4)),_0x12e945,safePathSegment(_0x5ee102,_0x269a2f(0x1c2)));}function a112_0x473d(_0x1f98ff,_0x56baee){_0x1f98ff=_0x1f98ff-0x1ae;const _0x415ba6=a112_0x415b();let _0x473d43=_0x415ba6[_0x1f98ff];return _0x473d43;}export function safePathSegment(_0x23aea7,_0x7321c3=a112_0x3a9dc5(0x1bd)){const _0x1600b9=a112_0x3a9dc5;if(!_0x23aea7||_0x23aea7[_0x1600b9(0x1ae)]('/')||_0x23aea7[_0x1600b9(0x1ae)]('\x5c')||_0x23aea7[_0x1600b9(0x1ae)]('..'))throw CliErrors[_0x1600b9(0x1b0)](_0x1600b9(0x1b2)+_0x7321c3+_0x1600b9(0x1b7)+_0x23aea7);return _0x23aea7;}function trimmedEnv(_0x1a3bd3){const _0x30af9b=a112_0x3a9dc5,_0x108438=productEnv(_0x1a3bd3)?.[_0x30af9b(0x1b9)]();return _0x108438?_0x108438:undefined;}
@@ -1 +1 @@
1
- (function(_0x962f88,_0x16c713){const _0x330d2b=a112_0xc03e,_0x51d092=_0x962f88();while(!![]){try{const _0x14b86d=parseInt(_0x330d2b(0x191))/0x1*(parseInt(_0x330d2b(0x1b5))/0x2)+parseInt(_0x330d2b(0x192))/0x3+-parseInt(_0x330d2b(0x1bc))/0x4+parseInt(_0x330d2b(0x1a1))/0x5+-parseInt(_0x330d2b(0x1a7))/0x6*(-parseInt(_0x330d2b(0x187))/0x7)+-parseInt(_0x330d2b(0x18e))/0x8+parseInt(_0x330d2b(0x19f))/0x9*(-parseInt(_0x330d2b(0x1aa))/0xa);if(_0x14b86d===_0x16c713)break;else _0x51d092['push'](_0x51d092['shift']());}catch(_0x14a647){_0x51d092['push'](_0x51d092['shift']());}}}(a112_0x29ab,0x1d54e));function a112_0xc03e(_0x49efb1,_0x112c3b){_0x49efb1=_0x49efb1-0x181;const _0x29ab07=a112_0x29ab();let _0xc03ed=_0x29ab07[_0x49efb1];return _0xc03ed;}function a112_0x29ab(){const _0x20f174=['path','36BCjTMB','personal','slice','9950AKIsuK','scope','validation','displayName','Skill\x20metadata\x20appCode\x20\x22','isSymbolicLink','\x20name\x20for\x20SkillHub\x20slug\x20generation.','allowAppCodeRetarget','skillCode','sourceSessionId','tags','58iwOcDV','ignoreMetadataForPayload','builtin','content','match','object','ignoreMetadataScope','496832GpqPSG','Missing\x20','\x20to\x20submit\x20company\x20Skills\x20for\x20review.','replace','\x20has\x20unsupported\x20scope\x20\x22','Remote\x20Skill\x20','dir','Use\x20lovrabet\x20skill\x20push\x20--scope\x20company\x20--dir\x20','utf8','123571wzsCmN','trim','Invalid\x20','filter','isFile','\x20has\x20scope=\x22','some','989912GEgdYl','startsWith','Unable\x20to\x20resolve\x20skillCode\x20from\x20','605gOxpmf','671526uxUStT','targetScope','ignoreInvalidMetadata','refreshedAt','length','Skill\x20directory\x20not\x20found:\x20','ignoreMetadataSkillCode','isDirectory','company','string','appCode','\x22\x20does\x20not\x20match\x20current\x20appCode\x20\x22','isArray','153JOJYKX','files','188495RQFCJW','Builtin\x20Skills\x20cannot\x20be\x20pushed;\x20','version','metadata','skillName'];a112_0x29ab=function(){return _0x20f174;};return a112_0x29ab();}import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';import{basename,resolve}from'node:path';import{parse as a112_0x24bd92}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{writeJsonAtomic}from'./fs-utils.js';import{contentHash}from'./hashing.js';import{fileText,normalizeLocalFiles,scanSkillDirectory}from'./local-files.js';import{buildMetadata,readMetadataIfPresent}from'./metadata.js';import{buildSkillPackage,tryNormalizePackageManifest}from'./zip-package.js';export function resolvePushDirectoryIdentity(_0x3173c1,_0x5e2d65,_0x48778a={}){const _0x6b5723=a112_0xc03e,_0xc97415=resolvePushDirectoryRoot(_0x3173c1),_0x18e2a5=readPushMetadataIfPresent(resolve(_0xc97415,METADATA_FILE),{'ignoreInvalidMetadata':_0x48778a['ignoreInvalidMetadata']});if(_0x18e2a5?.['appCode']&&_0x18e2a5[_0x6b5723(0x19c)]!==_0x5e2d65&&!_0x48778a[_0x6b5723(0x1b1)]&&!_0x48778a['ignoreMetadataAppCodeMismatch'])throw CliErrors[_0x6b5723(0x1ac)](_0x6b5723(0x1ae)+_0x18e2a5[_0x6b5723(0x19c)]+_0x6b5723(0x19d)+_0x5e2d65+'\x22.');const _0x10ce10=resolvePushSkillCode(_0xc97415,_0x5e2d65,_0x18e2a5,_0x48778a);if(!_0x10ce10)throw CliErrors[_0x6b5723(0x1ac)](_0x6b5723(0x190)+SKILL_FILE+',\x20'+METADATA_FILE+',\x20or\x20directory\x20name.');return{'dir':_0xc97415,'skillCode':_0x10ce10,'metadata':_0x18e2a5};}export function readPushDirectory(_0x3b4b53,_0x44f5f3,_0x43d854={}){const _0xd1f486=a112_0xc03e,_0xd6c02c=resolvePushDirectoryIdentity(_0x3b4b53,_0x44f5f3,_0x43d854),_0x29c9d4=_0xd6c02c[_0xd1f486(0x184)],_0x1b5cf0=resolve(_0x29c9d4,SKILL_FILE);if(!existsSync(_0x1b5cf0)||!lstatSync(_0x1b5cf0)[_0xd1f486(0x18b)]())throw CliErrors[_0xd1f486(0x1ac)](_0xd1f486(0x1bd)+SKILL_FILE+':\x20'+_0x1b5cf0);const _0x183962=_0xd6c02c[_0xd1f486(0x1a4)],_0x383fcb=_0x43d854[_0xd1f486(0x193)]??'personal';if(!_0x43d854[_0xd1f486(0x1bb)]&&_0x183962?.[_0xd1f486(0x1ab)]===_0xd1f486(0x1b7))throw CliErrors[_0xd1f486(0x1ac)](_0xd1f486(0x1a2)+METADATA_FILE+_0xd1f486(0x18c)+_0x183962['scope']+'\x22.');if(!_0x43d854[_0xd1f486(0x1bb)]&&_0x383fcb===_0xd1f486(0x1a8)&&_0x183962?.[_0xd1f486(0x1ab)]&&_0x183962[_0xd1f486(0x1ab)]!==_0xd1f486(0x1a8))throw CliErrors[_0xd1f486(0x1ac)]('Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20'+METADATA_FILE+_0xd1f486(0x18c)+_0x183962[_0xd1f486(0x1ab)]+'\x22.',_0xd1f486(0x185)+_0x29c9d4+_0xd1f486(0x1be));const _0x18caaf=scanSkillDirectory(_0x29c9d4),_0x1c94ef=buildSkillPackage(_0x18caaf),_0xd1cb28=readFileSync(_0x1b5cf0,'utf8'),_0x2e2bb2=_0xd6c02c[_0xd1f486(0x1b2)],_0x2ab32d=_0x43d854[_0xd1f486(0x1b6)]?undefined:_0x183962,_0xb6bd7b=readSkillDisplayName(_0xd1cb28);return{'skillCode':_0x2e2bb2,'metadata':_0x183962,'frontmatterDisplayName':_0xb6bd7b,'input':{'skillCode':_0x2e2bb2,'skillName':_0xb6bd7b??_0x2ab32d?.[_0xd1f486(0x1a5)],'description':_0x2ab32d?.['description'],'content':_0xd1cb28,'files':_0x1c94ef['manifest'],'packageBase64':_0x1c94ef['packageBase64'],'tags':_0x2ab32d?.[_0xd1f486(0x1b4)],'version':_0x2ab32d?.[_0xd1f486(0x1a3)],'sourceSessionId':_0x2ab32d?.['sourceSessionId']}};}export function refreshPushDirectoryMetadataFromRemote(_0x14df49,_0x1bf964,_0x32a2d8,_0x59b966={}){const _0x4c9714=a112_0xc03e,_0x1d6186=resolvePushDirectoryRoot(_0x14df49),_0x5104cd=readPushMetadataIfPresent(resolve(_0x1d6186,METADATA_FILE),{'ignoreInvalidMetadata':!![]}),_0x26a2cd=requireRemoteScope(_0x1bf964),_0x15ae9f=readLocalSkillContent(_0x1d6186),_0x21af55={..._0x1bf964,'appCode':_0x1bf964['appCode']??_0x32a2d8,'skillName':_0x1bf964[_0x4c9714(0x1a5)]??_0x5104cd?.['skillName'],'description':_0x1bf964['description']??_0x5104cd?.['description'],'tags':Array[_0x4c9714(0x19e)](_0x1bf964[_0x4c9714(0x1b4)])?_0x1bf964[_0x4c9714(0x1b4)]:_0x5104cd?.[_0x4c9714(0x1b4)],'sourceSessionId':_0x1bf964[_0x4c9714(0x1b3)]??_0x5104cd?.['sourceSessionId'],'content':_0x1bf964['content']??_0x15ae9f},_0x16ab33=buildMetadata(_0x21af55,_0x26a2cd,_0x32a2d8,contentHash(_0x15ae9f),_0x59b966[_0x4c9714(0x195)]);writeJsonAtomic(resolve(_0x1d6186,METADATA_FILE),_0x16ab33);}export function recordPushedRuntimeSkill(_0x4a25c7,_0x49e5d6,_0x30655c,_0x2749b7={}){const _0x171ff4=a112_0xc03e,_0x5c9f8f=resolvePushDirectoryRoot(_0x4a25c7),_0x2bc505=scanSkillDirectory(_0x5c9f8f),_0x5cbdb6=_0x2bc505['find'](_0x2585bd=>_0x2585bd['path']===SKILL_FILE),_0x445c7c=_0x5cbdb6?fileText(_0x5cbdb6):'',_0x31648c=tryNormalizePackageManifest(_0x49e5d6[_0x171ff4(0x1a0)]),_0x210b43={..._0x49e5d6,'content':_0x49e5d6[_0x171ff4(0x1b8)]??_0x445c7c,'files':_0x31648c},_0x369236=_0x31648c?normalizeLocalFiles(_0x2bc505)[_0x171ff4(0x18a)](_0x55c210=>_0x31648c[_0x171ff4(0x1a0)][_0x171ff4(0x18d)](_0x50f254=>_0x50f254[_0x171ff4(0x1a6)]===_0x55c210[_0x171ff4(0x1a6)])):undefined,_0x1f702f=buildMetadata(_0x210b43,_0x2749b7[_0x171ff4(0x1ab)]??_0x171ff4(0x1a8),_0x30655c,contentHash(_0x210b43['content']??''),_0x2749b7['pushedAt'],_0x369236);writeJsonAtomic(resolve(_0x5c9f8f,METADATA_FILE),_0x1f702f);}export function deriveSkillCodeFromDirectory(_0x1cad57,_0x3bb2fd){const _0x498137=a112_0xc03e,_0x156379=basename(resolve(_0x1cad57)),_0x83bd85=_0x3bb2fd+'--';return _0x156379[_0x498137(0x18f)](_0x83bd85)?_0x156379[_0x498137(0x1a9)](_0x83bd85[_0x498137(0x196)]):_0x156379;}function resolvePushSkillCode(_0x13f2ee,_0x7c8d2b,_0x315019,_0x2b166b){const _0x5f25eb=a112_0xc03e,_0x2bdeb0=deriveSkillCodeFromSkillFile(_0x13f2ee)||deriveSkillCodeFromDirectory(_0x13f2ee,_0x7c8d2b);if(_0x2b166b[_0x5f25eb(0x198)])return _0x2bdeb0;return _0x315019?.[_0x5f25eb(0x1b2)]?.[_0x5f25eb(0x188)]()||_0x2bdeb0;}function deriveSkillCodeFromSkillFile(_0x350b96){const _0x4cd742=a112_0xc03e,_0x3c31e8=resolve(_0x350b96,SKILL_FILE);if(!existsSync(_0x3c31e8)||!lstatSync(_0x3c31e8)[_0x4cd742(0x18b)]())return undefined;const _0x29ff6c=readFileSync(_0x3c31e8,_0x4cd742(0x186)),_0x1542bc=_0x29ff6c[_0x4cd742(0x1b9)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x1542bc)return undefined;const _0x4186c9=parseFrontmatterObject(_0x1542bc[0x1]??''),_0x2f622f=scalarToString(_0x4186c9?.['name']);return _0x2f622f?slugifySkillName(_0x2f622f):undefined;}function readSkillDisplayName(_0x321f96){const _0x492687=a112_0xc03e,_0x875c3d=_0x321f96['match'](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x875c3d)return undefined;const _0x37a74a=parseFrontmatterObject(_0x875c3d[0x1]??'');return scalarToString(_0x37a74a?.[_0x492687(0x1ad)]);}function slugifySkillName(_0x3b2372){const _0x30e742=a112_0xc03e,_0x2e782c=_0x3b2372[_0x30e742(0x188)]()['toLowerCase']()[_0x30e742(0x181)](/[^\p{L}\p{N}\p{So}]+/gu,'-')[_0x30e742(0x181)](/^-+/,'')[_0x30e742(0x181)](/-+$/,'')[_0x30e742(0x181)](/-{2,}/g,'-');if(!_0x2e782c)throw CliErrors[_0x30e742(0x1ac)](_0x30e742(0x189)+SKILL_FILE+_0x30e742(0x1b0));return _0x2e782c;}function parseFrontmatterObject(_0x4bb345){const _0x4875da=a112_0xc03e;try{const _0x2951d4=a112_0x24bd92(_0x4bb345);return _0x2951d4&&typeof _0x2951d4===_0x4875da(0x1ba)&&!Array[_0x4875da(0x19e)](_0x2951d4)?_0x2951d4:undefined;}catch{return undefined;}}function scalarToString(_0x595955){const _0x3ac472=a112_0xc03e;if(typeof _0x595955===_0x3ac472(0x19b))return _0x595955[_0x3ac472(0x188)]();if(typeof _0x595955==='number'||typeof _0x595955==='boolean')return String(_0x595955);return undefined;}function resolvePushDirectoryRoot(_0x2698a4){const _0x4c0009=a112_0xc03e,_0x46b52f=resolve(_0x2698a4);if(!existsSync(_0x46b52f))throw CliErrors[_0x4c0009(0x1ac)](_0x4c0009(0x197)+_0x2698a4);const _0x5a5e22=lstatSync(_0x46b52f);if(_0x5a5e22['isDirectory']())return _0x46b52f;if(_0x5a5e22[_0x4c0009(0x1af)]()){const _0x3160a8=realpathSync(_0x46b52f);if(lstatSync(_0x3160a8)[_0x4c0009(0x199)]())return _0x3160a8;}throw CliErrors[_0x4c0009(0x1ac)](_0x4c0009(0x197)+_0x2698a4);}function requireRemoteScope(_0x14d96b){const _0x5c552c=a112_0xc03e;if(_0x14d96b[_0x5c552c(0x1ab)]==='personal'||_0x14d96b[_0x5c552c(0x1ab)]===_0x5c552c(0x19a)||_0x14d96b[_0x5c552c(0x1ab)]===_0x5c552c(0x1b7))return _0x14d96b['scope'];throw CliErrors[_0x5c552c(0x1ac)](_0x5c552c(0x183)+(_0x14d96b[_0x5c552c(0x1b2)]||'(unknown)')+_0x5c552c(0x182)+(_0x14d96b['scope']??'unknown')+'\x22.');}function readLocalSkillContent(_0xc33e17){const _0x28f7b0=a112_0xc03e,_0x4b433e=resolve(_0xc33e17,SKILL_FILE);return existsSync(_0x4b433e)&&lstatSync(_0x4b433e)[_0x28f7b0(0x18b)]()?readFileSync(_0x4b433e,_0x28f7b0(0x186)):'';}function readPushMetadataIfPresent(_0x29e8f4,_0x11a40c={}){const _0x4b6017=a112_0xc03e;try{return readMetadataIfPresent(_0x29e8f4);}catch(_0x3df6bb){if(_0x11a40c[_0x4b6017(0x194)])return undefined;throw _0x3df6bb;}}
1
+ (function(_0x1a4cd8,_0x5c3977){const _0x47bdbe=a113_0x3a6b,_0x93c4bf=_0x1a4cd8();while(!![]){try{const _0x1564f9=parseInt(_0x47bdbe(0xfd))/0x1+parseInt(_0x47bdbe(0xc8))/0x2+-parseInt(_0x47bdbe(0xd6))/0x3*(-parseInt(_0x47bdbe(0xe3))/0x4)+parseInt(_0x47bdbe(0xca))/0x5+-parseInt(_0x47bdbe(0xcb))/0x6*(parseInt(_0x47bdbe(0xf9))/0x7)+parseInt(_0x47bdbe(0xed))/0x8+-parseInt(_0x47bdbe(0x100))/0x9;if(_0x1564f9===_0x5c3977)break;else _0x93c4bf['push'](_0x93c4bf['shift']());}catch(_0x2190b3){_0x93c4bf['push'](_0x93c4bf['shift']());}}}(a113_0x4bcb,0x527e0));import{existsSync,lstatSync,readFileSync,realpathSync}from'node:fs';function a113_0x4bcb(){const _0x3fcb69=['filter','find','skillCode','74412IDsoGS','sourceSessionId','1040505luScHB','1614UgkZQc','\x22\x20does\x20not\x20match\x20current\x20appCode\x20\x22','metadata','tags','skillName','ignoreInvalidMetadata','isFile','isDirectory','unknown','content','validation','508443xCqbZp','\x20has\x20scope=\x22','ignoreMetadataSkillCode','replace','ignoreMetadataScope','description','\x20has\x20unsupported\x20scope\x20\x22','personal','dir','\x20to\x20submit\x20company\x20Skills\x20for\x20review.','trim','scope','allowAppCodeRetarget','4TmtQoE','ignoreMetadataAppCodeMismatch','toLowerCase','isArray','boolean','number','Remote\x20Skill\x20','company','pushedAt','Only\x20personal\x20Skills\x20can\x20be\x20pushed;\x20','2093144GcmToT','length','utf8','displayName','name','Invalid\x20','match','manifest','ignoreMetadataForPayload','appCode','path','Skill\x20directory\x20not\x20found:\x20','5866cNUrbV','object','builtin','Builtin\x20Skills\x20cannot\x20be\x20pushed;\x20','55327ZEOEOt','Use\x20lovrabet\x20skill\x20push\x20--scope\x20company\x20--dir\x20','Missing\x20','1516032WysoXC','startsWith'];a113_0x4bcb=function(){return _0x3fcb69;};return a113_0x4bcb();}import{basename,resolve}from'node:path';import{parse as a113_0x297e0f}from'yaml';import{CliErrors}from'../../errors.js';import{METADATA_FILE,SKILL_FILE}from'./constants.js';import{writeJsonAtomic}from'./fs-utils.js';import{contentHash}from'./hashing.js';import{fileText,normalizeLocalFiles,scanSkillDirectory}from'./local-files.js';import{buildMetadata,readMetadataIfPresent}from'./metadata.js';import{buildSkillPackage,tryNormalizePackageManifest}from'./zip-package.js';export function resolvePushDirectoryIdentity(_0x1b2154,_0x226f58,_0x1befa4={}){const _0x15a2ce=a113_0x3a6b,_0x59be05=resolvePushDirectoryRoot(_0x1b2154),_0x5caefb=readPushMetadataIfPresent(resolve(_0x59be05,METADATA_FILE),{'ignoreInvalidMetadata':_0x1befa4[_0x15a2ce(0xd0)]});if(_0x5caefb?.[_0x15a2ce(0xf6)]&&_0x5caefb[_0x15a2ce(0xf6)]!==_0x226f58&&!_0x1befa4[_0x15a2ce(0xe2)]&&!_0x1befa4[_0x15a2ce(0xe4)])throw CliErrors[_0x15a2ce(0xd5)]('Skill\x20metadata\x20appCode\x20\x22'+_0x5caefb['appCode']+_0x15a2ce(0xcc)+_0x226f58+'\x22.');const _0x12a3a2=resolvePushSkillCode(_0x59be05,_0x226f58,_0x5caefb,_0x1befa4);if(!_0x12a3a2)throw CliErrors[_0x15a2ce(0xd5)]('Unable\x20to\x20resolve\x20skillCode\x20from\x20'+SKILL_FILE+',\x20'+METADATA_FILE+',\x20or\x20directory\x20name.');return{'dir':_0x59be05,'skillCode':_0x12a3a2,'metadata':_0x5caefb};}export function readPushDirectory(_0x3ce7fe,_0xfec15,_0x4557e4={}){const _0x426893=a113_0x3a6b,_0x247831=resolvePushDirectoryIdentity(_0x3ce7fe,_0xfec15,_0x4557e4),_0x9cd239=_0x247831[_0x426893(0xde)],_0x51d600=resolve(_0x9cd239,SKILL_FILE);if(!existsSync(_0x51d600)||!lstatSync(_0x51d600)[_0x426893(0xd1)]())throw CliErrors[_0x426893(0xd5)](_0x426893(0xff)+SKILL_FILE+':\x20'+_0x51d600);const _0x2f4d65=_0x247831[_0x426893(0xcd)],_0x1b4efc=_0x4557e4['targetScope']??_0x426893(0xdd);if(!_0x4557e4[_0x426893(0xda)]&&_0x2f4d65?.[_0x426893(0xe1)]===_0x426893(0xfb))throw CliErrors[_0x426893(0xd5)](_0x426893(0xfc)+METADATA_FILE+_0x426893(0xd7)+_0x2f4d65[_0x426893(0xe1)]+'\x22.');if(!_0x4557e4[_0x426893(0xda)]&&_0x1b4efc==='personal'&&_0x2f4d65?.['scope']&&_0x2f4d65[_0x426893(0xe1)]!==_0x426893(0xdd))throw CliErrors['validation'](_0x426893(0xec)+METADATA_FILE+_0x426893(0xd7)+_0x2f4d65[_0x426893(0xe1)]+'\x22.',_0x426893(0xfe)+_0x9cd239+_0x426893(0xdf));const _0x533d05=scanSkillDirectory(_0x9cd239),_0x19a507=buildSkillPackage(_0x533d05),_0x4ede5f=readFileSync(_0x51d600,_0x426893(0xef)),_0x292e5b=_0x247831[_0x426893(0xc7)],_0x171a1e=_0x4557e4[_0x426893(0xf5)]?undefined:_0x2f4d65,_0x49dc0c=readSkillDisplayName(_0x4ede5f);return{'skillCode':_0x292e5b,'metadata':_0x2f4d65,'frontmatterDisplayName':_0x49dc0c,'input':{'skillCode':_0x292e5b,'skillName':_0x49dc0c??_0x171a1e?.['skillName'],'description':_0x171a1e?.[_0x426893(0xdb)],'content':_0x4ede5f,'files':_0x19a507[_0x426893(0xf4)],'packageBase64':_0x19a507['packageBase64'],'tags':_0x171a1e?.[_0x426893(0xce)],'version':_0x171a1e?.['version'],'sourceSessionId':_0x171a1e?.['sourceSessionId']}};}export function refreshPushDirectoryMetadataFromRemote(_0x3c6402,_0x378599,_0x427049,_0x3d98e4={}){const _0x4342b5=a113_0x3a6b,_0xe38e39=resolvePushDirectoryRoot(_0x3c6402),_0x3b36f2=readPushMetadataIfPresent(resolve(_0xe38e39,METADATA_FILE),{'ignoreInvalidMetadata':!![]}),_0x58e38a=requireRemoteScope(_0x378599),_0x28ecfd=readLocalSkillContent(_0xe38e39),_0x208ff1={..._0x378599,'appCode':_0x378599[_0x4342b5(0xf6)]??_0x427049,'skillName':_0x378599[_0x4342b5(0xcf)]??_0x3b36f2?.[_0x4342b5(0xcf)],'description':_0x378599[_0x4342b5(0xdb)]??_0x3b36f2?.['description'],'tags':Array[_0x4342b5(0xe6)](_0x378599[_0x4342b5(0xce)])?_0x378599[_0x4342b5(0xce)]:_0x3b36f2?.[_0x4342b5(0xce)],'sourceSessionId':_0x378599[_0x4342b5(0xc9)]??_0x3b36f2?.[_0x4342b5(0xc9)],'content':_0x378599[_0x4342b5(0xd4)]??_0x28ecfd},_0x50134f=buildMetadata(_0x208ff1,_0x58e38a,_0x427049,contentHash(_0x28ecfd),_0x3d98e4['refreshedAt']);writeJsonAtomic(resolve(_0xe38e39,METADATA_FILE),_0x50134f);}export function recordPushedRuntimeSkill(_0xea2506,_0x4cfde2,_0x4361da,_0x3637bf={}){const _0x1c1c84=a113_0x3a6b,_0x1da145=resolvePushDirectoryRoot(_0xea2506),_0x3a8bff=scanSkillDirectory(_0x1da145),_0x3cdd20=_0x3a8bff[_0x1c1c84(0xc6)](_0x20acc5=>_0x20acc5[_0x1c1c84(0xf7)]===SKILL_FILE),_0x9d8f24=_0x3cdd20?fileText(_0x3cdd20):'',_0x503bef=tryNormalizePackageManifest(_0x4cfde2['files']),_0x40c352={..._0x4cfde2,'content':_0x4cfde2[_0x1c1c84(0xd4)]??_0x9d8f24,'files':_0x503bef},_0x5ec78a=_0x503bef?normalizeLocalFiles(_0x3a8bff)[_0x1c1c84(0xc5)](_0x1b8a2f=>_0x503bef['files']['some'](_0x596cbd=>_0x596cbd['path']===_0x1b8a2f[_0x1c1c84(0xf7)])):undefined,_0x33e272=buildMetadata(_0x40c352,_0x3637bf[_0x1c1c84(0xe1)]??'personal',_0x4361da,contentHash(_0x40c352[_0x1c1c84(0xd4)]??''),_0x3637bf[_0x1c1c84(0xeb)],_0x5ec78a);writeJsonAtomic(resolve(_0x1da145,METADATA_FILE),_0x33e272);}export function deriveSkillCodeFromDirectory(_0x4ffe15,_0x3d6d13){const _0x1f80ed=a113_0x3a6b,_0x3daa4c=basename(resolve(_0x4ffe15)),_0x5bb0a5=_0x3d6d13+'--';return _0x3daa4c[_0x1f80ed(0xc4)](_0x5bb0a5)?_0x3daa4c['slice'](_0x5bb0a5[_0x1f80ed(0xee)]):_0x3daa4c;}function resolvePushSkillCode(_0x37e069,_0xe9e033,_0x45af13,_0x22242c){const _0x565f00=a113_0x3a6b,_0x540f79=deriveSkillCodeFromSkillFile(_0x37e069)||deriveSkillCodeFromDirectory(_0x37e069,_0xe9e033);if(_0x22242c[_0x565f00(0xd8)])return _0x540f79;return _0x45af13?.['skillCode']?.[_0x565f00(0xe0)]()||_0x540f79;}function deriveSkillCodeFromSkillFile(_0x5d9e9b){const _0x5160fc=a113_0x3a6b,_0x5de0aa=resolve(_0x5d9e9b,SKILL_FILE);if(!existsSync(_0x5de0aa)||!lstatSync(_0x5de0aa)[_0x5160fc(0xd1)]())return undefined;const _0xe09433=readFileSync(_0x5de0aa,'utf8'),_0x56b8d3=_0xe09433[_0x5160fc(0xf3)](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x56b8d3)return undefined;const _0x2dd36b=parseFrontmatterObject(_0x56b8d3[0x1]??''),_0x32bdb9=scalarToString(_0x2dd36b?.[_0x5160fc(0xf1)]);return _0x32bdb9?slugifySkillName(_0x32bdb9):undefined;}function readSkillDisplayName(_0xae6b6a){const _0x30c493=a113_0x3a6b,_0x4fca5c=_0xae6b6a['match'](/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);if(!_0x4fca5c)return undefined;const _0x5f4434=parseFrontmatterObject(_0x4fca5c[0x1]??'');return scalarToString(_0x5f4434?.[_0x30c493(0xf0)]);}function slugifySkillName(_0x1e0a81){const _0x17fb56=a113_0x3a6b,_0x2fd1fb=_0x1e0a81[_0x17fb56(0xe0)]()[_0x17fb56(0xe5)]()['replace'](/[^\p{L}\p{N}\p{So}]+/gu,'-')[_0x17fb56(0xd9)](/^-+/,'')['replace'](/-+$/,'')['replace'](/-{2,}/g,'-');if(!_0x2fd1fb)throw CliErrors[_0x17fb56(0xd5)](_0x17fb56(0xf2)+SKILL_FILE+'\x20name\x20for\x20SkillHub\x20slug\x20generation.');return _0x2fd1fb;}function parseFrontmatterObject(_0x1207f1){const _0x38954c=a113_0x3a6b;try{const _0x1d899d=a113_0x297e0f(_0x1207f1);return _0x1d899d&&typeof _0x1d899d===_0x38954c(0xfa)&&!Array['isArray'](_0x1d899d)?_0x1d899d:undefined;}catch{return undefined;}}function a113_0x3a6b(_0xf55fab,_0x3738cd){_0xf55fab=_0xf55fab-0xc4;const _0x4bcb33=a113_0x4bcb();let _0x3a6b9b=_0x4bcb33[_0xf55fab];return _0x3a6b9b;}function scalarToString(_0x59a3d1){const _0x271965=a113_0x3a6b;if(typeof _0x59a3d1==='string')return _0x59a3d1[_0x271965(0xe0)]();if(typeof _0x59a3d1===_0x271965(0xe8)||typeof _0x59a3d1===_0x271965(0xe7))return String(_0x59a3d1);return undefined;}function resolvePushDirectoryRoot(_0x5d58db){const _0x623660=a113_0x3a6b,_0xb612f=resolve(_0x5d58db);if(!existsSync(_0xb612f))throw CliErrors[_0x623660(0xd5)](_0x623660(0xf8)+_0x5d58db);const _0xe4e4fa=lstatSync(_0xb612f);if(_0xe4e4fa[_0x623660(0xd2)]())return _0xb612f;if(_0xe4e4fa['isSymbolicLink']()){const _0x2b392a=realpathSync(_0xb612f);if(lstatSync(_0x2b392a)[_0x623660(0xd2)]())return _0x2b392a;}throw CliErrors[_0x623660(0xd5)](_0x623660(0xf8)+_0x5d58db);}function requireRemoteScope(_0x28a343){const _0x509041=a113_0x3a6b;if(_0x28a343['scope']===_0x509041(0xdd)||_0x28a343[_0x509041(0xe1)]===_0x509041(0xea)||_0x28a343[_0x509041(0xe1)]==='builtin')return _0x28a343[_0x509041(0xe1)];throw CliErrors[_0x509041(0xd5)](_0x509041(0xe9)+(_0x28a343[_0x509041(0xc7)]||'(unknown)')+_0x509041(0xdc)+(_0x28a343[_0x509041(0xe1)]??_0x509041(0xd3))+'\x22.');}function readLocalSkillContent(_0x5aa302){const _0x5e04fa=a113_0x3a6b,_0x1470ff=resolve(_0x5aa302,SKILL_FILE);return existsSync(_0x1470ff)&&lstatSync(_0x1470ff)['isFile']()?readFileSync(_0x1470ff,_0x5e04fa(0xef)):'';}function readPushMetadataIfPresent(_0x1a4e06,_0x384563={}){try{return readMetadataIfPresent(_0x1a4e06);}catch(_0x3dd7f3){if(_0x384563['ignoreInvalidMetadata'])return undefined;throw _0x3dd7f3;}}
@@ -1 +1 @@
1
- (function(_0x277692,_0x43950b){const _0x45e6fb=a113_0x120f,_0x48fc06=_0x277692();while(!![]){try{const _0x40c58a=-parseInt(_0x45e6fb(0xa6))/0x1*(parseInt(_0x45e6fb(0x9e))/0x2)+-parseInt(_0x45e6fb(0x9b))/0x3*(parseInt(_0x45e6fb(0x99))/0x4)+-parseInt(_0x45e6fb(0xa2))/0x5+-parseInt(_0x45e6fb(0xa4))/0x6*(-parseInt(_0x45e6fb(0x9f))/0x7)+-parseInt(_0x45e6fb(0xa9))/0x8+-parseInt(_0x45e6fb(0xa8))/0x9*(parseInt(_0x45e6fb(0xa7))/0xa)+parseInt(_0x45e6fb(0x98))/0xb;if(_0x40c58a===_0x43950b)break;else _0x48fc06['push'](_0x48fc06['shift']());}catch(_0x1b588d){_0x48fc06['push'](_0x48fc06['shift']());}}}(a113_0x15bb,0xd54e8));import{CliErrors}from'../../errors.js';export function normalizeRuntimeSkillScopes(_0x2f7442){const _0x5ef2fb=a113_0x120f,_0x4e3119=_0x2f7442&&_0x2f7442[_0x5ef2fb(0x9d)]>0x0?_0x2f7442:[_0x5ef2fb(0x9a),'company',_0x5ef2fb(0xa0)],_0x570d69=[];for(const _0x29ec1e of _0x4e3119){if(!isRuntimeSkillScope(_0x29ec1e))throw CliErrors[_0x5ef2fb(0x9c)]('Unsupported\x20runtime\x20Skill\x20scope:\x20'+_0x29ec1e);!_0x570d69[_0x5ef2fb(0xa3)](_0x29ec1e)&&_0x570d69[_0x5ef2fb(0xa5)](_0x29ec1e);}return _0x570d69;}function a113_0x120f(_0x19bb60,_0x2a0317){_0x19bb60=_0x19bb60-0x98;const _0x15bb81=a113_0x15bb();let _0x120f26=_0x15bb81[_0x19bb60];return _0x120f26;}export function isRuntimeSkillScope(_0x5a1150){const _0x3b2243=a113_0x120f;return _0x5a1150==='personal'||_0x5a1150===_0x3b2243(0xa1)||_0x5a1150===_0x3b2243(0xa0);}function a113_0x15bb(){const _0xb0d568=['510759ETXsZt','2806768IykqTm','53815267jeLeIQ','1656pJqsWm','personal','8997ZfRdIh','validation','length','2nquEAJ','3767743gccteY','builtin','company','5581980WZQAlF','includes','6zbNulM','push','883247BMXPQV','170JFPLoL'];a113_0x15bb=function(){return _0xb0d568;};return a113_0x15bb();}
1
+ (function(_0x5cf307,_0x2314d9){const _0x31cd48=a114_0x4549,_0x590fc7=_0x5cf307();while(!![]){try{const _0x2e2c86=-parseInt(_0x31cd48(0x153))/0x1+-parseInt(_0x31cd48(0x156))/0x2+-parseInt(_0x31cd48(0x150))/0x3+parseInt(_0x31cd48(0x15a))/0x4*(parseInt(_0x31cd48(0x159))/0x5)+parseInt(_0x31cd48(0x151))/0x6*(parseInt(_0x31cd48(0x15c))/0x7)+parseInt(_0x31cd48(0x15e))/0x8*(-parseInt(_0x31cd48(0x157))/0x9)+-parseInt(_0x31cd48(0x15d))/0xa*(-parseInt(_0x31cd48(0x154))/0xb);if(_0x2e2c86===_0x2314d9)break;else _0x590fc7['push'](_0x590fc7['shift']());}catch(_0x3d7969){_0x590fc7['push'](_0x590fc7['shift']());}}}(a114_0x3f1c,0xc3146));function a114_0x3f1c(){const _0x25c9fa=['builtin','345425KCTUrZ','20QhljPe','includes','28bJJPFG','8868030HpFpqr','392JZTAkG','personal','1213701eraJcU','1816272zKsIdt','validation','1102762KYGwFw','33ydgZxJ','company','2364824NCHTVc','133695WmwRPL'];a114_0x3f1c=function(){return _0x25c9fa;};return a114_0x3f1c();}function a114_0x4549(_0x2ae84d,_0xb09c42){_0x2ae84d=_0x2ae84d-0x150;const _0x3f1ca9=a114_0x3f1c();let _0x454961=_0x3f1ca9[_0x2ae84d];return _0x454961;}import{CliErrors}from'../../errors.js';export function normalizeRuntimeSkillScopes(_0x324b32){const _0x237f12=a114_0x4549,_0x180ea2=_0x324b32&&_0x324b32['length']>0x0?_0x324b32:[_0x237f12(0x15f),_0x237f12(0x155),_0x237f12(0x158)],_0x462eef=[];for(const _0x1806a5 of _0x180ea2){if(!isRuntimeSkillScope(_0x1806a5))throw CliErrors[_0x237f12(0x152)]('Unsupported\x20runtime\x20Skill\x20scope:\x20'+_0x1806a5);!_0x462eef[_0x237f12(0x15b)](_0x1806a5)&&_0x462eef['push'](_0x1806a5);}return _0x462eef;}export function isRuntimeSkillScope(_0x4ffe21){const _0x5cd691=a114_0x4549;return _0x4ffe21==='personal'||_0x4ffe21===_0x5cd691(0x155)||_0x4ffe21===_0x5cd691(0x158);}
@@ -6,6 +6,23 @@ export interface SkillSyncPathsOptions {
6
6
  claudeSkillsDir?: string;
7
7
  workbuddySkillsDir?: string;
8
8
  }
9
+ export type RuntimeSkillInstallScope = "project" | "global";
10
+ export interface RuntimeSkillInstallTargetOptions extends SkillSyncPathsOptions {
11
+ /** Project directory that owns `.agents/skills`; defaults to the current working directory. */
12
+ cwd?: string;
13
+ }
14
+ /**
15
+ * Resolved installation target for effective runtime Skill links.
16
+ *
17
+ * Callers choose only project or global scope. Root selection, link naming, and
18
+ * managed-cache ownership remain implementation details of runtime-skill-sync.
19
+ */
20
+ export interface RuntimeSkillInstallTarget {
21
+ scope: RuntimeSkillInstallScope;
22
+ appCode: string;
23
+ skillRoots: readonly string[];
24
+ managedRoot: string;
25
+ }
9
26
  export interface SkillSyncPaths {
10
27
  homeDir: string;
11
28
  cacheRoot: string;
@@ -1 +1 @@
1
- const a115_0x1eb6ad=a115_0x1785;(function(_0x475a9f,_0x41b045){const _0x229438=a115_0x1785,_0x2da757=_0x475a9f();while(!![]){try{const _0x595cb3=-parseInt(_0x229438(0xdd))/0x1*(parseInt(_0x229438(0xcd))/0x2)+parseInt(_0x229438(0xca))/0x3+-parseInt(_0x229438(0xd8))/0x4+parseInt(_0x229438(0xde))/0x5+-parseInt(_0x229438(0xd7))/0x6+parseInt(_0x229438(0xd5))/0x7*(-parseInt(_0x229438(0xc9))/0x8)+parseInt(_0x229438(0xd1))/0x9;if(_0x595cb3===_0x41b045)break;else _0x2da757['push'](_0x2da757['shift']());}catch(_0x2bca63){_0x2da757['push'](_0x2da757['shift']());}}}(a115_0x4a2e,0xeef6e));import{unzipSync,zipSync}from'fflate';function a115_0x1785(_0x3e3073,_0xd974cf){_0x3e3073=_0x3e3073-0xc9;const _0x4a2e0c=a115_0x4a2e();let _0x1785dd=_0x4a2e0c[_0x3e3073];return _0x1785dd;}import{CliErrors}from'../../errors.js';import{compareSkillFiles,fileContent,normalizeLocalFiles,normalizeSkillRelativePath}from'./local-files.js';const ZIP_MTIME=new Date(a115_0x1eb6ad(0xcc));function a115_0x4a2e(){const _0x53120e=['sort','35317134aKiyTU','name','endsWith','Runtime\x20Skill\x20package\x20contains\x20directory\x20entry:\x20','2541ayQcxP','Runtime\x20Skill\x20package\x20is\x20not\x20a\x20valid\x20zip\x20file.','1681314aTMYNo','5636084UNipMZ','object','length','entries','validation','23853XnCrZe','7252495cOIBAI','37640cRZAxS','2156232UWsrKo','from','1980-01-01T00:00:00.000Z','144smVYPM','code','validation_error'];a115_0x4a2e=function(){return _0x53120e;};return a115_0x4a2e();}export function createDeterministicZipPackage(_0x261ca1){const _0x4b2e7b=a115_0x1eb6ad,_0x18be98={};for(const _0x17a3a1 of normalizeLocalFiles(_0x261ca1)){_0x18be98[_0x17a3a1['path']]=fileContent(_0x17a3a1);}return Buffer[_0x4b2e7b(0xcb)](zipSync(_0x18be98,{'level':0x0,'mtime':ZIP_MTIME}));}export function parseZipPackage(_0x355db9){const _0x44e2c8=a115_0x1eb6ad;if(_0x355db9[_0x44e2c8(0xda)]<0x16)throw CliErrors[_0x44e2c8(0xdc)](_0x44e2c8(0xd6));let _0x2d7cc3;try{_0x2d7cc3=unzipSync(_0x355db9,{'filter'(_0x49288){const _0x2f99b3=_0x44e2c8,_0x55aabb=normalizeSkillRelativePath(_0x49288[_0x2f99b3(0xd2)]);if(_0x55aabb[_0x2f99b3(0xd3)]('/'))throw CliErrors[_0x2f99b3(0xdc)](_0x2f99b3(0xd4)+_0x55aabb);return!![];}});}catch(_0x3c60b8){if(isRuntimeSkillValidationError(_0x3c60b8))throw _0x3c60b8;throw CliErrors[_0x44e2c8(0xdc)](_0x44e2c8(0xd6));}return Object[_0x44e2c8(0xdb)](_0x2d7cc3)['map'](([_0x155bc1,_0x33429e])=>({'path':normalizeSkillRelativePath(_0x155bc1),'bytes':Buffer[_0x44e2c8(0xcb)](_0x33429e)}))[_0x44e2c8(0xd0)](compareSkillFiles);}function isRuntimeSkillValidationError(_0x1ad2a5){const _0x48eb88=a115_0x1eb6ad;return typeof _0x1ad2a5===_0x48eb88(0xd9)&&_0x1ad2a5!==null&&_0x48eb88(0xce)in _0x1ad2a5&&_0x1ad2a5[_0x48eb88(0xce)]===_0x48eb88(0xcf);}
1
+ function a116_0x242c(){const _0x3de003=['path','4vUiiAX','sort','map','291055ucJQdG','12639304rzCJsL','object','95109xWuKBj','2630425XUVAaD','816156GafOTm','1980-01-01T00:00:00.000Z','validation_error','endsWith','Runtime\x20Skill\x20package\x20is\x20not\x20a\x20valid\x20zip\x20file.','234065MYGwXV','code','Runtime\x20Skill\x20package\x20contains\x20directory\x20entry:\x20','924406AdDfKW','name','validation','from'];a116_0x242c=function(){return _0x3de003;};return a116_0x242c();}const a116_0x2cb1b6=a116_0x52a1;(function(_0x662319,_0x293858){const _0x475df5=a116_0x52a1,_0x537e93=_0x662319();while(!![]){try{const _0x4b8d88=-parseInt(_0x475df5(0xd9))/0x1+-parseInt(_0x475df5(0xdc))/0x2+-parseInt(_0x475df5(0xd2))/0x3+parseInt(_0x475df5(0xe1))/0x4*(-parseInt(_0x475df5(0xe4))/0x5)+-parseInt(_0x475df5(0xd4))/0x6+-parseInt(_0x475df5(0xd3))/0x7+parseInt(_0x475df5(0xd0))/0x8;if(_0x4b8d88===_0x293858)break;else _0x537e93['push'](_0x537e93['shift']());}catch(_0x58c30b){_0x537e93['push'](_0x537e93['shift']());}}}(a116_0x242c,0x44d4a));import{unzipSync,zipSync}from'fflate';import{CliErrors}from'../../errors.js';import{compareSkillFiles,fileContent,normalizeLocalFiles,normalizeSkillRelativePath}from'./local-files.js';const ZIP_MTIME=new Date(a116_0x2cb1b6(0xd5));export function createDeterministicZipPackage(_0x270c80){const _0x2e0fa1=a116_0x2cb1b6,_0x5bf1dc={};for(const _0x1a5b92 of normalizeLocalFiles(_0x270c80)){_0x5bf1dc[_0x1a5b92[_0x2e0fa1(0xe0)]]=fileContent(_0x1a5b92);}return Buffer[_0x2e0fa1(0xdf)](zipSync(_0x5bf1dc,{'level':0x0,'mtime':ZIP_MTIME}));}function a116_0x52a1(_0x6ab97,_0x236c32){_0x6ab97=_0x6ab97-0xd0;const _0x242c68=a116_0x242c();let _0x52a134=_0x242c68[_0x6ab97];return _0x52a134;}export function parseZipPackage(_0x499a0b){const _0x4249d2=a116_0x2cb1b6;if(_0x499a0b['length']<0x16)throw CliErrors[_0x4249d2(0xde)](_0x4249d2(0xd8));let _0x357ec4;try{_0x357ec4=unzipSync(_0x499a0b,{'filter'(_0xa03181){const _0x36fbc1=_0x4249d2,_0x118ba5=normalizeSkillRelativePath(_0xa03181[_0x36fbc1(0xdd)]);if(_0x118ba5[_0x36fbc1(0xd7)]('/'))throw CliErrors[_0x36fbc1(0xde)](_0x36fbc1(0xdb)+_0x118ba5);return!![];}});}catch(_0x629add){if(isRuntimeSkillValidationError(_0x629add))throw _0x629add;throw CliErrors[_0x4249d2(0xde)]('Runtime\x20Skill\x20package\x20is\x20not\x20a\x20valid\x20zip\x20file.');}return Object['entries'](_0x357ec4)[_0x4249d2(0xe3)](([_0x218d9f,_0x10afb8])=>({'path':normalizeSkillRelativePath(_0x218d9f),'bytes':Buffer['from'](_0x10afb8)}))[_0x4249d2(0xe2)](compareSkillFiles);}function isRuntimeSkillValidationError(_0x525ffd){const _0xc50fa7=a116_0x2cb1b6;return typeof _0x525ffd===_0xc50fa7(0xd1)&&_0x525ffd!==null&&'code'in _0x525ffd&&_0x525ffd[_0xc50fa7(0xda)]===_0xc50fa7(0xd6);}
@@ -1 +1 @@
1
- (function(_0x290ffa,_0x39c234){const _0x4cec2c=a116_0x55c8,_0x24ea2d=_0x290ffa();while(!![]){try{const _0x247315=parseInt(_0x4cec2c(0x1b7))/0x1*(-parseInt(_0x4cec2c(0x1b1))/0x2)+-parseInt(_0x4cec2c(0x1a8))/0x3+-parseInt(_0x4cec2c(0x18c))/0x4+-parseInt(_0x4cec2c(0x18f))/0x5*(-parseInt(_0x4cec2c(0x1a3))/0x6)+parseInt(_0x4cec2c(0x1a9))/0x7*(-parseInt(_0x4cec2c(0x198))/0x8)+parseInt(_0x4cec2c(0x192))/0x9+parseInt(_0x4cec2c(0x18e))/0xa;if(_0x247315===_0x39c234)break;else _0x24ea2d['push'](_0x24ea2d['shift']());}catch(_0x3f57b9){_0x24ea2d['push'](_0x24ea2d['shift']());}}}(a116_0x3acb,0x85948));import{CliErrors}from'../../errors.js';import{SKILL_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,isSha256Hex,normalizeLocalFiles,normalizeManifestFiles}from'./local-files.js';import{createDeterministicZipPackage,parseZipPackage}from'./zip-codec.js';function a116_0x55c8(_0x1ffc0b,_0x57477c){_0x1ffc0b=_0x1ffc0b-0x188;const _0x3acbf5=a116_0x3acb();let _0x55c802=_0x3acbf5[_0x1ffc0b];return _0x55c802;}export function buildSkillPackage(_0x5c753c){const _0x2d4a06=a116_0x55c8,_0x2e496f=normalizeLocalFiles(_0x5c753c);if(!_0x2e496f[_0x2d4a06(0x19f)](_0x5ee8ea=>_0x5ee8ea[_0x2d4a06(0x189)]===SKILL_FILE))throw CliErrors[_0x2d4a06(0x1ad)]('Missing\x20'+SKILL_FILE+_0x2d4a06(0x1ab));const _0x1c943b=localFilesToManifestFiles(_0x2e496f),_0x150f43=createDeterministicZipPackage(_0x2e496f);return{'manifest':{'schemaVersion':0x2,'treeSha256':fileTreeHash(_0x1c943b),'zipSha256':bufferSha256(_0x150f43),'zipSize':_0x150f43[_0x2d4a06(0x19d)],'files':_0x1c943b},'packageBytes':_0x150f43,'packageBase64':_0x150f43[_0x2d4a06(0x194)](_0x2d4a06(0x195))};}export function verifyRuntimeSkillPackage(_0x545f3d,_0xf242ba){const _0x49ec4e=a116_0x55c8,_0x290b36=normalizePackageManifest(_0x545f3d,{'requireOssPath':![]});if(!_0x290b36)throw CliErrors[_0x49ec4e(0x1ad)](_0x49ec4e(0x1b4));return extractAndVerifyPackage(_0x290b36,_0xf242ba);}export function verifyRuntimeSkillBundle(_0x47c7e9,_0x2a825e){const _0x39d436=normalizePackageManifest(_0x47c7e9,{'requireOssPath':![]});if(!_0x39d436)throw CliErrors['validation']('Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.');return extractAndVerifyPackageFiles(_0x39d436,_0x2a825e);}export function tryNormalizePackageManifest(_0x3148ef){return normalizePackageManifest(_0x3148ef,{'requireOssPath':![]});}export function requirePackageBytes(_0x4b74fd,_0x123dfa){const _0x510a9f=a116_0x55c8;if(!_0x123dfa||_0x123dfa['length']===0x0)throw CliErrors[_0x510a9f(0x1ad)](_0x510a9f(0x199)+_0x4b74fd);return _0x123dfa;}export function extractDownloadedPackage(_0x145fc1){const _0x1d9308=a116_0x55c8,_0xadad3f=parseZipPackage(_0x145fc1)['map'](_0x178012=>({'path':_0x178012[_0x1d9308(0x189)],'bytes':_0x178012[_0x1d9308(0x1b5)]}));if(!_0xadad3f[_0x1d9308(0x19f)](_0x26a7ae=>_0x26a7ae[_0x1d9308(0x189)]===SKILL_FILE))throw CliErrors[_0x1d9308(0x1ad)](_0x1d9308(0x188)+SKILL_FILE+'.');return normalizeLocalFiles(_0xadad3f);}export function localFilesToManifestFiles(_0xae64ab){const _0x501d2b=a116_0x55c8;return normalizeLocalFiles(_0xae64ab)[_0x501d2b(0x1b6)](_0x384567=>({'path':_0x384567['path'],'sha256':fileHash(_0x384567),'size':fileContent(_0x384567)[_0x501d2b(0x19d)]}));}function normalizePackageManifest(_0x1a84cd,_0x50b324){const _0x33326e=a116_0x55c8;if(!_0x1a84cd||typeof _0x1a84cd!==_0x33326e(0x1a1)||Array['isArray'](_0x1a84cd))return undefined;const _0x4f7bfe=_0x1a84cd,_0x220a13=typeof _0x4f7bfe[_0x33326e(0x190)]==='string'?_0x4f7bfe['ossPath'][_0x33326e(0x1a0)]():undefined;if(_0x50b324[_0x33326e(0x1ae)]&&!_0x220a13)return undefined;if(!Array[_0x33326e(0x1aa)](_0x4f7bfe[_0x33326e(0x1a4)])||_0x4f7bfe[_0x33326e(0x1a4)][_0x33326e(0x19d)]===0x0)return undefined;if(!isSha256Hex(_0x4f7bfe[_0x33326e(0x197)]))throw CliErrors[_0x33326e(0x1ad)](_0x33326e(0x1af));if(!isSha256Hex(_0x4f7bfe[_0x33326e(0x1a6)]))throw CliErrors['validation']('Runtime\x20Skill\x20package\x20sha256\x20is\x20invalid.');if(!Number[_0x33326e(0x1a2)](_0x4f7bfe['zipSize'])||_0x4f7bfe[_0x33326e(0x1b0)]<0x0)throw CliErrors['validation'](_0x33326e(0x18d));const _0x4750f9=normalizeManifestFiles(_0x4f7bfe[_0x33326e(0x1a4)]);if(!_0x4750f9[_0x33326e(0x19f)](_0x5ac338=>_0x5ac338[_0x33326e(0x189)]===SKILL_FILE))throw CliErrors[_0x33326e(0x1ad)](_0x33326e(0x1a5)+SKILL_FILE+'.');const _0x1448f5=fileTreeHash(_0x4750f9);if(_0x1448f5!==_0x4f7bfe['treeSha256'][_0x33326e(0x196)]())throw CliErrors[_0x33326e(0x1ad)](_0x33326e(0x19c));return{'schemaVersion':Number[_0x33326e(0x1a2)](_0x4f7bfe[_0x33326e(0x19b)])?_0x4f7bfe[_0x33326e(0x19b)]:0x2,'ossPath':_0x220a13,'treeSha256':_0x1448f5,'zipSha256':_0x4f7bfe['zipSha256'][_0x33326e(0x196)](),'zipSize':_0x4f7bfe[_0x33326e(0x1b0)],'files':_0x4750f9};}function extractAndVerifyPackage(_0x2a4d2c,_0x5e7615){const _0x360d0b=a116_0x55c8,_0x372dcf=normalizePackageManifest(_0x2a4d2c,{'requireOssPath':![]});if(!_0x372dcf)throw CliErrors[_0x360d0b(0x1ad)]('Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.');if(_0x5e7615[_0x360d0b(0x19d)]!==_0x372dcf[_0x360d0b(0x1b0)])throw CliErrors[_0x360d0b(0x1ad)](_0x360d0b(0x1b3));const _0x22be2f=bufferSha256(_0x5e7615);if(_0x22be2f!==_0x372dcf[_0x360d0b(0x1a6)])throw CliErrors['validation'](_0x360d0b(0x191));return extractAndVerifyPackageFiles(_0x372dcf,_0x5e7615);}function a116_0x3acb(){const _0x577c58=['some','trim','object','isSafeInteger','72pGxGPx','files','Runtime\x20Skill\x20manifest\x20is\x20missing\x20','zipSha256','sha256','951918igroUP','6541619taUiPr','isArray','\x20in\x20Skill\x20file\x20package.','Runtime\x20Skill\x20package\x20file\x20size\x20mismatch:\x20','validation','requireOssPath','Runtime\x20Skill\x20file\x20tree\x20sha256\x20is\x20invalid.','zipSize','8QhMwFp','has','Runtime\x20Skill\x20package\x20size\x20mismatch.','Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.','bytes','map','133755GVZMzD','Runtime\x20Skill\x20package\x20is\x20missing\x20','path','Runtime\x20Skill\x20package\x20is\x20missing\x20entry:\x20','Runtime\x20Skill\x20package\x20file\x20sha256\x20mismatch:\x20','1438956yIOXFF','Runtime\x20Skill\x20package\x20size\x20is\x20invalid.','18838300YvXDUD','133745kjPJqH','ossPath','Runtime\x20Skill\x20package\x20sha256\x20mismatch.','4400172hRvXQj','set','toString','base64','toLowerCase','treeSha256','8qjaFBT','Runtime\x20Skill\x20package\x20is\x20required\x20for\x20Skill\x20install:\x20','size','schemaVersion','Runtime\x20Skill\x20file\x20tree\x20sha256\x20mismatch.','length','Runtime\x20Skill\x20package\x20entry\x20list\x20mismatch.'];a116_0x3acb=function(){return _0x577c58;};return a116_0x3acb();}function extractAndVerifyPackageFiles(_0x1549d0,_0x1fc1be){const _0x4a7d71=a116_0x55c8,_0x254d8a=parseZipPackage(_0x1fc1be);if(_0x254d8a[_0x4a7d71(0x19d)]!==_0x1549d0['files'][_0x4a7d71(0x19d)])throw CliErrors[_0x4a7d71(0x1ad)](_0x4a7d71(0x19e));const _0x2ca4ff=new Map();for(const _0x3eefbc of _0x254d8a){if(_0x2ca4ff[_0x4a7d71(0x1b2)](_0x3eefbc[_0x4a7d71(0x189)]))throw CliErrors['validation']('Duplicate\x20Skill\x20package\x20entry:\x20'+_0x3eefbc['path']);_0x2ca4ff[_0x4a7d71(0x193)](_0x3eefbc['path'],_0x3eefbc);}const _0x13b094=[];for(const _0x3d8496 of _0x1549d0['files']){const _0x3e55ae=_0x2ca4ff['get'](_0x3d8496[_0x4a7d71(0x189)]);if(!_0x3e55ae)throw CliErrors['validation'](_0x4a7d71(0x18a)+_0x3d8496[_0x4a7d71(0x189)]);if(_0x3e55ae[_0x4a7d71(0x1b5)][_0x4a7d71(0x19d)]!==_0x3d8496[_0x4a7d71(0x19a)])throw CliErrors[_0x4a7d71(0x1ad)](_0x4a7d71(0x1ac)+_0x3d8496[_0x4a7d71(0x189)]);const _0x2d6d9e=bufferSha256(_0x3e55ae[_0x4a7d71(0x1b5)]);if(_0x2d6d9e!==_0x3d8496[_0x4a7d71(0x1a7)])throw CliErrors[_0x4a7d71(0x1ad)](_0x4a7d71(0x18b)+_0x3d8496[_0x4a7d71(0x189)]);_0x13b094['push']({'path':_0x3d8496[_0x4a7d71(0x189)],'bytes':_0x3e55ae['bytes']});}return normalizeLocalFiles(_0x13b094);}
1
+ (function(_0x46a021,_0x5f9214){const _0x5d56bb=a117_0x4e35,_0x375d80=_0x46a021();while(!![]){try{const _0x51e1a3=-parseInt(_0x5d56bb(0x200))/0x1+-parseInt(_0x5d56bb(0x202))/0x2+parseInt(_0x5d56bb(0x1e7))/0x3+parseInt(_0x5d56bb(0x1f6))/0x4+-parseInt(_0x5d56bb(0x1ee))/0x5*(-parseInt(_0x5d56bb(0x1f9))/0x6)+parseInt(_0x5d56bb(0x207))/0x7+-parseInt(_0x5d56bb(0x205))/0x8;if(_0x51e1a3===_0x5f9214)break;else _0x375d80['push'](_0x375d80['shift']());}catch(_0x548d66){_0x375d80['push'](_0x375d80['shift']());}}}(a117_0x553d,0xd1304));import{CliErrors}from'../../errors.js';import{SKILL_FILE}from'./constants.js';import{bufferSha256,fileHash,fileTreeHash}from'./hashing.js';import{fileContent,isSha256Hex,normalizeLocalFiles,normalizeManifestFiles}from'./local-files.js';import{createDeterministicZipPackage,parseZipPackage}from'./zip-codec.js';export function buildSkillPackage(_0x2b765a){const _0x3d03c3=a117_0x4e35,_0x3701ff=normalizeLocalFiles(_0x2b765a);if(!_0x3701ff[_0x3d03c3(0x1fe)](_0x5e9582=>_0x5e9582[_0x3d03c3(0x209)]===SKILL_FILE))throw CliErrors[_0x3d03c3(0x1f4)](_0x3d03c3(0x1f5)+SKILL_FILE+_0x3d03c3(0x20d));const _0x29e7d7=localFilesToManifestFiles(_0x3701ff),_0x56986e=createDeterministicZipPackage(_0x3701ff);return{'manifest':{'schemaVersion':0x2,'treeSha256':fileTreeHash(_0x29e7d7),'zipSha256':bufferSha256(_0x56986e),'zipSize':_0x56986e[_0x3d03c3(0x1f3)],'files':_0x29e7d7},'packageBytes':_0x56986e,'packageBase64':_0x56986e[_0x3d03c3(0x20a)](_0x3d03c3(0x1fa))};}export function verifyRuntimeSkillPackage(_0x5195f7,_0x14a12c){const _0x178eb0=a117_0x4e35,_0x840fd9=normalizePackageManifest(_0x5195f7,{'requireOssPath':![]});if(!_0x840fd9)throw CliErrors['validation'](_0x178eb0(0x1f8));return extractAndVerifyPackage(_0x840fd9,_0x14a12c);}function a117_0x4e35(_0x3be384,_0x42de4c){_0x3be384=_0x3be384-0x1e7;const _0x553dab=a117_0x553d();let _0x4e3596=_0x553dab[_0x3be384];return _0x4e3596;}export function verifyRuntimeSkillBundle(_0x57fcd4,_0x42a753){const _0x3cf3b4=a117_0x4e35,_0x40cf45=normalizePackageManifest(_0x57fcd4,{'requireOssPath':![]});if(!_0x40cf45)throw CliErrors[_0x3cf3b4(0x1f4)]('Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.');return extractAndVerifyPackageFiles(_0x40cf45,_0x42a753);}export function tryNormalizePackageManifest(_0x31e334){return normalizePackageManifest(_0x31e334,{'requireOssPath':![]});}function a117_0x553d(){const _0x299730=['1135714mnLHMd','size','1532270xTqXnm','Runtime\x20Skill\x20package\x20size\x20is\x20invalid.','isArray','10280312ifmwRD','string','9101036mLWSRg','Duplicate\x20Skill\x20package\x20entry:\x20','path','toString','ossPath','zipSize','\x20in\x20Skill\x20file\x20package.','sha256','Runtime\x20Skill\x20package\x20entry\x20list\x20mismatch.','schemaVersion','Runtime\x20Skill\x20package\x20file\x20sha256\x20mismatch:\x20','Runtime\x20Skill\x20file\x20tree\x20sha256\x20is\x20invalid.','treeSha256','1715835xDkJaQ','isSafeInteger','Runtime\x20Skill\x20manifest\x20is\x20missing\x20','push','Runtime\x20Skill\x20package\x20is\x20missing\x20','zipSha256','trim','8253030lHfRvl','has','bytes','get','set','length','validation','Missing\x20','2084100cNZnon','Runtime\x20Skill\x20package\x20sha256\x20mismatch.','Runtime\x20Skill\x20package\x20manifest\x20is\x20missing.','6NmCijC','base64','requireOssPath','files','Runtime\x20Skill\x20package\x20sha256\x20is\x20invalid.','some','Runtime\x20Skill\x20package\x20file\x20size\x20mismatch:\x20'];a117_0x553d=function(){return _0x299730;};return a117_0x553d();}export function requirePackageBytes(_0x476765,_0xf25b47){const _0x8b39c6=a117_0x4e35;if(!_0xf25b47||_0xf25b47[_0x8b39c6(0x1f3)]===0x0)throw CliErrors[_0x8b39c6(0x1f4)]('Runtime\x20Skill\x20package\x20is\x20required\x20for\x20Skill\x20install:\x20'+_0x476765);return _0xf25b47;}export function extractDownloadedPackage(_0x48b21c){const _0x28ce93=a117_0x4e35,_0x2ae0a0=parseZipPackage(_0x48b21c)['map'](_0x25696b=>({'path':_0x25696b[_0x28ce93(0x209)],'bytes':_0x25696b[_0x28ce93(0x1f0)]}));if(!_0x2ae0a0[_0x28ce93(0x1fe)](_0x374951=>_0x374951[_0x28ce93(0x209)]===SKILL_FILE))throw CliErrors[_0x28ce93(0x1f4)](_0x28ce93(0x1eb)+SKILL_FILE+'.');return normalizeLocalFiles(_0x2ae0a0);}export function localFilesToManifestFiles(_0x19c9ee){const _0x20e43c=a117_0x4e35;return normalizeLocalFiles(_0x19c9ee)['map'](_0x519754=>({'path':_0x519754[_0x20e43c(0x209)],'sha256':fileHash(_0x519754),'size':fileContent(_0x519754)[_0x20e43c(0x1f3)]}));}function normalizePackageManifest(_0x56266f,_0x45f4b2){const _0x22609d=a117_0x4e35;if(!_0x56266f||typeof _0x56266f!=='object'||Array[_0x22609d(0x204)](_0x56266f))return undefined;const _0x26c40d=_0x56266f,_0x36f809=typeof _0x26c40d[_0x22609d(0x20b)]===_0x22609d(0x206)?_0x26c40d['ossPath'][_0x22609d(0x1ed)]():undefined;if(_0x45f4b2[_0x22609d(0x1fb)]&&!_0x36f809)return undefined;if(!Array[_0x22609d(0x204)](_0x26c40d[_0x22609d(0x1fc)])||_0x26c40d['files'][_0x22609d(0x1f3)]===0x0)return undefined;if(!isSha256Hex(_0x26c40d[_0x22609d(0x213)]))throw CliErrors[_0x22609d(0x1f4)](_0x22609d(0x212));if(!isSha256Hex(_0x26c40d[_0x22609d(0x1ec)]))throw CliErrors[_0x22609d(0x1f4)](_0x22609d(0x1fd));if(!Number[_0x22609d(0x1e8)](_0x26c40d[_0x22609d(0x20c)])||_0x26c40d[_0x22609d(0x20c)]<0x0)throw CliErrors[_0x22609d(0x1f4)](_0x22609d(0x203));const _0x549d81=normalizeManifestFiles(_0x26c40d['files']);if(!_0x549d81[_0x22609d(0x1fe)](_0x256531=>_0x256531['path']===SKILL_FILE))throw CliErrors[_0x22609d(0x1f4)](_0x22609d(0x1e9)+SKILL_FILE+'.');const _0x591a77=fileTreeHash(_0x549d81);if(_0x591a77!==_0x26c40d[_0x22609d(0x213)]['toLowerCase']())throw CliErrors[_0x22609d(0x1f4)]('Runtime\x20Skill\x20file\x20tree\x20sha256\x20mismatch.');return{'schemaVersion':Number[_0x22609d(0x1e8)](_0x26c40d[_0x22609d(0x210)])?_0x26c40d[_0x22609d(0x210)]:0x2,'ossPath':_0x36f809,'treeSha256':_0x591a77,'zipSha256':_0x26c40d[_0x22609d(0x1ec)]['toLowerCase'](),'zipSize':_0x26c40d[_0x22609d(0x20c)],'files':_0x549d81};}function extractAndVerifyPackage(_0x26a2fe,_0x4d2793){const _0x86e6a9=a117_0x4e35,_0x3fab38=normalizePackageManifest(_0x26a2fe,{'requireOssPath':![]});if(!_0x3fab38)throw CliErrors['validation'](_0x86e6a9(0x1f8));if(_0x4d2793[_0x86e6a9(0x1f3)]!==_0x3fab38[_0x86e6a9(0x20c)])throw CliErrors[_0x86e6a9(0x1f4)]('Runtime\x20Skill\x20package\x20size\x20mismatch.');const _0x160024=bufferSha256(_0x4d2793);if(_0x160024!==_0x3fab38['zipSha256'])throw CliErrors[_0x86e6a9(0x1f4)](_0x86e6a9(0x1f7));return extractAndVerifyPackageFiles(_0x3fab38,_0x4d2793);}function extractAndVerifyPackageFiles(_0x4012fa,_0x5c8b9c){const _0x88ed45=a117_0x4e35,_0x5d95da=parseZipPackage(_0x5c8b9c);if(_0x5d95da[_0x88ed45(0x1f3)]!==_0x4012fa['files'][_0x88ed45(0x1f3)])throw CliErrors[_0x88ed45(0x1f4)](_0x88ed45(0x20f));const _0x362cdf=new Map();for(const _0xc85b3d of _0x5d95da){if(_0x362cdf[_0x88ed45(0x1ef)](_0xc85b3d[_0x88ed45(0x209)]))throw CliErrors[_0x88ed45(0x1f4)](_0x88ed45(0x208)+_0xc85b3d['path']);_0x362cdf[_0x88ed45(0x1f2)](_0xc85b3d[_0x88ed45(0x209)],_0xc85b3d);}const _0x4c6845=[];for(const _0x344cab of _0x4012fa[_0x88ed45(0x1fc)]){const _0x7166e9=_0x362cdf[_0x88ed45(0x1f1)](_0x344cab[_0x88ed45(0x209)]);if(!_0x7166e9)throw CliErrors[_0x88ed45(0x1f4)]('Runtime\x20Skill\x20package\x20is\x20missing\x20entry:\x20'+_0x344cab[_0x88ed45(0x209)]);if(_0x7166e9[_0x88ed45(0x1f0)][_0x88ed45(0x1f3)]!==_0x344cab[_0x88ed45(0x201)])throw CliErrors['validation'](_0x88ed45(0x1ff)+_0x344cab[_0x88ed45(0x209)]);const _0x516e0d=bufferSha256(_0x7166e9[_0x88ed45(0x1f0)]);if(_0x516e0d!==_0x344cab[_0x88ed45(0x20e)])throw CliErrors[_0x88ed45(0x1f4)](_0x88ed45(0x211)+_0x344cab[_0x88ed45(0x209)]);_0x4c6845[_0x88ed45(0x1ea)]({'path':_0x344cab[_0x88ed45(0x209)],'bytes':_0x7166e9[_0x88ed45(0x1f0)]});}return normalizeLocalFiles(_0x4c6845);}
@@ -6,10 +6,11 @@
6
6
  */
7
7
  export { contentHash, fileTreeHash, } from "./runtime-skill-sync/hashing.js";
8
8
  export { linkEffectiveRuntimeSkills, linkGlobalRuntimeSkills, pruneStaleRuntimeSkillCache, pruneStaleRuntimeSkillLinks, } from "./runtime-skill-sync/links.js";
9
+ export { resolveRuntimeSkillInstallTarget } from "./runtime-skill-sync/install-target.js";
9
10
  export { listLocalRuntimeSkills } from "./runtime-skill-sync/list-local.js";
10
11
  export { materializeRuntimeSkill } from "./runtime-skill-sync/materialize.js";
11
12
  export { readMetadataIfPresent } from "./runtime-skill-sync/metadata.js";
12
13
  export { getRuntimeSkillCacheRoot, getRuntimeSkillDir, resolveSkillSyncPaths, runtimeAgentSkillRoots, } from "./runtime-skill-sync/paths.js";
13
14
  export { deriveSkillCodeFromDirectory, readPushDirectory, refreshPushDirectoryMetadataFromRemote, recordPushedRuntimeSkill, resolvePushDirectoryIdentity, } from "./runtime-skill-sync/push.js";
14
- export type { BuiltSkillPackage, GlobalRuntimeSkillLinkResult, LinkRuntimeSkillResult, LocalRuntimeSkillItem, LocalRuntimeSkillListInput, LocalSkillFile, MaterializedRuntimeSkill, PruneRuntimeSkillResult, PushDirectoryPayload, RuntimeSkillFile, RuntimeSkillFilesManifest, RuntimeSkillItem, RuntimeSkillMetadata, RuntimeSkillScope, SkillSyncPaths, SkillSyncPathsOptions, } from "./runtime-skill-sync/types.js";
15
+ export type { BuiltSkillPackage, GlobalRuntimeSkillLinkResult, LinkRuntimeSkillResult, LocalRuntimeSkillItem, LocalRuntimeSkillListInput, LocalSkillFile, MaterializedRuntimeSkill, PruneRuntimeSkillResult, PushDirectoryPayload, RuntimeSkillFile, RuntimeSkillFilesManifest, RuntimeSkillItem, RuntimeSkillInstallScope, RuntimeSkillInstallTarget, RuntimeSkillInstallTargetOptions, RuntimeSkillMetadata, RuntimeSkillScope, SkillSyncPaths, SkillSyncPathsOptions, } from "./runtime-skill-sync/types.js";
15
16
  export { buildSkillPackage, verifyRuntimeSkillBundle, verifyRuntimeSkillPackage, } from "./runtime-skill-sync/zip-package.js";
@@ -1 +1 @@
1
- (function(_0x40975a,_0x1de850){var _0x6a229f=a117_0x52b6,_0x5467c1=_0x40975a();while(!![]){try{var _0x4056e4=parseInt(_0x6a229f(0x1c9))/0x1*(parseInt(_0x6a229f(0x1ce))/0x2)+parseInt(_0x6a229f(0x1c6))/0x3+parseInt(_0x6a229f(0x1cc))/0x4*(-parseInt(_0x6a229f(0x1ca))/0x5)+-parseInt(_0x6a229f(0x1c8))/0x6+-parseInt(_0x6a229f(0x1c5))/0x7+parseInt(_0x6a229f(0x1c7))/0x8+parseInt(_0x6a229f(0x1cb))/0x9*(parseInt(_0x6a229f(0x1cd))/0xa);if(_0x4056e4===_0x1de850)break;else _0x5467c1['push'](_0x5467c1['shift']());}catch(_0x47091f){_0x5467c1['push'](_0x5467c1['shift']());}}}(a117_0x2571,0x34667));export{contentHash,fileTreeHash}from'./runtime-skill-sync/hashing.js';export{linkEffectiveRuntimeSkills,linkGlobalRuntimeSkills,pruneStaleRuntimeSkillCache,pruneStaleRuntimeSkillLinks}from'./runtime-skill-sync/links.js';function a117_0x2571(){var _0x51afc2=['1202873FcLIiJ','1136010IWsYPl','2287616nGFoLb','2334924IbNuTX','319604CxgGzN','3625oMEkww','6687NAVikN','1196zachuu','110xWtcvE','2YbzBho'];a117_0x2571=function(){return _0x51afc2;};return a117_0x2571();}export{listLocalRuntimeSkills}from'./runtime-skill-sync/list-local.js';export{materializeRuntimeSkill}from'./runtime-skill-sync/materialize.js';export{readMetadataIfPresent}from'./runtime-skill-sync/metadata.js';export{getRuntimeSkillCacheRoot,getRuntimeSkillDir,resolveSkillSyncPaths,runtimeAgentSkillRoots}from'./runtime-skill-sync/paths.js';export{deriveSkillCodeFromDirectory,readPushDirectory,refreshPushDirectoryMetadataFromRemote,recordPushedRuntimeSkill,resolvePushDirectoryIdentity}from'./runtime-skill-sync/push.js';function a117_0x52b6(_0x64196f,_0x50f38d){_0x64196f=_0x64196f-0x1c5;var _0x257112=a117_0x2571();var _0x52b6dc=_0x257112[_0x64196f];return _0x52b6dc;}export{buildSkillPackage,verifyRuntimeSkillBundle,verifyRuntimeSkillPackage}from'./runtime-skill-sync/zip-package.js';
1
+ (function(_0x421c2b,_0x2a036f){var _0x1f4e16=a118_0x33d8,_0xe16254=_0x421c2b();while(!![]){try{var _0x5e130f=-parseInt(_0x1f4e16(0x6a))/0x1*(-parseInt(_0x1f4e16(0x6e))/0x2)+parseInt(_0x1f4e16(0x6b))/0x3+parseInt(_0x1f4e16(0x70))/0x4*(parseInt(_0x1f4e16(0x69))/0x5)+parseInt(_0x1f4e16(0x67))/0x6*(-parseInt(_0x1f4e16(0x6f))/0x7)+-parseInt(_0x1f4e16(0x68))/0x8*(-parseInt(_0x1f4e16(0x6c))/0x9)+-parseInt(_0x1f4e16(0x65))/0xa*(-parseInt(_0x1f4e16(0x6d))/0xb)+-parseInt(_0x1f4e16(0x66))/0xc;if(_0x5e130f===_0x2a036f)break;else _0xe16254['push'](_0xe16254['shift']());}catch(_0x3dc7e4){_0xe16254['push'](_0xe16254['shift']());}}}(a118_0x3071,0x6a238));export{contentHash,fileTreeHash}from'./runtime-skill-sync/hashing.js';export{linkEffectiveRuntimeSkills,linkGlobalRuntimeSkills,pruneStaleRuntimeSkillCache,pruneStaleRuntimeSkillLinks}from'./runtime-skill-sync/links.js';export{resolveRuntimeSkillInstallTarget}from'./runtime-skill-sync/install-target.js';export{listLocalRuntimeSkills}from'./runtime-skill-sync/list-local.js';function a118_0x3071(){var _0x391e97=['6vohhou','573448vNkJUb','1275LkTrFt','1SZAJKg','551499tVZqAc','18wMWgoS','143cgjyFk','1563864lnJAMC','5057122ntCBnP','12764XMixpO','140450UxpVPe','11378724EKDrmI'];a118_0x3071=function(){return _0x391e97;};return a118_0x3071();}export{materializeRuntimeSkill}from'./runtime-skill-sync/materialize.js';function a118_0x33d8(_0x40ba0e,_0x55e7f3){_0x40ba0e=_0x40ba0e-0x65;var _0x307163=a118_0x3071();var _0x33d860=_0x307163[_0x40ba0e];return _0x33d860;}export{readMetadataIfPresent}from'./runtime-skill-sync/metadata.js';export{getRuntimeSkillCacheRoot,getRuntimeSkillDir,resolveSkillSyncPaths,runtimeAgentSkillRoots}from'./runtime-skill-sync/paths.js';export{deriveSkillCodeFromDirectory,readPushDirectory,refreshPushDirectoryMetadataFromRemote,recordPushedRuntimeSkill,resolvePushDirectoryIdentity}from'./runtime-skill-sync/push.js';export{buildSkillPackage,verifyRuntimeSkillBundle,verifyRuntimeSkillPackage}from'./runtime-skill-sync/zip-package.js';
@@ -1 +1 @@
1
- (function(_0x5151c5,_0x2fbd6a){const _0x38ad10=a118_0x1f80,_0x5a0e60=_0x5151c5();while(!![]){try{const _0x185006=-parseInt(_0x38ad10(0x19b))/0x1*(parseInt(_0x38ad10(0x1a0))/0x2)+-parseInt(_0x38ad10(0x1a4))/0x3+parseInt(_0x38ad10(0x1a3))/0x4*(parseInt(_0x38ad10(0x19d))/0x5)+parseInt(_0x38ad10(0x1a1))/0x6+parseInt(_0x38ad10(0x1a2))/0x7*(-parseInt(_0x38ad10(0x19c))/0x8)+-parseInt(_0x38ad10(0x19a))/0x9+-parseInt(_0x38ad10(0x19e))/0xa*(-parseInt(_0x38ad10(0x19f))/0xb);if(_0x185006===_0x2fbd6a)break;else _0x5a0e60['push'](_0x5a0e60['shift']());}catch(_0x1fb597){_0x5a0e60['push'](_0x5a0e60['shift']());}}}(a118_0x37d4,0xba6d2));function a118_0x37d4(){const _0x591a79=['4992516qRpHeA','14099lDVGaC','10626200tDXZyf','30865aKxdoA','308190QzmBSu','1331efkHvY','212SuJOWJ','5820138tDOkOh','7mmwtvA','108ElXcDk','2174094kbuKUd'];a118_0x37d4=function(){return _0x591a79;};return a118_0x37d4();}import{createJqFilter,resolveBundledJqPaths}from'@lovrabet/cli-framework';function a118_0x1f80(_0x152151,_0x1b7c0d){_0x152151=_0x152151-0x19a;const _0x37d489=a118_0x37d4();let _0x1f8090=_0x37d489[_0x152151];return _0x1f8090;}import{CliErrors}from'../errors.js';export const applyJqFilter=createJqFilter(CliErrors,{'bundledJqPaths':resolveBundledJqPaths()});
1
+ function a119_0x572a(_0x5a59fe,_0x5a6633){_0x5a59fe=_0x5a59fe-0xd0;const _0x2b91f3=a119_0x2b91();let _0x572a80=_0x2b91f3[_0x5a59fe];return _0x572a80;}(function(_0x1c18e4,_0x14dcf5){const _0x1cbd1d=a119_0x572a,_0x505ef5=_0x1c18e4();while(!![]){try{const _0x4ca2f0=parseInt(_0x1cbd1d(0xd6))/0x1+parseInt(_0x1cbd1d(0xd5))/0x2+-parseInt(_0x1cbd1d(0xd0))/0x3+parseInt(_0x1cbd1d(0xd4))/0x4+parseInt(_0x1cbd1d(0xd7))/0x5+-parseInt(_0x1cbd1d(0xd3))/0x6+parseInt(_0x1cbd1d(0xd2))/0x7*(-parseInt(_0x1cbd1d(0xd1))/0x8);if(_0x4ca2f0===_0x14dcf5)break;else _0x505ef5['push'](_0x505ef5['shift']());}catch(_0x23474c){_0x505ef5['push'](_0x505ef5['shift']());}}}(a119_0x2b91,0x8c167));import{createJqFilter,resolveBundledJqPaths}from'@lovrabet/cli-framework';import{CliErrors}from'../errors.js';function a119_0x2b91(){const _0x168579=['128kqjEou','590219yjwvKS','6746064qkDaDB','4542848NVfkeK','2188828SXqdTu','562448WvANBb','3367155WqqSXN','1256370XaoBPq'];a119_0x2b91=function(){return _0x168579;};return a119_0x2b91();}export const applyJqFilter=createJqFilter(CliErrors,{'bundledJqPaths':resolveBundledJqPaths()});