@lovrabet/lovrabet-cli 2.3.5 → 2.3.6-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/approval/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/init.js +1 -1
  26. package/lib/commands/config/shared.js +1 -1
  27. package/lib/commands/data/import-excel.js +1 -1
  28. package/lib/commands/data/index.js +1 -1
  29. package/lib/commands/dataset/detail.js +1 -1
  30. package/lib/commands/dataset/index.js +1 -1
  31. package/lib/commands/dataset/list.d.ts +3 -3
  32. package/lib/commands/dataset/list.js +1 -1
  33. package/lib/commands/dataset/sdk-doc.js +1 -1
  34. package/lib/commands/doctor.js +1 -1
  35. package/lib/commands/file/index.js +1 -1
  36. package/lib/commands/init.js +1 -1
  37. package/lib/commands/kb/index.js +1 -1
  38. package/lib/commands/logs/index.js +1 -1
  39. package/lib/commands/notification/config-list.js +1 -1
  40. package/lib/commands/notification/index.js +1 -1
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.js +1 -1
  59. package/lib/commands/role/update.js +1 -1
  60. package/lib/commands/role/user-add.js +1 -1
  61. package/lib/commands/role/user-remove.js +1 -1
  62. package/lib/commands/schedule/index.js +1 -1
  63. package/lib/commands/schema.js +1 -1
  64. package/lib/commands/service/dynamic.js +1 -1
  65. package/lib/commands/service/function-name-adapter.js +1 -1
  66. package/lib/commands/service/index.js +1 -1
  67. package/lib/commands/service/registry.js +1 -1
  68. package/lib/commands/skill/commands/create.js +1 -1
  69. package/lib/commands/skill/commands/diagram.js +1 -1
  70. package/lib/commands/skill/commands/install.js +1 -1
  71. package/lib/commands/skill/commands/list.js +1 -1
  72. package/lib/commands/skill/commands/push.js +1 -1
  73. package/lib/commands/skill/commands/validate.js +1 -1
  74. package/lib/commands/skill/diagram.js +1 -1
  75. package/lib/commands/skill/flags.js +1 -1
  76. package/lib/commands/skill/index.js +1 -1
  77. package/lib/commands/skill/manifest-helpers.js +1 -1
  78. package/lib/commands/skill/push-execute.js +1 -1
  79. package/lib/commands/skill/push-flow-helpers.js +1 -1
  80. package/lib/commands/skill/push-retarget.js +1 -1
  81. package/lib/commands/skill/scopes.js +1 -1
  82. package/lib/commands/skill/summary.js +1 -1
  83. package/lib/commands/skill/templates.js +1 -1
  84. package/lib/commands/skill/validate.js +1 -1
  85. package/lib/commands/sql/detail.js +1 -1
  86. package/lib/commands/sql/exec.js +1 -1
  87. package/lib/commands/sql/index.js +1 -1
  88. package/lib/commands/update.js +1 -1
  89. package/lib/commands/user-account/bind.js +1 -1
  90. package/lib/commands/user-account/index.js +1 -1
  91. package/lib/commands/workspace/index.js +1 -1
  92. package/lib/config/domain-config.js +1 -1
  93. package/lib/config/schema.js +1 -1
  94. package/lib/constant/app.js +1 -1
  95. package/lib/constant/auth-mode.js +1 -1
  96. package/lib/constant/cli.js +1 -1
  97. package/lib/constant/defaults.js +1 -1
  98. package/lib/constant/distribution.js +1 -1
  99. package/lib/constant/domain.js +1 -1
  100. package/lib/constant/env.js +1 -1
  101. package/lib/constant/output.js +1 -1
  102. package/lib/constant/product.js +1 -1
  103. package/lib/constant/region.js +1 -1
  104. package/lib/constant/risk.js +1 -1
  105. package/lib/constant/url.js +1 -1
  106. package/lib/context.js +1 -1
  107. package/lib/core/api-client.d.ts +11 -0
  108. package/lib/core/api-client.js +1 -1
  109. package/lib/core/db-resolver.js +1 -1
  110. package/lib/core/kb-search-client.js +1 -1
  111. package/lib/core/sdk-client.js +1 -1
  112. package/lib/errors.js +1 -1
  113. package/lib/framework/access-error.js +1 -1
  114. package/lib/framework/build-all-flags.js +1 -1
  115. package/lib/framework/dryrun.js +1 -1
  116. package/lib/framework/flags.js +1 -1
  117. package/lib/framework/help.js +1 -1
  118. package/lib/framework/index.js +1 -1
  119. package/lib/framework/output.js +1 -1
  120. package/lib/framework/preparse.js +1 -1
  121. package/lib/framework/rate-limit.js +1 -1
  122. package/lib/framework/raw-flags.js +1 -1
  123. package/lib/framework/response.js +1 -1
  124. package/lib/framework/runner-confirmation.js +1 -1
  125. package/lib/framework/runner-error.js +1 -1
  126. package/lib/framework/runner.js +1 -1
  127. package/lib/framework/schema-export.js +1 -1
  128. package/lib/framework/service-order.js +1 -1
  129. package/lib/framework/types.js +1 -1
  130. package/lib/generated/build-info.d.ts +4 -4
  131. package/lib/generated/build-info.js +1 -1
  132. package/lib/generated/official-routing.js +1 -1
  133. package/lib/generated/routing-contract.js +1 -1
  134. package/lib/help.js +1 -1
  135. package/lib/postinstall.js +1 -1
  136. package/lib/runtime/confirmation.js +1 -1
  137. package/lib/runtime/event.js +1 -1
  138. package/lib/runtime/index.js +1 -1
  139. package/lib/runtime/queue.js +1 -1
  140. package/lib/runtime/resolve.js +1 -1
  141. package/lib/services/dataset-import/auto-id-runner.d.ts +3 -1
  142. package/lib/services/dataset-import/auto-id-runner.js +1 -1
  143. package/lib/services/dataset-import/excel-reader.js +1 -1
  144. package/lib/services/dataset-import/image-bytes.d.ts +3 -0
  145. package/lib/services/dataset-import/image-bytes.js +1 -0
  146. package/lib/services/dataset-import/image-ooxml.d.ts +10 -0
  147. package/lib/services/dataset-import/image-ooxml.js +1 -0
  148. package/lib/services/dataset-import/image-runner.d.ts +48 -0
  149. package/lib/services/dataset-import/image-runner.js +1 -0
  150. package/lib/services/dataset-import/metadata.js +1 -1
  151. package/lib/services/dataset-import/preview.js +1 -1
  152. package/lib/services/dataset-import/runner.d.ts +10 -1
  153. package/lib/services/dataset-import/runner.js +1 -1
  154. package/lib/services/dataset-import/types.d.ts +28 -1
  155. package/lib/skills/builtin-skill.js +1 -1
  156. package/lib/skills/npx-skills-add.js +1 -1
  157. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  158. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  159. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  160. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  161. package/lib/skills/runtime-skill-sync/links.js +1 -1
  162. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  163. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  164. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  165. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  166. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  167. package/lib/skills/runtime-skill-sync/push.js +1 -1
  168. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  169. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  170. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  171. package/lib/skills/runtime-skill-sync.js +1 -1
  172. package/lib/skills/skill-presence.js +1 -1
  173. package/lib/utils/access-key-redaction.js +1 -1
  174. package/lib/utils/apply-jq-filter.js +1 -1
  175. package/lib/utils/cli-version-check.js +1 -1
  176. package/lib/utils/cli-version-policy.js +1 -1
  177. package/lib/utils/logger.js +1 -1
  178. package/lib/utils/lossless-json.js +1 -1
  179. package/lib/utils/params.js +1 -1
  180. package/lib/utils/positive-safe-integer.js +1 -1
  181. package/lib/utils/redaction.js +1 -1
  182. package/lib/utils/update-notice.js +1 -1
  183. package/lib/utils/version.js +1 -1
  184. package/lib/utils/write-cli-side-channel.js +1 -1
  185. package/package.json +4 -1
  186. package/skills/lovrabet/SKILL.md +7 -3
  187. package/skills/lovrabet/guides/app-resolution.md +2 -0
  188. package/skills/lovrabet/guides/dataset-and-data-workflow.md +10 -1
  189. package/skills/lovrabet/references/dataset-discovery-workflow.md +14 -1
  190. package/skills/lovrabet/references/instant-api-workflow.md +2 -0
  191. package/skills/lovrabet/references/lovrabet-app.md +2 -0
  192. package/skills/lovrabet/references/lovrabet-excel-import.md +19 -0
  193. package/skills/lovrabet.manifest.json +3 -3
@@ -0,0 +1,48 @@
1
+ import type { ImportContract, ImportOptions } from './runner.js';
2
+ import type { ExcelManifest, ImportImageValue, ImportMedia } from './types.js';
3
+ export interface ImageImportResponse {
4
+ status: string;
5
+ contentHash: string;
6
+ filePath?: string;
7
+ fileName?: string;
8
+ type?: string;
9
+ size?: number;
10
+ }
11
+ export interface ImageImportApi {
12
+ upload(importId: string, media: ImportMedia): Promise<ImageImportResponse>;
13
+ readback(importId: string, media: ImportMedia): Promise<ImageImportResponse>;
14
+ }
15
+ export interface ImageImportOptions extends ImportOptions {
16
+ imageApi: ImageImportApi;
17
+ inputPaths?: string[];
18
+ }
19
+ export declare function assertImageImportCapability(contract: ImportContract, manifest: ExcelManifest): void;
20
+ /** 与 Runtime 相同的 JSON 数组身份和稳定对象名,不依赖临时 URL。 */
21
+ export declare function imageObjectValue(contract: ImportContract, importId: string, media: Pick<ImportMedia, 'contentHash' | 'type' | 'size'>): ImportImageValue;
22
+ export declare function bindImageManifest(manifest: ExcelManifest, contract: ImportContract, importId: string): ExcelManifest;
23
+ export declare function runImageExcelImport(options: ImageImportOptions): Promise<{
24
+ checkpoint: string;
25
+ imageCount: number;
26
+ uniqueImages: number;
27
+ importId: string | undefined;
28
+ sourceRows: number;
29
+ emptyRows: number;
30
+ succeeded: number;
31
+ unknown: number;
32
+ conflicts: number;
33
+ notAttempted: number;
34
+ batches: number;
35
+ batchResults: {
36
+ batch: number;
37
+ rowStart: number;
38
+ rowEnd: number;
39
+ count: number;
40
+ bytes: number;
41
+ elapsedMs: number;
42
+ status: string;
43
+ }[];
44
+ elapsedMs: number;
45
+ report: string;
46
+ warnings: string[];
47
+ status: string;
48
+ }>;
@@ -0,0 +1 @@
1
+ (function(_0x2bdf76,_0xa41249){const _0x529ae0=a142_0x286d,_0x2fc54a=_0x2bdf76();while(!![]){try{const _0x575df7=-parseInt(_0x529ae0(0x115))/0x1*(parseInt(_0x529ae0(0x152))/0x2)+parseInt(_0x529ae0(0x160))/0x3*(parseInt(_0x529ae0(0x149))/0x4)+-parseInt(_0x529ae0(0x129))/0x5*(parseInt(_0x529ae0(0x102))/0x6)+parseInt(_0x529ae0(0x12f))/0x7+parseInt(_0x529ae0(0x125))/0x8+-parseInt(_0x529ae0(0x127))/0x9+parseInt(_0x529ae0(0x11b))/0xa;if(_0x575df7===_0xa41249)break;else _0x2fc54a['push'](_0x2fc54a['shift']());}catch(_0x56f46c){_0x2fc54a['push'](_0x2fc54a['shift']());}}}(a142_0x20fa,0xb6790));import{randomUUID,createHash}from'node:crypto';function a142_0x286d(_0x4c4e57,_0x4e2926){_0x4c4e57=_0x4c4e57-0xfd;const _0x20fa90=a142_0x20fa();let _0x286d26=_0x20fa90[_0x4c4e57];return _0x286d26;}import{lstat,readFile}from'node:fs/promises';import{acquireLock,assertImportContract,assertImportPaths,canonical,resolveImportOutputPath,runExcelImport,saveImportJson}from'./runner.js';function a142_0x20fa(){const _0x368a5f=['value','Image\x20cell\x20references\x20missing\x20media.','Completed\x20image\x20checkpoint\x20value\x20changed.','136PSGhiu','every','importId','batchSize','media','status','manifest','runtimeDomain','errors','phase','get','Import\x20checkpoint\x20already\x20exists;\x20use\x20--resume.','some','schemaVersion','3309IFquvz','rows','version','uploadFields','completed','entries','hash','strategy','rowNumber','3838122iRtdns','isInteger','pending','upload','png','checkpoint','field','inputPaths','hex','isSafeInteger','types','datasetCode','type','Invalid\x20image\x20media\x20descriptor.','bytes','fromEntries','contract','Invalid\x20image\x20readback\x20digest.','fileHash','1149VFkDkJ','imageApi','name','test','utf8','code','4225640IrLCEP','digest','schemaHash','succeeded','includes','sheet','update','dataset-import/','image/png','contentHash','10478600rVlBtd','imageCells','11283516wWwrZT','Image\x20checkpoint\x20does\x20not\x20match\x20the\x20source,\x20target\x20or\x20identity.','5osaDFq','size','map','reduce','Unexpected\x20row\x20checkpoint\x20during\x20image\x20upload\x20phase.','Row\x20phase\x20started\x20but\x20the\x20row\x20checkpoint\x20is\x20missing;\x20stop\x20to\x20avoid\x20duplicate\x20records.','5245919LJlMNJ','maxFileBytes','rows-started','key','length','sha256','Image\x20upload\x20outcome\x20is\x20unknown\x20or\x20missing.\x20Resume\x20to\x20reconcile\x20the\x20original\x20upload\x20identity.','missing','rows-preparing','maxBatchBytes','parserVersion','mappingHash','stringify','appCode','Excel\x20contains\x20invalid\x20or\x20no\x20data\x20rows;\x20no\x20images\x20were\x20uploaded.','fileName','.lock.recovery','isArray','resume','hashes','readback','Uploaded\x20image\x20is\x20not\x20visible.\x20Resume\x20to\x20reconcile\x20before\x20continuing.','00000000-0000-4000-8000-000000000000','report','Cannot\x20read\x20the\x20image\x20import\x20checkpoint.','.lock','860kHAugx','jpg','image/gif','all','imageFields','binding'];a142_0x20fa=function(){return _0x368a5f;};return a142_0x20fa();}import{runAutoIdExcelImport}from'./auto-id-runner.js';import{previewImportBatchCount}from'./preview.js';export function assertImageImportCapability(_0x48401a,_0x16a27e){const _0x8c710d=a142_0x286d;if(!_0x16a27e[_0x8c710d(0x156)]?.[_0x8c710d(0x133)])return;const _0x27edc5=_0x48401a['imageImport'];if(!_0x27edc5||_0x27edc5[_0x8c710d(0x162)]!==0x1||_0x27edc5['uploadId']!=='sha256'||_0x27edc5[_0x8c710d(0x130)]!==0xa00000||_0x27edc5['maxPixels']!==0x2625a00||!Array[_0x8c710d(0x140)](_0x27edc5[_0x8c710d(0x10c)])||![_0x8c710d(0x123),'image/jpeg',_0x8c710d(0x14b)][_0x8c710d(0x153)](_0x4819ac=>_0x27edc5[_0x8c710d(0x10c)]['includes'](_0x4819ac)))throw Error('The\x20server\x20does\x20not\x20support\x20this\x20image\x20import\x20capability.');}export function imageObjectValue(_0x271bfd,_0x585126,_0x166ac7){const _0x83b5a6=a142_0x286d,_0x551d2f=createHash(_0x83b5a6(0x134))[_0x83b5a6(0x121)](JSON[_0x83b5a6(0x13b)]([_0x271bfd['actorId'],_0x271bfd['appCode'],_0x271bfd[_0x83b5a6(0x10d)],_0x585126]))[_0x83b5a6(0x11c)](_0x83b5a6(0x10a)),_0x53216c={'image/png':_0x83b5a6(0x106),'image/jpeg':_0x83b5a6(0x14a),'image/gif':'gif'}[_0x166ac7['type']];if(!_0x53216c||!/^[0-9a-f]{64}$/[_0x83b5a6(0x118)](_0x166ac7[_0x83b5a6(0x124)])||!Number[_0x83b5a6(0x10b)](_0x166ac7['size'])||_0x166ac7[_0x83b5a6(0x12a)]<=0x0||_0x166ac7[_0x83b5a6(0x12a)]>0xa00000)throw Error(_0x83b5a6(0x10f));const _0x5258ba=_0x166ac7[_0x83b5a6(0x124)]+'.'+_0x53216c;return{'key':_0x83b5a6(0x122)+_0x551d2f+'/'+_0x5258ba,'name':_0x5258ba,'type':_0x166ac7[_0x83b5a6(0x10e)],'size':_0x166ac7[_0x83b5a6(0x12a)]};}export function bindImageManifest(_0x23857c,_0x216489,_0x1385b5){const _0x50d845=a142_0x286d,_0x111b0b=new Map(_0x23857c[_0x50d845(0x156)]?.[_0x50d845(0x12b)](_0x49aecb=>[_0x49aecb[_0x50d845(0x124)],_0x49aecb])),_0x4e1b2f=new Map(_0x23857c[_0x50d845(0x126)]?.[_0x50d845(0x12b)](_0x5439f6=>[_0x5439f6['rowNumber']+':'+_0x5439f6[_0x50d845(0x108)],_0x5439f6[_0x50d845(0x142)]]));return{..._0x23857c,'rows':_0x23857c['rows'][_0x50d845(0x12b)](_0x4e0b4c=>({..._0x4e0b4c,'values':Object[_0x50d845(0x111)](Object[_0x50d845(0xfe)](_0x4e0b4c['values'])['map'](([_0x58f11f,_0x58607e])=>{const _0x3c908a=_0x50d845,_0x4578b0=_0x4e1b2f[_0x3c908a(0x15c)](_0x4e0b4c[_0x3c908a(0x101)]+':'+_0x58f11f);return[_0x58f11f,_0x4578b0?_0x4578b0[_0x3c908a(0x12b)](_0x5d2812=>{const _0x29ad50=_0x3c908a,_0x1562e4=_0x111b0b['get'](_0x5d2812);if(!_0x1562e4)throw Error(_0x29ad50(0x150));const _0x4d33a1=imageObjectValue(_0x216489,_0x1385b5,_0x1562e4);return _0x23857c[_0x29ad50(0x163)]?.['includes'](_0x58f11f)?{'fileName':_0x4d33a1[_0x29ad50(0x117)],'filePath':_0x4d33a1['key']}:_0x4d33a1;}):_0x58607e];}))}))};}async function exists(_0x3fee88){const _0x4300b0=a142_0x286d;try{return await lstat(_0x3fee88),!![];}catch(_0x144961){if(_0x144961[_0x4300b0(0x11a)]==='ENOENT')return![];throw _0x144961;}}export async function runImageExcelImport(_0x117f0e){const _0x24451a=a142_0x286d;assertImportContract(_0x117f0e[_0x24451a(0x112)],_0x117f0e[_0x24451a(0x13c)],_0x117f0e[_0x24451a(0x10d)]),assertImageImportCapability(_0x117f0e[_0x24451a(0x112)],_0x117f0e[_0x24451a(0x158)]);if(!Number[_0x24451a(0x103)](_0x117f0e[_0x24451a(0x155)])||_0x117f0e[_0x24451a(0x155)]<0x1||_0x117f0e[_0x24451a(0x155)]>_0x117f0e['contract']['maxBatchSize'])throw Error('Invalid\x20import\x20batch\x20size.');if(_0x117f0e[_0x24451a(0x158)][_0x24451a(0x15a)][_0x24451a(0x133)]||!_0x117f0e[_0x24451a(0x158)]['rows'][_0x24451a(0x133)])throw Error(_0x24451a(0x13d));const _0x42c40d=await resolveImportOutputPath(_0x117f0e[_0x24451a(0x107)]),_0x52482c=await resolveImportOutputPath(_0x117f0e[_0x24451a(0x146)]),_0x2539c9=await resolveImportOutputPath(_0x42c40d+'.rows.json'),_0x5be684=await Promise[_0x24451a(0x14c)]([_0x2539c9,_0x2539c9+_0x24451a(0x148),_0x2539c9+_0x24451a(0x13f),..._0x117f0e[_0x24451a(0x109)]??[]][_0x24451a(0x12b)](resolveImportOutputPath));for(const _0x2da41c of[_0x42c40d,_0x52482c,_0x42c40d+_0x24451a(0x148),_0x42c40d+_0x24451a(0x13f)])await resolveImportOutputPath(_0x2da41c);assertImportPaths(_0x42c40d,_0x52482c,_0x5be684);const {contract:_0x3195ea,manifest:_0x45f936}=_0x117f0e,_0x141b6b=_0x45f936['media']??[];if(new Set(_0x141b6b[_0x24451a(0x12b)](_0x313b47=>_0x313b47[_0x24451a(0x124)]))[_0x24451a(0x12a)]!==_0x141b6b[_0x24451a(0x133)]||_0x141b6b['reduce']((_0x354680,_0xe12abb)=>_0x354680+_0xe12abb[_0x24451a(0x12a)],0x0)>0x32*0x400*0x400||(_0x45f936[_0x24451a(0x126)]??[])[_0x24451a(0x12c)]((_0x38f8a5,_0x4ee32f)=>_0x38f8a5+_0x4ee32f[_0x24451a(0x142)][_0x24451a(0x133)],0x0)>0x2710)throw Error('Invalid\x20image\x20manifest\x20limits.');for(const _0xf7438a of _0x141b6b)if(_0xf7438a['size']!==_0xf7438a[_0x24451a(0x110)]['length']||createHash(_0x24451a(0x134))[_0x24451a(0x121)](_0xf7438a[_0x24451a(0x110)])[_0x24451a(0x11c)]('hex')!==_0xf7438a[_0x24451a(0x124)])throw Error('Image\x20media\x20bytes\x20changed.');previewImportBatchCount(bindImageManifest(_0x45f936,_0x3195ea,_0x24451a(0x145)),_0x3195ea,_0x117f0e[_0x24451a(0x155)]);const _0x5d7b55={'appCode':_0x117f0e[_0x24451a(0x13c)],'datasetCode':_0x117f0e[_0x24451a(0x10d)],'runtimeDomain':_0x117f0e[_0x24451a(0x159)],'actorId':_0x3195ea['actorId'],'fileHash':_0x45f936[_0x24451a(0x114)],'mappingHash':_0x45f936[_0x24451a(0x13a)],'schemaHash':_0x45f936[_0x24451a(0x11d)],'remoteSchemaHash':_0x3195ea['schemaFingerprint'],'strategy':_0x3195ea[_0x24451a(0x100)],'schemaVersion':_0x3195ea[_0x24451a(0x15f)],'batchSize':_0x117f0e[_0x24451a(0x155)],'maxBatchBytes':_0x3195ea[_0x24451a(0x138)],'sheet':_0x45f936[_0x24451a(0x120)],'parserVersion':_0x45f936[_0x24451a(0x139)],'imageFields':_0x45f936[_0x24451a(0x14d)],'cells':_0x45f936['imageCells'],..._0x45f936['uploadFields']?.[_0x24451a(0x133)]?{'uploadFields':_0x45f936['uploadFields']}:{},'media':_0x141b6b['map'](({contentHash:_0x331a77,type:_0x2d11e8,size:_0x2a5fed})=>({'contentHash':_0x331a77,'type':_0x2d11e8,'size':_0x2a5fed})),'rows':_0x45f936[_0x24451a(0x161)]},_0x1c8201=await acquireLock(_0x42c40d);try{let _0x453f3e;if(_0x117f0e[_0x24451a(0x141)]){try{_0x453f3e=JSON['parse'](await readFile(_0x42c40d,_0x24451a(0x119)));}catch{throw Error(_0x24451a(0x147));}if(_0x453f3e[_0x24451a(0x162)]!==0x3||!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/[_0x24451a(0x118)](_0x453f3e[_0x24451a(0x154)])||canonical(_0x453f3e[_0x24451a(0x14e)])!==canonical(_0x5d7b55)||![_0x24451a(0x156),_0x24451a(0x137),_0x24451a(0x131),_0x24451a(0xfd)]['includes'](_0x453f3e[_0x24451a(0x15b)])||!Array[_0x24451a(0x140)](_0x453f3e[_0x24451a(0x156)])||_0x453f3e[_0x24451a(0x156)][_0x24451a(0x133)]!==_0x141b6b['length']||_0x453f3e[_0x24451a(0x156)][_0x24451a(0x15e)]((_0x134c2e,_0x2e8588)=>_0x134c2e[_0x24451a(0xff)]!==_0x141b6b[_0x2e8588][_0x24451a(0x124)]||!['pending',_0x24451a(0x11e)][_0x24451a(0x11f)](_0x134c2e[_0x24451a(0x157)])))throw Error(_0x24451a(0x128));if(['rows-started',_0x24451a(0xfd)][_0x24451a(0x11f)](_0x453f3e['phase'])&&!await exists(_0x2539c9))throw Error(_0x24451a(0x12e));if(_0x453f3e[_0x24451a(0x15b)]===_0x24451a(0x156)&&await exists(_0x2539c9))throw Error(_0x24451a(0x12d));}else{if(await exists(_0x42c40d)||await exists(_0x2539c9))throw Error(_0x24451a(0x15d));_0x453f3e={'version':0x3,'importId':randomUUID(),'binding':_0x5d7b55,'phase':'media','media':_0x141b6b['map'](_0x968d41=>({'hash':_0x968d41[_0x24451a(0x124)],'status':_0x24451a(0x104)}))},await saveImportJson(_0x42c40d,_0x453f3e);}const _0x1eafd4=(_0x2a6c11,_0x43f31a)=>{const _0x420b89=_0x24451a;if(!_0x2a6c11||_0x2a6c11['contentHash']!==_0x43f31a[_0x420b89(0x124)])throw Error(_0x420b89(0x113));if(_0x2a6c11[_0x420b89(0x157)]===_0x420b89(0x136))return undefined;const _0x556594=imageObjectValue(_0x3195ea,_0x453f3e[_0x420b89(0x154)],_0x43f31a);if(_0x2a6c11[_0x420b89(0x157)]!==_0x420b89(0x11e)||_0x2a6c11['filePath']!==_0x556594[_0x420b89(0x132)]||_0x2a6c11[_0x420b89(0x13e)]!==_0x556594[_0x420b89(0x117)]||_0x2a6c11[_0x420b89(0x10e)]!==_0x556594[_0x420b89(0x10e)]||_0x2a6c11[_0x420b89(0x12a)]!==_0x556594['size'])throw Error('Uploaded\x20image\x20metadata\x20changed\x20or\x20is\x20corrupt.');return _0x556594;};for(let _0x38b877=0x0;_0x38b877<_0x141b6b[_0x24451a(0x133)];_0x38b877++){const _0xa77708=_0x141b6b[_0x38b877],_0x44f374=_0x453f3e[_0x24451a(0x156)][_0x38b877],_0x857962=imageObjectValue(_0x3195ea,_0x453f3e[_0x24451a(0x154)],_0xa77708);if(_0x44f374[_0x24451a(0x157)]===_0x24451a(0x11e)&&canonical(_0x44f374['value'])!==canonical(_0x857962))throw Error(_0x24451a(0x151));let _0x4a10c8;if(_0x117f0e[_0x24451a(0x141)]||_0x44f374['status']==='succeeded')_0x4a10c8=_0x1eafd4(await _0x117f0e[_0x24451a(0x116)]['readback'](_0x453f3e[_0x24451a(0x154)],_0xa77708),_0xa77708);if(!_0x4a10c8&&_0x44f374[_0x24451a(0x157)]==='succeeded')throw Error('Previously\x20uploaded\x20image\x20is\x20missing;\x20automatic\x20repair\x20is\x20disabled.');if(!_0x4a10c8){try{_0x1eafd4(await _0x117f0e['imageApi'][_0x24451a(0x105)](_0x453f3e[_0x24451a(0x154)],_0xa77708),_0xa77708);}catch(_0x22e4e0){_0x4a10c8=_0x1eafd4(await _0x117f0e[_0x24451a(0x116)][_0x24451a(0x143)](_0x453f3e['importId'],_0xa77708),_0xa77708);if(!_0x4a10c8)throw Error(_0x24451a(0x135));}if(!_0x4a10c8)_0x4a10c8=_0x1eafd4(await _0x117f0e[_0x24451a(0x116)][_0x24451a(0x143)](_0x453f3e[_0x24451a(0x154)],_0xa77708),_0xa77708);if(!_0x4a10c8)throw Error(_0x24451a(0x144));}_0x44f374['status']=_0x24451a(0x11e),_0x44f374[_0x24451a(0x14f)]=_0x4a10c8,await saveImportJson(_0x42c40d,_0x453f3e);}const _0x50c31f=bindImageManifest(_0x45f936,_0x3195ea,_0x453f3e[_0x24451a(0x154)]),_0xd8d928=_0x453f3e['phase']===_0x24451a(0x137)?await exists(_0x2539c9):_0x453f3e[_0x24451a(0x15b)]!=='media';_0x453f3e[_0x24451a(0x15b)]===_0x24451a(0x156)&&(_0x453f3e[_0x24451a(0x15b)]=_0x24451a(0x137),await saveImportJson(_0x42c40d,_0x453f3e));const _0x46a3c6={..._0x117f0e,'manifest':_0x50c31f,'checkpoint':_0x2539c9,'report':_0x52482c,'resume':_0xd8d928,'onCheckpointReady':async()=>{const _0x23e723=_0x24451a;_0x453f3e[_0x23e723(0x15b)]=_0x23e723(0x131),await saveImportJson(_0x42c40d,_0x453f3e);}},_0x255a38=_0x3195ea[_0x24451a(0x15f)]===0x2?await runAutoIdExcelImport({..._0x46a3c6,'reconcileImageConflicts':_0x117f0e['resume']===!![]&&_0xd8d928}):await runExcelImport(_0x46a3c6);return _0x453f3e[_0x24451a(0x15b)]=_0x24451a(0xfd),await saveImportJson(_0x42c40d,_0x453f3e),{..._0x255a38,'checkpoint':_0x42c40d,'imageCount':_0x45f936[_0x24451a(0x126)]?.[_0x24451a(0x12c)]((_0x42c69a,_0x192d13)=>_0x42c69a+_0x192d13['hashes'][_0x24451a(0x133)],0x0)??0x0,'uniqueImages':_0x141b6b[_0x24451a(0x133)]};}finally{await _0x1c8201();}}
@@ -1 +1 @@
1
- (function(_0x3a14c4,_0x141754){const _0x5694b4=a140_0x1929,_0x72a55e=_0x3a14c4();while(!![]){try{const _0x36ce07=-parseInt(_0x5694b4(0xd4))/0x1+-parseInt(_0x5694b4(0xc2))/0x2*(parseInt(_0x5694b4(0xc5))/0x3)+-parseInt(_0x5694b4(0xc3))/0x4+-parseInt(_0x5694b4(0xd0))/0x5+-parseInt(_0x5694b4(0xcc))/0x6*(-parseInt(_0x5694b4(0xc4))/0x7)+-parseInt(_0x5694b4(0xc0))/0x8*(-parseInt(_0x5694b4(0xd6))/0x9)+parseInt(_0x5694b4(0xc6))/0xa;if(_0x36ce07===_0x141754)break;else _0x72a55e['push'](_0x72a55e['shift']());}catch(_0x2bcc75){_0x72a55e['push'](_0x72a55e['shift']());}}}(a140_0x3003,0x535d7));function a140_0x1929(_0x1355b8,_0x1d3a33){_0x1355b8=_0x1355b8-0xc0;const _0x30036d=a140_0x3003();let _0x192923=_0x30036d[_0x1355b8];return _0x192923;}export function assertDatasetImportTarget(_0x5d20b3,_0x47537c,_0x2289c5){const _0x1a88a7=a140_0x1929;if(!_0x5d20b3||typeof _0x5d20b3!==_0x1a88a7(0xd3)||Array[_0x1a88a7(0xc1)](_0x5d20b3))throw Error(_0x1a88a7(0xc7));const _0x534134=[_0x5d20b3[_0x1a88a7(0xce)],_0x5d20b3[_0x1a88a7(0xca)],_0x5d20b3[_0x1a88a7(0xc9)]?.[_0x1a88a7(0xcb)]][_0x1a88a7(0xd2)](_0x3d88bb=>_0x3d88bb!=null);if(!_0x534134[_0x1a88a7(0xd5)]||_0x534134[_0x1a88a7(0xcd)](_0x2d4233=>_0x2d4233!==_0x2289c5)||_0x5d20b3['appCode']!=null&&_0x5d20b3[_0x1a88a7(0xd1)]!==_0x47537c||_0x5d20b3[_0x1a88a7(0xc9)]?.[_0x1a88a7(0xd1)]!=null&&_0x5d20b3[_0x1a88a7(0xc9)][_0x1a88a7(0xd1)]!==_0x47537c)throw Error(_0x1a88a7(0xd7));const _0x159845=[_0x5d20b3[_0x1a88a7(0xcf)],_0x5d20b3['dataset']?.[_0x1a88a7(0xc8)]][_0x1a88a7(0xd2)](_0x3bc401=>_0x3bc401!=null);if(_0x159845['some'](_0x488aae=>typeof _0x488aae!=='string'||_0x488aae!==_0x159845[0x0]))throw Error('Dataset\x20source\x20metadata\x20is\x20inconsistent.');return _0x159845[0x0];}function a140_0x3003(){const _0x59a6f7=['1935235TWJeLV','appCode','filter','object','380402oRSJiN','length','27BwQLdG','Dataset\x20metadata\x20does\x20not\x20match\x20the\x20requested\x20target.','189136aZkcMs','isArray','807638HMeeCl','2362584QixZVy','7paIxxV','3wuFDLM','13577680EiTCIL','Dataset\x20metadata\x20is\x20missing.','sourceType','dataset','modelCode','datasetCode','4048098mtVpjb','some','code','source'];a140_0x3003=function(){return _0x59a6f7;};return a140_0x3003();}
1
+ function a143_0xc122(){const _0x26a98d=['417FnRGns','5347880ivwxyP','source','Dataset\x20source\x20metadata\x20is\x20inconsistent.','1405bwOmIZ','34398914chEcst','23037RtUnyD','dataset','code','2948880HVGKQz','9qONKqq','appCode','1646jIJIif','48RuzKmK','modelCode','isArray','sourceType','some','6387456zNAchN','14996bLMECF'];a143_0xc122=function(){return _0x26a98d;};return a143_0xc122();}function a143_0xaaa4(_0x39e55c,_0xe3f6ca){_0x39e55c=_0x39e55c-0x181;const _0xc12224=a143_0xc122();let _0xaaa4eb=_0xc12224[_0x39e55c];return _0xaaa4eb;}(function(_0x319d45,_0x3bb415){const _0x544b09=a143_0xaaa4,_0x1e4361=_0x319d45();while(!![]){try{const _0x4e946f=parseInt(_0x544b09(0x18d))/0x1*(-parseInt(_0x544b09(0x181))/0x2)+-parseInt(_0x544b09(0x189))/0x3*(-parseInt(_0x544b09(0x188))/0x4)+-parseInt(_0x544b09(0x18a))/0x5+-parseInt(_0x544b09(0x187))/0x6+-parseInt(_0x544b09(0x18f))/0x7*(-parseInt(_0x544b09(0x182))/0x8)+parseInt(_0x544b09(0x193))/0x9*(parseInt(_0x544b09(0x192))/0xa)+parseInt(_0x544b09(0x18e))/0xb;if(_0x4e946f===_0x3bb415)break;else _0x1e4361['push'](_0x1e4361['shift']());}catch(_0x294283){_0x1e4361['push'](_0x1e4361['shift']());}}}(a143_0xc122,0xa42c4));export function assertDatasetImportTarget(_0x412ba0,_0x3a6df5,_0x3da1b7){const _0x1a4c64=a143_0xaaa4;if(!_0x412ba0||typeof _0x412ba0!=='object'||Array[_0x1a4c64(0x184)](_0x412ba0))throw Error('Dataset\x20metadata\x20is\x20missing.');const _0x40bc90=[_0x412ba0[_0x1a4c64(0x191)],_0x412ba0[_0x1a4c64(0x183)],_0x412ba0[_0x1a4c64(0x190)]?.['datasetCode']]['filter'](_0x14a7c1=>_0x14a7c1!=null);if(!_0x40bc90['length']||_0x40bc90[_0x1a4c64(0x186)](_0x4d1602=>_0x4d1602!==_0x3da1b7)||_0x412ba0['appCode']!=null&&_0x412ba0[_0x1a4c64(0x194)]!==_0x3a6df5||_0x412ba0['dataset']?.['appCode']!=null&&_0x412ba0[_0x1a4c64(0x190)][_0x1a4c64(0x194)]!==_0x3a6df5)throw Error('Dataset\x20metadata\x20does\x20not\x20match\x20the\x20requested\x20target.');const _0x4deaaf=[_0x412ba0[_0x1a4c64(0x18b)],_0x412ba0['dataset']?.[_0x1a4c64(0x185)]]['filter'](_0x278f5c=>_0x278f5c!=null);if(_0x4deaaf[_0x1a4c64(0x186)](_0xdc4e56=>typeof _0xdc4e56!=='string'||_0xdc4e56!==_0x4deaaf[0x0]))throw Error(_0x1a4c64(0x18c));return _0x4deaaf[0x0];}
@@ -1 +1 @@
1
- (function(_0x2f1c75,_0x49bebe){const _0x21898b=a141_0x5600,_0x10d513=_0x2f1c75();while(!![]){try{const _0x255e63=parseInt(_0x21898b(0x1e2))/0x1+-parseInt(_0x21898b(0x1ea))/0x2+parseInt(_0x21898b(0x1dd))/0x3+parseInt(_0x21898b(0x1de))/0x4+-parseInt(_0x21898b(0x1e1))/0x5*(-parseInt(_0x21898b(0x1e9))/0x6)+-parseInt(_0x21898b(0x1ee))/0x7*(-parseInt(_0x21898b(0x1e8))/0x8)+-parseInt(_0x21898b(0x1ef))/0x9*(parseInt(_0x21898b(0x1ed))/0xa);if(_0x255e63===_0x49bebe)break;else _0x10d513['push'](_0x10d513['shift']());}catch(_0x530add){_0x10d513['push'](_0x10d513['shift']());}}}(a141_0x1c58,0x1fddc));function a141_0x1c58(){const _0x36c8ef=['byteLength','830bjTGjp','44653KZJOxF','68463MXWACi','schemaVersion','9498RjNMlq','814784LEdyww','utf8','length','52705PmcZZk','187543NCzgJo','Excel\x20row\x20','stringify','schemaFingerprint','rows','map','264DZQItR','90TpsCtn','2244aaAEph','values'];a141_0x1c58=function(){return _0x36c8ef;};return a141_0x1c58();}function a141_0x5600(_0x51f068,_0x411df3){_0x51f068=_0x51f068-0x1dc;const _0x1c586d=a141_0x1c58();let _0x560037=_0x1c586d[_0x51f068];return _0x560037;}export function previewImportBatchCount(_0x5f3696,_0x4a4d8f,_0x2c3236){const _0x2dd8ef=a141_0x5600,_0x1bf494=_0x399d93=>_0x399d93[_0x2dd8ef(0x1e7)](_0x5b7f1d=>_0x4a4d8f[_0x2dd8ef(0x1dc)]===0x1?{..._0x5f3696[_0x2dd8ef(0x1e6)][_0x5b7f1d][_0x2dd8ef(0x1eb)],'id':-0x1fffffffffffff}:_0x5f3696[_0x2dd8ef(0x1e6)][_0x5b7f1d][_0x2dd8ef(0x1eb)]),_0x3cb989=_0x26dd02=>Buffer[_0x2dd8ef(0x1ec)](JSON[_0x2dd8ef(0x1e4)]({'schemaFingerprint':_0x4a4d8f[_0x2dd8ef(0x1e5)],..._0x4a4d8f[_0x2dd8ef(0x1dc)]===0x2?{'taskId':0x2**0x34}:{},'items':_0x1bf494(_0x26dd02)}),_0x2dd8ef(0x1df));let _0x2c3ae5=0x0,_0x10d79f=[];for(let _0x1b11f4=0x0;_0x1b11f4<_0x5f3696[_0x2dd8ef(0x1e6)]['length'];_0x1b11f4++){if(_0x3cb989([_0x1b11f4])>_0x4a4d8f['maxBatchBytes'])throw Error(_0x2dd8ef(0x1e3)+_0x5f3696[_0x2dd8ef(0x1e6)][_0x1b11f4]['rowNumber']+'\x20exceeds\x20the\x20import\x20request\x20size\x20limit.');_0x10d79f[_0x2dd8ef(0x1e0)]&&(_0x10d79f[_0x2dd8ef(0x1e0)]===_0x2c3236||_0x3cb989([..._0x10d79f,_0x1b11f4])>_0x4a4d8f['maxBatchBytes'])&&(_0x2c3ae5++,_0x10d79f=[]),_0x10d79f['push'](_0x1b11f4);}return _0x2c3ae5+Number(_0x10d79f[_0x2dd8ef(0x1e0)]>0x0);}
1
+ (function(_0x359ee4,_0x290fd8){const _0xb82ef8=a144_0x317c,_0x51f7a1=_0x359ee4();while(!![]){try{const _0x515c3d=-parseInt(_0xb82ef8(0x1d1))/0x1*(parseInt(_0xb82ef8(0x1dc))/0x2)+-parseInt(_0xb82ef8(0x1da))/0x3+-parseInt(_0xb82ef8(0x1d2))/0x4+parseInt(_0xb82ef8(0x1cf))/0x5*(-parseInt(_0xb82ef8(0x1d7))/0x6)+-parseInt(_0xb82ef8(0x1e0))/0x7+parseInt(_0xb82ef8(0x1db))/0x8*(-parseInt(_0xb82ef8(0x1e1))/0x9)+parseInt(_0xb82ef8(0x1d5))/0xa;if(_0x515c3d===_0x290fd8)break;else _0x51f7a1['push'](_0x51f7a1['shift']());}catch(_0x46ee14){_0x51f7a1['push'](_0x51f7a1['shift']());}}}(a144_0x2275,0x5c5ea));function a144_0x2275(){const _0x3df52f=['\x20exceeds\x20the\x20import\x20request\x20size\x20limit.','utf8','byteLength','75ZshAtg','map','235PlcLJm','1190088EELjEN','length','rows','28797800ASYPZc','rowNumber','213750snxOhB','push','schemaVersion','1068444nLWzKx','1184rdqozr','3450QbDODb','maxBatchBytes','Excel\x20row\x20','schemaFingerprint','1174026fgHBuC','45018YBxssI'];a144_0x2275=function(){return _0x3df52f;};return a144_0x2275();}function a144_0x317c(_0x3921a1,_0x18885c){_0x3921a1=_0x3921a1-0x1cc;const _0x227594=a144_0x2275();let _0x317cf5=_0x227594[_0x3921a1];return _0x317cf5;}export function previewImportBatchCount(_0x2ba595,_0x363d89,_0x59d762){const _0x55d53e=a144_0x317c,_0x2c253d=_0xfa20e2=>_0xfa20e2[_0x55d53e(0x1d0)](_0x9c345d=>_0x363d89['schemaVersion']===0x1?{..._0x2ba595[_0x55d53e(0x1d4)][_0x9c345d]['values'],'id':-0x1fffffffffffff}:_0x2ba595['rows'][_0x9c345d]['values']),_0x1e1095=_0x58d1bb=>Buffer[_0x55d53e(0x1ce)](JSON['stringify']({'schemaFingerprint':_0x363d89[_0x55d53e(0x1df)],..._0x363d89[_0x55d53e(0x1d9)]===0x2?{'taskId':0x2**0x34}:{},'items':_0x2c253d(_0x58d1bb)}),_0x55d53e(0x1cd));let _0x5473cf=0x0,_0x3afa91=[];for(let _0x50ced4=0x0;_0x50ced4<_0x2ba595['rows'][_0x55d53e(0x1d3)];_0x50ced4++){if(_0x1e1095([_0x50ced4])>_0x363d89[_0x55d53e(0x1dd)])throw Error(_0x55d53e(0x1de)+_0x2ba595['rows'][_0x50ced4][_0x55d53e(0x1d6)]+_0x55d53e(0x1cc));_0x3afa91['length']&&(_0x3afa91['length']===_0x59d762||_0x1e1095([..._0x3afa91,_0x50ced4])>_0x363d89[_0x55d53e(0x1dd)])&&(_0x5473cf++,_0x3afa91=[]),_0x3afa91[_0x55d53e(0x1d8)](_0x50ced4);}return _0x5473cf+Number(_0x3afa91[_0x55d53e(0x1d3)]>0x0);}
@@ -9,6 +9,13 @@ export interface ImportContract {
9
9
  schemaFingerprint: string;
10
10
  maxBatchSize: number;
11
11
  maxBatchBytes: number;
12
+ imageImport?: {
13
+ version: number;
14
+ maxFileBytes: number;
15
+ maxPixels: number;
16
+ types: string[];
17
+ uploadId: string;
18
+ };
12
19
  }
13
20
  export interface ImportApi {
14
21
  write(items: Record<string, unknown>[], taskId?: number): Promise<{
@@ -29,9 +36,11 @@ export interface ImportOptions {
29
36
  batchSize: number;
30
37
  resume?: boolean;
31
38
  api: ImportApi;
39
+ /** 行身份持久化并校验后、任何行 API 调用前,在行锁内确认外层状态。 */
40
+ onCheckpointReady?: () => Promise<void>;
32
41
  }
33
42
  export declare function canonical(value: unknown): string;
34
- export declare function sameImportValue(expected: unknown, actual: unknown): boolean;
43
+ export declare function sameImportValue(expected: unknown, actual: unknown, image?: boolean): boolean;
35
44
  export declare function resolveImportOutputPath(path: string): Promise<string>;
36
45
  export declare function assertImportPaths(checkpoint: string, report: string, inputs?: string[]): void;
37
46
  export declare function saveImportJson(path: string, value: unknown): Promise<void>;
@@ -1 +1 @@
1
- (function(_0x26ac3d,_0x40798d){const _0x94fdd7=a142_0x5ca6,_0x43e66f=_0x26ac3d();while(!![]){try{const _0x3673e1=parseInt(_0x94fdd7(0xcd))/0x1*(-parseInt(_0x94fdd7(0xfa))/0x2)+-parseInt(_0x94fdd7(0x119))/0x3*(parseInt(_0x94fdd7(0x107))/0x4)+-parseInt(_0x94fdd7(0x105))/0x5*(parseInt(_0x94fdd7(0xe9))/0x6)+parseInt(_0x94fdd7(0xf8))/0x7+-parseInt(_0x94fdd7(0xcf))/0x8+parseInt(_0x94fdd7(0x10b))/0x9*(-parseInt(_0x94fdd7(0xc6))/0xa)+parseInt(_0x94fdd7(0x11f))/0xb;if(_0x3673e1===_0x40798d)break;else _0x43e66f['push'](_0x43e66f['shift']());}catch(_0x437149){_0x43e66f['push'](_0x43e66f['shift']());}}}(a142_0x3dc0,0xd8e8e));import{randomBytes,randomUUID}from'node:crypto';import{lstat,open,readFile,realpath,rename,unlink}from'node:fs/promises';import{resolve,dirname,basename}from'node:path';export function canonical(_0x2b1881){const _0x59770a=a142_0x5ca6;if(Array[_0x59770a(0x104)](_0x2b1881))return'['+_0x2b1881[_0x59770a(0xb5)](canonical)['join'](',')+']';if(_0x2b1881&&typeof _0x2b1881===_0x59770a(0xd3))return'{'+Object[_0x59770a(0xdd)](_0x2b1881)[_0x59770a(0xcc)]()[_0x59770a(0xb5)](_0x57ef32=>JSON[_0x59770a(0xe4)](_0x57ef32)+':'+canonical(_0x2b1881[_0x57ef32]))[_0x59770a(0xf0)](',')+'}';return JSON[_0x59770a(0xe4)](_0x2b1881)??_0x59770a(0xc5);}export function sameImportValue(_0x988a73,_0x1e937c){return _0x988a73===null?_0x1e937c===null||_0x1e937c===undefined:canonical(_0x1e937c)===canonical(_0x988a73);}async function rejectSymlink(_0x202cf7){const _0x41f1b4=a142_0x5ca6;try{if((await lstat(_0x202cf7))[_0x41f1b4(0xc0)]())throw Error('Import\x20output\x20must\x20not\x20be\x20a\x20symbolic\x20link.');}catch(_0x565d4f){if(_0x565d4f[_0x41f1b4(0x11e)]!==_0x41f1b4(0xbe))throw _0x565d4f;}}export async function resolveImportOutputPath(_0x224b46){return await rejectSymlink(_0x224b46),resolve(await realpath(dirname(resolve(_0x224b46))),basename(_0x224b46));}function a142_0x5ca6(_0x2c9a68,_0x1a2243){_0x2c9a68=_0x2c9a68-0xb5;const _0x3dc0d8=a142_0x3dc0();let _0x5ca6d6=_0x3dc0d8[_0x2c9a68];return _0x5ca6d6;}export function assertImportPaths(_0x1dbde2,_0x57d6af,_0x49d5ce=[]){const _0x578923=a142_0x5ca6,_0x57dd98=[..._0x49d5ce,_0x1dbde2,_0x57d6af,_0x1dbde2+_0x578923(0x108),_0x1dbde2+'.lock.recovery']['map'](_0xbf822e=>resolve(_0xbf822e));if(new Set(_0x57dd98)[_0x578923(0xdf)]!==_0x57dd98[_0x578923(0xba)])throw Error(_0x578923(0xff));}export async function saveImportJson(_0x2cd0a4,_0x44e7d9){const _0x175f2f=a142_0x5ca6;await rejectSymlink(_0x2cd0a4);const _0xbaaa2=_0x2cd0a4+_0x175f2f(0xbd)+randomUUID(),_0x2bfd66=await open(_0xbaaa2,'wx',0x180);try{await _0x2bfd66[_0x175f2f(0xe3)](JSON[_0x175f2f(0xe4)](_0x44e7d9,null,0x2)),await _0x2bfd66[_0x175f2f(0xed)]();}finally{await _0x2bfd66[_0x175f2f(0xb6)]();}try{await rename(_0xbaaa2,_0x2cd0a4);}catch(_0x2642b6){await unlink(_0xbaaa2)[_0x175f2f(0xc4)](()=>{});throw _0x2642b6;}}function a142_0x3dc0(){const _0x3aee4c=['checkpoint','kill','Invalid\x20import\x20readback\x20response.','maxBatchBytes','Import\x20input,\x20output\x20and\x20lock\x20paths\x20must\x20be\x20different\x20files.','now','schemaHash','unsent','source','isArray','2506975LkNHnc','elapsedMs','860004BbgXnc','.lock','isInteger','has','8447157nHfRth','Invalid\x20import\x20lock;\x20inspect\x20it\x20before\x20recovery.','isSafeInteger','schemaVersion','every','includes','Import\x20primary\x20key\x20collision;\x20stop\x20without\x20replacing\x20the\x20fixed\x20IDs.','pending','parse','rowNumber','utf8','token','toString','appCode','18QQiqSR','Import\x20content\x20conflict\x20at\x20Excel\x20row\x20','The\x20fixed-ID\x20runner\x20requires\x20the\x20v1\x20import\x20contract.','EEXIST','The\x20import\x20write\x20outcome\x20is\x20unknown.\x20Resume\x20to\x20reconcile\x20the\x20fixed\x20IDs\x20before\x20continuing.','code','37822961VHvmNL','batchSize','byteLength','Excel\x20contains\x20invalid\x20rows;\x20no\x20data\x20was\x20written.','values','pid','importId','succeeded','map','close','Import\x20checkpoint\x20already\x20exists;\x20use\x20--resume.','sheet','schemaFingerprint','length','count','fixed-negative-id','.tmp-','ENOENT','status','isSymbolicLink','incomplete','Excel\x20contains\x20no\x20valid\x20data\x20rows.','strategy','catch','undefined','10SGZCzG','Excel\x20row\x20','\x20exceeds\x20the\x20import\x20request\x20size\x20limit.','METADATA','readback','slice','sort','2ZBProM','warnings','478912xpqCKe','unknown','auto-id-task-marker','Invalid\x20or\x20duplicate\x20import\x20readback\x20ID.','object','message','emptyRows','Import\x20checkpoint\x20does\x20not\x20match\x20the\x20input,\x20target\x20or\x20identity.','errors','datasetCode','write','report','Previously\x20imported\x20records\x20are\x20no\x20longer\x20visible;\x20recovery\x20stopped.','some','keys','conflict','size','string','Invalid\x20write\x20result.','The\x20import\x20checkpoint\x20is\x20locked\x20by\x20a\x20running\x20process.','writeFile','stringify','completed','Invalid\x20import\x20batch\x20size.','maxBatchSize','actorId','12dsfVIe','resume','push','rows','sync','runtimeDomain','mappingHash','join','filter','set','The\x20server\x20import\x20contract\x20is\x20unsupported\x20or\x20incomplete.','add','forEach','Import\x20checkpoint\x20contains\x20a\x20content\x20conflict.','Invalid\x20import\x20lock\x20owner.','7274064lwwJig','ids','297908LWFOko'];a142_0x3dc0=function(){return _0x3aee4c;};return a142_0x3dc0();}export async function acquireLock(_0x46f764){const _0x522d1d=a142_0x5ca6,_0x1e59a0=_0x46f764+_0x522d1d(0x108),_0x406daa=randomUUID();await rejectSymlink(_0x1e59a0);const _0x131cde=_0x1e59a0+'.recovery';let _0x39bf4a,_0x1f5fff;try{try{_0x39bf4a=await open(_0x1e59a0,'wx',0x180);}catch(_0x34becc){if(_0x34becc[_0x522d1d(0x11e)]!=='EEXIST')throw _0x34becc;try{_0x1f5fff=await open(_0x131cde,'wx',0x180);}catch(_0x59116f){if(_0x59116f[_0x522d1d(0x11e)]===_0x522d1d(0x11c))throw Error('Import\x20lock\x20recovery\x20is\x20active\x20or\x20interrupted;\x20inspect\x20the\x20recovery\x20guard\x20before\x20retrying.');throw _0x59116f;}await _0x1f5fff[_0x522d1d(0xe3)](JSON['stringify']({'pid':process[_0x522d1d(0x124)],'token':_0x406daa})),await _0x1f5fff[_0x522d1d(0xed)](),await rejectSymlink(_0x1e59a0);let _0xe0faaa;try{_0xe0faaa=await readFile(_0x1e59a0,_0x522d1d(0x115));}catch(_0x274241){if(_0x274241[_0x522d1d(0x11e)]!==_0x522d1d(0xbe))throw _0x274241;}if(_0xe0faaa!==undefined){let _0x516fb6;try{_0x516fb6=JSON['parse'](_0xe0faaa);}catch{throw Error(_0x522d1d(0x10c));}if(!_0x516fb6||!Number[_0x522d1d(0x10d)](_0x516fb6[_0x522d1d(0x124)])||_0x516fb6['pid']<=0x0)throw Error(_0x522d1d(0xf7));try{process[_0x522d1d(0xfc)](_0x516fb6['pid'],0x0);throw Error(_0x522d1d(0xe2));}catch(_0x474529){if(_0x474529[_0x522d1d(0x11e)]!=='ESRCH')throw _0x474529;}if(await readFile(_0x1e59a0,_0x522d1d(0x115))!==_0xe0faaa)throw Error('Import\x20lock\x20changed;\x20retry\x20recovery.');await unlink(_0x1e59a0);}_0x39bf4a=await open(_0x1e59a0,'wx',0x180);}await _0x39bf4a['writeFile'](JSON[_0x522d1d(0xe4)]({'pid':process[_0x522d1d(0x124)],'token':_0x406daa})),await _0x39bf4a[_0x522d1d(0xed)]();}finally{try{await _0x39bf4a?.[_0x522d1d(0xb6)]();}finally{if(_0x1f5fff)try{await _0x1f5fff[_0x522d1d(0xb6)]();}finally{await unlink(_0x131cde);}}}return async()=>{const _0x1bcc68=_0x522d1d;if(JSON[_0x1bcc68(0x113)](await readFile(_0x1e59a0,_0x1bcc68(0x115)))[_0x1bcc68(0x116)]===_0x406daa)await unlink(_0x1e59a0);};}export function assertImportContract(_0x3455b1,_0x58831f,_0x2ce7e8){const _0x5ae1ce=a142_0x5ca6;if(!_0x3455b1||!(_0x3455b1[_0x5ae1ce(0x10e)]===0x1&&_0x3455b1[_0x5ae1ce(0xc3)]===_0x5ae1ce(0xbc)||_0x3455b1[_0x5ae1ce(0x10e)]===0x2&&_0x3455b1[_0x5ae1ce(0xc3)]===_0x5ae1ce(0xd1))||_0x3455b1[_0x5ae1ce(0x103)]!==_0x5ae1ce(0xc9)||_0x3455b1[_0x5ae1ce(0x118)]!==_0x58831f||_0x3455b1[_0x5ae1ce(0xd8)]!==_0x2ce7e8||typeof _0x3455b1[_0x5ae1ce(0xe8)]!==_0x5ae1ce(0xe0)||!_0x3455b1[_0x5ae1ce(0xe8)]||typeof _0x3455b1[_0x5ae1ce(0xb9)]!==_0x5ae1ce(0xe0)||!_0x3455b1[_0x5ae1ce(0xb9)]||!Number['isSafeInteger'](_0x3455b1[_0x5ae1ce(0xe7)])||_0x3455b1['maxBatchSize']<0x1||_0x3455b1[_0x5ae1ce(0xe7)]>0x3e8||!Number[_0x5ae1ce(0x10d)](_0x3455b1[_0x5ae1ce(0xfe)])||_0x3455b1[_0x5ae1ce(0xfe)]<0x1||_0x3455b1[_0x5ae1ce(0xfe)]>0x14*0x400*0x400)throw Error(_0x5ae1ce(0xf3));}export async function runExcelImport(_0x46ef02){const _0x5b43ca=a142_0x5ca6;_0x46ef02={..._0x46ef02,'checkpoint':await resolveImportOutputPath(_0x46ef02[_0x5b43ca(0xfb)]),'report':await resolveImportOutputPath(_0x46ef02['report'])};const {manifest:_0x432048,contract:_0x2eb2de,api:_0x2e924f}=_0x46ef02;assertImportContract(_0x2eb2de,_0x46ef02['appCode'],_0x46ef02['datasetCode']);if(_0x2eb2de[_0x5b43ca(0x10e)]!==0x1)throw Error(_0x5b43ca(0x11b));if(_0x432048[_0x5b43ca(0xd7)][_0x5b43ca(0xba)])throw Error(_0x5b43ca(0x122));if(!_0x432048['rows']['length'])throw Error(_0x5b43ca(0xc2));if(!Number[_0x5b43ca(0x109)](_0x46ef02['batchSize'])||_0x46ef02[_0x5b43ca(0x120)]<0x1||_0x46ef02[_0x5b43ca(0x120)]>_0x2eb2de['maxBatchSize'])throw Error(_0x5b43ca(0xe6));for(const _0x2307c7 of _0x432048[_0x5b43ca(0xec)]){if(Buffer[_0x5b43ca(0x121)](JSON[_0x5b43ca(0xe4)]({'schemaFingerprint':_0x2eb2de[_0x5b43ca(0xb9)],'items':[{..._0x2307c7[_0x5b43ca(0x123)],'id':-0x1fffffffffffff}]}),_0x5b43ca(0x115))>_0x2eb2de[_0x5b43ca(0xfe)])throw Error(_0x5b43ca(0xc7)+_0x2307c7[_0x5b43ca(0x114)]+_0x5b43ca(0xc8));}assertImportPaths(_0x46ef02[_0x5b43ca(0xfb)],_0x46ef02[_0x5b43ca(0xda)]);const _0x2105ea={'appCode':_0x46ef02[_0x5b43ca(0x118)],'datasetCode':_0x46ef02[_0x5b43ca(0xd8)],'runtimeDomain':_0x46ef02[_0x5b43ca(0xee)],'actorId':_0x2eb2de['actorId'],'fileHash':_0x432048['fileHash'],'mappingHash':_0x432048[_0x5b43ca(0xef)],'schemaHash':_0x432048[_0x5b43ca(0x101)],'remoteSchemaHash':_0x2eb2de[_0x5b43ca(0xb9)],'batchSize':_0x46ef02[_0x5b43ca(0x120)],'sheet':_0x432048[_0x5b43ca(0xb8)]},_0x3de86c=await acquireLock(_0x46ef02[_0x5b43ca(0xfb)]);let _0x368be1;const _0x4bcf7f=Date[_0x5b43ca(0x100)]();let _0x1b9851=0x0;const _0x5727e1=[],_0x536270=()=>({'importId':_0x368be1?.[_0x5b43ca(0x125)],'sourceRows':_0x432048[_0x5b43ca(0xec)][_0x5b43ca(0xba)],'emptyRows':_0x432048[_0x5b43ca(0xd5)][_0x5b43ca(0xba)],'succeeded':_0x368be1?.[_0x5b43ca(0xec)][_0x5b43ca(0xf1)](_0x4f20c4=>_0x4f20c4[_0x5b43ca(0xbf)]===_0x5b43ca(0x126))[_0x5b43ca(0xba)]??0x0,'unknown':_0x368be1?.[_0x5b43ca(0xec)][_0x5b43ca(0xf1)](_0x4c3f96=>_0x4c3f96[_0x5b43ca(0xbf)]===_0x5b43ca(0x112))[_0x5b43ca(0xba)]??0x0,'conflicts':_0x368be1?.[_0x5b43ca(0xec)]['filter'](_0x1c46ef=>_0x1c46ef[_0x5b43ca(0xbf)]===_0x5b43ca(0xde))[_0x5b43ca(0xba)]??0x0,'notAttempted':_0x368be1?.['rows']['filter'](_0x1a8c1e=>_0x1a8c1e[_0x5b43ca(0xbf)]==='unsent')[_0x5b43ca(0xba)]??_0x432048[_0x5b43ca(0xec)][_0x5b43ca(0xba)],'batches':_0x1b9851,'batchResults':_0x5727e1,'elapsedMs':Date[_0x5b43ca(0x100)]()-_0x4bcf7f,'checkpoint':resolve(_0x46ef02['checkpoint']),'report':resolve(_0x46ef02[_0x5b43ca(0xda)]),'warnings':_0x432048[_0x5b43ca(0xce)]});try{await rejectSymlink(_0x46ef02['checkpoint']);if(_0x46ef02[_0x5b43ca(0xea)]){try{_0x368be1=JSON[_0x5b43ca(0x113)](await readFile(_0x46ef02[_0x5b43ca(0xfb)],'utf8'));}catch{throw Error('Cannot\x20read\x20the\x20import\x20checkpoint.');}if(!_0x368be1||_0x368be1['version']!==0x1||typeof _0x368be1['importId']!==_0x5b43ca(0xe0)||canonical(_0x368be1['binding'])!==canonical(_0x2105ea)||!Array[_0x5b43ca(0x104)](_0x368be1[_0x5b43ca(0xec)])||_0x368be1[_0x5b43ca(0xec)][_0x5b43ca(0xba)]!==_0x432048[_0x5b43ca(0xec)][_0x5b43ca(0xba)]||new Set(_0x368be1[_0x5b43ca(0xec)][_0x5b43ca(0xb5)](_0x125e35=>_0x125e35['id']))[_0x5b43ca(0xdf)]!==_0x368be1['rows'][_0x5b43ca(0xba)]||_0x368be1[_0x5b43ca(0xec)]['some']((_0x18c62d,_0x1829fe)=>!Number['isSafeInteger'](_0x18c62d['id'])||_0x18c62d['id']>=0x0||_0x18c62d['rowNumber']!==_0x432048['rows'][_0x1829fe][_0x5b43ca(0x114)]||![_0x5b43ca(0x102),_0x5b43ca(0x112),_0x5b43ca(0x126),_0x5b43ca(0xde)][_0x5b43ca(0x110)](_0x18c62d[_0x5b43ca(0xbf)])))throw Error(_0x5b43ca(0xd6));}else{try{await lstat(_0x46ef02['checkpoint']);throw Error(_0x5b43ca(0xb7));}catch(_0x36b59f){if(_0x36b59f[_0x5b43ca(0x11e)]!==_0x5b43ca(0xbe))throw _0x36b59f;}const _0x4413ee=new Set();_0x368be1={'version':0x1,'importId':randomUUID(),'binding':_0x2105ea,'rows':_0x432048[_0x5b43ca(0xec)][_0x5b43ca(0xb5)](_0x52cc23=>{const _0x4a974a=_0x5b43ca;let _0x1ca95c;do{_0x1ca95c=-(Number(BigInt('0x'+randomBytes(0x7)[_0x4a974a(0x117)]('hex'))&(0x1n<<0x34n)-0x1n)+0x1);}while(_0x4413ee['has'](_0x1ca95c));return _0x4413ee[_0x4a974a(0xf4)](_0x1ca95c),{'id':_0x1ca95c,'rowNumber':_0x52cc23[_0x4a974a(0x114)],'status':_0x4a974a(0x102)};})},await saveImportJson(_0x46ef02[_0x5b43ca(0xfb)],_0x368be1);}const _0x4b6abf=_0x368be1;if(_0x4b6abf[_0x5b43ca(0xec)][_0x5b43ca(0xdc)](_0x269f5d=>_0x269f5d[_0x5b43ca(0xbf)]==='conflict'))throw Error(_0x5b43ca(0xf6));const _0x5c64e4=async _0x3884d7=>{const _0x31d286=_0x5b43ca,_0x269251=await _0x2e924f[_0x31d286(0xca)](_0x3884d7['map'](_0x40c6e7=>_0x4b6abf[_0x31d286(0xec)][_0x40c6e7]['id']));if(!Array[_0x31d286(0x104)](_0x269251))throw Error(_0x31d286(0xfd));const _0x3c79c8=new Set(_0x3884d7[_0x31d286(0xb5)](_0x20580e=>_0x4b6abf[_0x31d286(0xec)][_0x20580e]['id'])),_0x5df5ab=new Map();for(const _0x381961 of _0x269251){const _0x30bcf9=Number(_0x381961?.['id']);if(!_0x3c79c8[_0x31d286(0x10a)](_0x30bcf9)||_0x5df5ab[_0x31d286(0x10a)](_0x30bcf9))throw Error(_0x31d286(0xd2));_0x5df5ab[_0x31d286(0xf2)](_0x30bcf9,_0x381961);}for(const _0x49a545 of _0x3884d7){const _0x1b7a18=_0x5df5ab['get'](_0x4b6abf[_0x31d286(0xec)][_0x49a545]['id']);if(!_0x1b7a18)continue;if(_0x4b6abf[_0x31d286(0xec)][_0x49a545][_0x31d286(0xbf)]==='unsent'){_0x4b6abf[_0x31d286(0xec)][_0x49a545][_0x31d286(0xbf)]=_0x31d286(0xde),await saveImportJson(_0x46ef02['checkpoint'],_0x4b6abf);throw Error(_0x31d286(0x111));}const _0x1a6990=_0x432048[_0x31d286(0xec)][_0x49a545][_0x31d286(0x123)];if(Object[_0x31d286(0xdd)](_0x1a6990)[_0x31d286(0xdc)](_0x211a60=>!sameImportValue(_0x1a6990[_0x211a60],_0x1b7a18[_0x211a60]))){_0x4b6abf['rows'][_0x49a545]['status']=_0x31d286(0xde),await saveImportJson(_0x46ef02[_0x31d286(0xfb)],_0x4b6abf);throw Error(_0x31d286(0x11a)+_0x4b6abf['rows'][_0x49a545][_0x31d286(0x114)]+'.');}_0x4b6abf['rows'][_0x49a545][_0x31d286(0xbf)]=_0x31d286(0x126);}return await saveImportJson(_0x46ef02[_0x31d286(0xfb)],_0x4b6abf),_0x5df5ab;};if(_0x46ef02[_0x5b43ca(0xea)])for(let _0x2676b1=0x0;_0x2676b1<_0x4b6abf[_0x5b43ca(0xec)][_0x5b43ca(0xba)];_0x2676b1+=_0x46ef02[_0x5b43ca(0x120)]){const _0x147061=_0x4b6abf[_0x5b43ca(0xec)][_0x5b43ca(0xcb)](_0x2676b1,_0x2676b1+_0x46ef02[_0x5b43ca(0x120)])[_0x5b43ca(0xb5)]((_0x31cd5f,_0x4d6c8d)=>_0x2676b1+_0x4d6c8d),_0x3e1e52=_0x147061[_0x5b43ca(0xf1)](_0x4a39e3=>_0x4b6abf[_0x5b43ca(0xec)][_0x4a39e3][_0x5b43ca(0xbf)]==='succeeded'),_0x5c9754=await _0x5c64e4(_0x147061),_0x3f6664=_0x3e1e52[_0x5b43ca(0xf1)](_0x26cb3d=>!_0x5c9754[_0x5b43ca(0x10a)](_0x4b6abf[_0x5b43ca(0xec)][_0x26cb3d]['id']));if(_0x3f6664[_0x5b43ca(0xba)]){_0x3f6664[_0x5b43ca(0xf5)](_0xcb6bd8=>{const _0x3d2c6d=_0x5b43ca;_0x4b6abf[_0x3d2c6d(0xec)][_0xcb6bd8][_0x3d2c6d(0xbf)]=_0x3d2c6d(0xde);}),await saveImportJson(_0x46ef02[_0x5b43ca(0xfb)],_0x4b6abf);throw Error(_0x5b43ca(0xdb));}}for(let _0x28627f=0x0;_0x28627f<_0x4b6abf[_0x5b43ca(0xec)]['length'];){const _0x47aae7=[],_0xec58f5=[];while(_0x28627f<_0x4b6abf['rows'][_0x5b43ca(0xba)]&&_0xec58f5[_0x5b43ca(0xba)]<_0x46ef02[_0x5b43ca(0x120)]){const _0x27d6cc=_0x28627f++;if(_0x4b6abf['rows'][_0x27d6cc][_0x5b43ca(0xbf)]===_0x5b43ca(0x126))continue;const _0x3fa8ea={..._0x432048[_0x5b43ca(0xec)][_0x27d6cc][_0x5b43ca(0x123)],'id':_0x4b6abf[_0x5b43ca(0xec)][_0x27d6cc]['id']};if(Buffer[_0x5b43ca(0x121)](JSON[_0x5b43ca(0xe4)]({'schemaFingerprint':_0x2eb2de['schemaFingerprint'],'items':[..._0xec58f5,_0x3fa8ea]}),_0x5b43ca(0x115))>_0x2eb2de[_0x5b43ca(0xfe)]){if(!_0xec58f5[_0x5b43ca(0xba)])throw Error(_0x5b43ca(0xc7)+_0x4b6abf[_0x5b43ca(0xec)][_0x27d6cc][_0x5b43ca(0x114)]+_0x5b43ca(0xc8));_0x28627f--;break;}_0x47aae7[_0x5b43ca(0xeb)](_0x27d6cc),_0xec58f5['push'](_0x3fa8ea);}if(!_0xec58f5['length'])continue;const _0x235be7=_0x47aae7[_0x5b43ca(0xf1)](_0x1619a3=>_0x4b6abf[_0x5b43ca(0xec)][_0x1619a3][_0x5b43ca(0xbf)]===_0x5b43ca(0x102));if(_0x235be7[_0x5b43ca(0xba)]){const _0x3f7b44=await _0x2e924f['readback'](_0x235be7[_0x5b43ca(0xb5)](_0x872768=>_0x4b6abf[_0x5b43ca(0xec)][_0x872768]['id']));if(!Array['isArray'](_0x3f7b44))throw Error('Invalid\x20import\x20readback\x20response.');if(_0x3f7b44[_0x5b43ca(0xba)])throw Error('Import\x20primary\x20key\x20collision;\x20stop\x20without\x20replacing\x20the\x20fixed\x20IDs.');}_0x47aae7[_0x5b43ca(0xf5)](_0x4c345e=>{const _0x2bf37c=_0x5b43ca;_0x4b6abf[_0x2bf37c(0xec)][_0x4c345e]['status']=_0x2bf37c(0x112);}),await saveImportJson(_0x46ef02[_0x5b43ca(0xfb)],_0x4b6abf),_0x1b9851++;const _0x41aa66=Date[_0x5b43ca(0x100)](),_0x35e03e={'batch':_0x1b9851,'rowStart':_0x4b6abf['rows'][_0x47aae7[0x0]]['rowNumber'],'rowEnd':_0x4b6abf['rows'][_0x47aae7[_0x47aae7['length']-0x1]][_0x5b43ca(0x114)],'count':_0xec58f5['length'],'bytes':Buffer[_0x5b43ca(0x121)](JSON[_0x5b43ca(0xe4)]({'schemaFingerprint':_0x2eb2de[_0x5b43ca(0xb9)],'items':_0xec58f5}),_0x5b43ca(0x115)),'elapsedMs':0x0,'status':_0x5b43ca(0xd0)};_0x5727e1['push'](_0x35e03e);try{const _0x4971e0=await _0x2e924f[_0x5b43ca(0xd9)](_0xec58f5);if(!_0x4971e0||_0x4971e0[_0x5b43ca(0xbb)]!==_0xec58f5['length']||!Array[_0x5b43ca(0x104)](_0x4971e0[_0x5b43ca(0xf9)])||_0x4971e0[_0x5b43ca(0xf9)][_0x5b43ca(0xba)]!==_0xec58f5[_0x5b43ca(0xba)]||_0x4971e0[_0x5b43ca(0xf9)][_0x5b43ca(0xdc)]((_0x58a041,_0x46e447)=>Number(_0x58a041)!==_0x4b6abf[_0x5b43ca(0xec)][_0x47aae7[_0x46e447]]['id']))throw Error(_0x5b43ca(0xe1));await _0x5c64e4(_0x47aae7);if(_0x47aae7[_0x5b43ca(0xdc)](_0x318551=>_0x4b6abf['rows'][_0x318551]['status']!=='succeeded'))throw Error('Incomplete\x20readback.');}catch(_0x281b95){if(_0x4b6abf['rows'][_0x5b43ca(0xdc)](_0x31bc0a=>_0x31bc0a[_0x5b43ca(0xbf)]===_0x5b43ca(0xde)))throw _0x281b95;try{await _0x5c64e4(_0x47aae7);}catch(_0x5453f9){if(_0x4b6abf[_0x5b43ca(0xec)][_0x5b43ca(0xdc)](_0x2b85bb=>_0x2b85bb['status']===_0x5b43ca(0xde)))throw _0x5453f9;}if(_0x47aae7[_0x5b43ca(0xdc)](_0x59e476=>_0x4b6abf[_0x5b43ca(0xec)][_0x59e476]['status']!==_0x5b43ca(0x126)))throw Error(_0x5b43ca(0x11d));}finally{_0x35e03e[_0x5b43ca(0x106)]=Date['now']()-_0x41aa66;if(_0x47aae7[_0x5b43ca(0x10f)](_0x1d20ed=>_0x4b6abf['rows'][_0x1d20ed][_0x5b43ca(0xbf)]===_0x5b43ca(0x126)))_0x35e03e[_0x5b43ca(0xbf)]=_0x5b43ca(0x126);else{if(_0x47aae7['some'](_0x339429=>_0x4b6abf[_0x5b43ca(0xec)][_0x339429][_0x5b43ca(0xbf)]===_0x5b43ca(0xde)))_0x35e03e[_0x5b43ca(0xbf)]=_0x5b43ca(0xde);}}}const _0x55b422={'status':_0x5b43ca(0xe5),..._0x536270()};return await saveImportJson(_0x46ef02[_0x5b43ca(0xda)],_0x55b422),_0x55b422;}catch(_0x310ca5){if(_0x368be1)await saveImportJson(_0x46ef02[_0x5b43ca(0xda)],{'status':_0x5b43ca(0xc1),..._0x536270(),'message':_0x310ca5[_0x5b43ca(0xd4)]});throw _0x310ca5;}finally{await _0x3de86c();}}
1
+ const a145_0x2b92c0=a145_0x549e;(function(_0x50a5cd,_0x20b3b2){const _0x17a2ec=a145_0x549e,_0x34f3b7=_0x50a5cd();while(!![]){try{const _0x587d31=-parseInt(_0x17a2ec(0x1a8))/0x1*(-parseInt(_0x17a2ec(0x194))/0x2)+-parseInt(_0x17a2ec(0x18a))/0x3+-parseInt(_0x17a2ec(0x1e2))/0x4+-parseInt(_0x17a2ec(0x1aa))/0x5*(-parseInt(_0x17a2ec(0x1c0))/0x6)+-parseInt(_0x17a2ec(0x185))/0x7*(parseInt(_0x17a2ec(0x1da))/0x8)+-parseInt(_0x17a2ec(0x17a))/0x9*(parseInt(_0x17a2ec(0x198))/0xa)+-parseInt(_0x17a2ec(0x1a2))/0xb*(-parseInt(_0x17a2ec(0x1c4))/0xc);if(_0x587d31===_0x20b3b2)break;else _0x34f3b7['push'](_0x34f3b7['shift']());}catch(_0x48de27){_0x34f3b7['push'](_0x34f3b7['shift']());}}}(a145_0x305c,0xe2c21));import{randomBytes,randomUUID}from'node:crypto';import{lstat,open,readFile,realpath,rename,unlink}from'node:fs/promises';import{resolve,dirname,basename}from'node:path';function a145_0x305c(){const _0x2422a6=['netType','createUserName','size','join','maxBatchSize','runtimeDomain','object','Import\x20input,\x20output\x20and\x20lock\x20paths\x20must\x20be\x20different\x20files.','values','isInteger','.tmp-','Previously\x20imported\x20records\x20are\x20no\x20longer\x20visible;\x20recovery\x20stopped.','status','code','110277dOJOtg','completed','binding','type','stringify','districtAdcode','rowNumber','datasetCode','imageFields','.lock','countryCode','914333VjBGhC','streetNumber','The\x20import\x20write\x20outcome\x20is\x20unknown.\x20Resume\x20to\x20reconcile\x20the\x20fixed\x20IDs\x20before\x20continuing.','ENOENT','createUserId','4267761HyMxNv','add','filter','Invalid\x20write\x20result.','Excel\x20contains\x20invalid\x20rows;\x20no\x20data\x20was\x20written.','unsent','fileHash','rows','accuracy','catch','2NUVIWc','errorMessage','The\x20server\x20import\x20contract\x20is\x20unsupported\x20or\x20incomplete.','lbswuaCacheId','1130WGCyFn','mappingHash','keys','hex','.lock.recovery','slice','isArray','Invalid\x20import\x20batch\x20size.','Import\x20output\x20must\x20not\x20be\x20a\x20symbolic\x20link.','Import\x20checkpoint\x20contains\x20a\x20content\x20conflict.','44TgLTPe','succeeded','.recovery','pending','Import\x20lock\x20recovery\x20is\x20active\x20or\x20interrupted;\x20inspect\x20the\x20recovery\x20guard\x20before\x20retrying.','dingTalkUrl','1132061BfSKAS','pid','525FLOnuD','road','close','entries','schemaFingerprint','The\x20import\x20checkpoint\x20is\x20locked\x20by\x20a\x20running\x20process.','elapsedMs','maxBatchBytes','Import\x20primary\x20key\x20collision;\x20stop\x20without\x20replacing\x20the\x20fixed\x20IDs.','push','every','report','resume','byteLength','geolocation','actorId','has','pois','address','undefined','latitude','ESRCH','75342pgXepO','Excel\x20row\x20','writeFile','now','8603100kCwGLh','conflict','message','get','uploadFields','forEach','version','Invalid\x20or\x20duplicate\x20import\x20readback\x20ID.','Invalid\x20import\x20readback\x20response.','province','source','sort','schemaVersion','importId','fixed-negative-id','errors','readback','ids','map','set','string','time','56VsQScp','appCode','district','length','checkpoint','unknown','batchSize','kill','2671744nBbjmz','resultCode','Invalid\x20import\x20lock;\x20inspect\x20it\x20before\x20recovery.','isSafeInteger','strategy','isSymbolicLink','parse','country','EEXIST','write','\x20exceeds\x20the\x20import\x20request\x20size\x20limit.','auto-id-task-marker','sheet','some','Import\x20lock\x20changed;\x20retry\x20recovery.','sync','utf8','toString','cityAdcode','includes'];a145_0x305c=function(){return _0x2422a6;};return a145_0x305c();}export function canonical(_0x2400d7){const _0x4991e0=a145_0x549e;if(Array[_0x4991e0(0x19e)](_0x2400d7))return'['+_0x2400d7[_0x4991e0(0x1d6)](canonical)['join'](',')+']';if(_0x2400d7&&typeof _0x2400d7==='object')return'{'+Object['keys'](_0x2400d7)[_0x4991e0(0x1cf)]()['map'](_0x2e2b5a=>JSON[_0x4991e0(0x17e)](_0x2e2b5a)+':'+canonical(_0x2400d7[_0x2e2b5a]))[_0x4991e0(0x16f)](',')+'}';return JSON[_0x4991e0(0x17e)](_0x2400d7)??_0x4991e0(0x1bd);}const EMPTY_IMAGE_LOCATION_FIELDS=new Set([a145_0x2b92c0(0x1d9),'operatorType',a145_0x2b92c0(0x17f),a145_0x2b92c0(0x1dc),a145_0x2b92c0(0x1bb),a145_0x2b92c0(0x1ab),a145_0x2b92c0(0x15f),a145_0x2b92c0(0x184),a145_0x2b92c0(0x1cd),a145_0x2b92c0(0x1be),'city',a145_0x2b92c0(0x16c),a145_0x2b92c0(0x1e3),a145_0x2b92c0(0x186),a145_0x2b92c0(0x192),'longitude',a145_0x2b92c0(0x16a),a145_0x2b92c0(0x195),a145_0x2b92c0(0x1bc),a145_0x2b92c0(0x197)]);export function sameImportValue(_0x52709e,_0x3de059,_0x18811d=![]){const _0x12eb59=a145_0x2b92c0;if(_0x18811d){const _0x162e0b=_0x158588=>Array[_0x12eb59(0x19e)](_0x158588)?_0x158588[_0x12eb59(0x1d6)](_0x458b61=>{const _0x5b1409=_0x12eb59;if(!_0x458b61||typeof _0x458b61!==_0x5b1409(0x172)||Array[_0x5b1409(0x19e)](_0x458b61))return _0x458b61;const _0x4c473a={..._0x458b61};delete _0x4c473a['url'],delete _0x4c473a['previewUrl'];if(_0x4c473a[_0x5b1409(0x1a7)]==='')delete _0x4c473a[_0x5b1409(0x1a7)];if(_0x4c473a[_0x5b1409(0x189)]==null)delete _0x4c473a[_0x5b1409(0x189)];if(_0x4c473a[_0x5b1409(0x16d)]==null)delete _0x4c473a['createUserName'];if(_0x4c473a['geolocation']==null||typeof _0x4c473a[_0x5b1409(0x1b8)]===_0x5b1409(0x172)&&!Array['isArray'](_0x4c473a['geolocation'])&&Object[_0x5b1409(0x1ad)](_0x4c473a[_0x5b1409(0x1b8)])[_0x5b1409(0x1b4)](([_0x5a8059,_0x1a7d96])=>EMPTY_IMAGE_LOCATION_FIELDS[_0x5b1409(0x1ba)](_0x5a8059)&&_0x1a7d96===null))delete _0x4c473a[_0x5b1409(0x1b8)];for(const _0x3bd8aa of['name',_0x5b1409(0x17d),'key'])if(!(_0x3bd8aa in _0x4c473a))_0x4c473a[_0x3bd8aa]='';if(_0x4c473a[_0x5b1409(0x16e)]==null)_0x4c473a[_0x5b1409(0x16e)]=0x0;return _0x4c473a;}):_0x158588;return canonical(_0x162e0b(_0x52709e))===canonical(_0x162e0b(_0x3de059));}return _0x52709e===null?_0x3de059===null||_0x3de059===undefined:canonical(_0x3de059)===canonical(_0x52709e);}async function rejectSymlink(_0x19138c){const _0x4e40f0=a145_0x2b92c0;try{if((await lstat(_0x19138c))[_0x4e40f0(0x1e7)]())throw Error(_0x4e40f0(0x1a0));}catch(_0x4c2970){if(_0x4c2970[_0x4e40f0(0x179)]!==_0x4e40f0(0x188))throw _0x4c2970;}}export async function resolveImportOutputPath(_0x4ba588){return await rejectSymlink(_0x4ba588),resolve(await realpath(dirname(resolve(_0x4ba588))),basename(_0x4ba588));}export function assertImportPaths(_0x1242f2,_0x32f018,_0x396116=[]){const _0x401ad4=a145_0x2b92c0,_0x14fd46=[..._0x396116,_0x1242f2,_0x32f018,_0x1242f2+_0x401ad4(0x183),_0x1242f2+_0x401ad4(0x19c)]['map'](_0x3d4daa=>resolve(_0x3d4daa));if(new Set(_0x14fd46)['size']!==_0x14fd46[_0x401ad4(0x1dd)])throw Error(_0x401ad4(0x173));}export async function saveImportJson(_0x33e2c7,_0x4b763b){const _0x115b00=a145_0x2b92c0;await rejectSymlink(_0x33e2c7);const _0xfd93c8=_0x33e2c7+_0x115b00(0x176)+randomUUID(),_0x385fcc=await open(_0xfd93c8,'wx',0x180);try{await _0x385fcc[_0x115b00(0x1c2)](JSON[_0x115b00(0x17e)](_0x4b763b,null,0x2)),await _0x385fcc[_0x115b00(0x167)]();}finally{await _0x385fcc[_0x115b00(0x1ac)]();}try{await rename(_0xfd93c8,_0x33e2c7);}catch(_0x402821){await unlink(_0xfd93c8)[_0x115b00(0x193)](()=>{});throw _0x402821;}}function a145_0x549e(_0x283a92,_0x4b1958){_0x283a92=_0x283a92-0x15e;const _0x305cec=a145_0x305c();let _0x549ec3=_0x305cec[_0x283a92];return _0x549ec3;}export async function acquireLock(_0x224547){const _0x58b0b3=a145_0x2b92c0,_0x23b3dc=_0x224547+_0x58b0b3(0x183),_0x2e5406=randomUUID();await rejectSymlink(_0x23b3dc);const _0x19916b=_0x23b3dc+_0x58b0b3(0x1a4);let _0x476e00,_0x4253e2;try{try{_0x476e00=await open(_0x23b3dc,'wx',0x180);}catch(_0x99cf67){if(_0x99cf67[_0x58b0b3(0x179)]!==_0x58b0b3(0x160))throw _0x99cf67;try{_0x4253e2=await open(_0x19916b,'wx',0x180);}catch(_0x4de316){if(_0x4de316[_0x58b0b3(0x179)]==='EEXIST')throw Error(_0x58b0b3(0x1a6));throw _0x4de316;}await _0x4253e2[_0x58b0b3(0x1c2)](JSON[_0x58b0b3(0x17e)]({'pid':process['pid'],'token':_0x2e5406})),await _0x4253e2[_0x58b0b3(0x167)](),await rejectSymlink(_0x23b3dc);let _0x57f05b;try{_0x57f05b=await readFile(_0x23b3dc,_0x58b0b3(0x168));}catch(_0x4e3f86){if(_0x4e3f86[_0x58b0b3(0x179)]!==_0x58b0b3(0x188))throw _0x4e3f86;}if(_0x57f05b!==undefined){let _0x43351c;try{_0x43351c=JSON[_0x58b0b3(0x15e)](_0x57f05b);}catch{throw Error(_0x58b0b3(0x1e4));}if(!_0x43351c||!Number['isSafeInteger'](_0x43351c['pid'])||_0x43351c['pid']<=0x0)throw Error('Invalid\x20import\x20lock\x20owner.');try{process[_0x58b0b3(0x1e1)](_0x43351c[_0x58b0b3(0x1a9)],0x0);throw Error(_0x58b0b3(0x1af));}catch(_0x436d10){if(_0x436d10[_0x58b0b3(0x179)]!==_0x58b0b3(0x1bf))throw _0x436d10;}if(await readFile(_0x23b3dc,_0x58b0b3(0x168))!==_0x57f05b)throw Error(_0x58b0b3(0x166));await unlink(_0x23b3dc);}_0x476e00=await open(_0x23b3dc,'wx',0x180);}await _0x476e00['writeFile'](JSON[_0x58b0b3(0x17e)]({'pid':process[_0x58b0b3(0x1a9)],'token':_0x2e5406})),await _0x476e00[_0x58b0b3(0x167)]();}finally{try{await _0x476e00?.[_0x58b0b3(0x1ac)]();}finally{if(_0x4253e2)try{await _0x4253e2['close']();}finally{await unlink(_0x19916b);}}}return async()=>{const _0x94e2ce=_0x58b0b3;if(JSON[_0x94e2ce(0x15e)](await readFile(_0x23b3dc,_0x94e2ce(0x168)))['token']===_0x2e5406)await unlink(_0x23b3dc);};}export function assertImportContract(_0x444e88,_0x58564c,_0x5bc793){const _0x5049a9=a145_0x2b92c0;if(!_0x444e88||!(_0x444e88[_0x5049a9(0x1d0)]===0x1&&_0x444e88[_0x5049a9(0x1e6)]===_0x5049a9(0x1d2)||_0x444e88[_0x5049a9(0x1d0)]===0x2&&_0x444e88[_0x5049a9(0x1e6)]===_0x5049a9(0x163))||_0x444e88[_0x5049a9(0x1ce)]!=='METADATA'||_0x444e88[_0x5049a9(0x1db)]!==_0x58564c||_0x444e88[_0x5049a9(0x181)]!==_0x5bc793||typeof _0x444e88[_0x5049a9(0x1b9)]!==_0x5049a9(0x1d8)||!_0x444e88[_0x5049a9(0x1b9)]||typeof _0x444e88['schemaFingerprint']!==_0x5049a9(0x1d8)||!_0x444e88[_0x5049a9(0x1ae)]||!Number[_0x5049a9(0x1e5)](_0x444e88['maxBatchSize'])||_0x444e88[_0x5049a9(0x170)]<0x1||_0x444e88[_0x5049a9(0x170)]>0x3e8||!Number['isSafeInteger'](_0x444e88[_0x5049a9(0x1b1)])||_0x444e88[_0x5049a9(0x1b1)]<0x1||_0x444e88[_0x5049a9(0x1b1)]>0x14*0x400*0x400)throw Error(_0x5049a9(0x196));}export async function runExcelImport(_0x510a38){const _0x4a55f0=a145_0x2b92c0;_0x510a38={..._0x510a38,'checkpoint':await resolveImportOutputPath(_0x510a38[_0x4a55f0(0x1de)]),'report':await resolveImportOutputPath(_0x510a38[_0x4a55f0(0x1b5)])};const {manifest:_0x1588f8,contract:_0x412e92,api:_0x2f2884}=_0x510a38;assertImportContract(_0x412e92,_0x510a38['appCode'],_0x510a38[_0x4a55f0(0x181)]);if(_0x412e92[_0x4a55f0(0x1d0)]!==0x1)throw Error('The\x20fixed-ID\x20runner\x20requires\x20the\x20v1\x20import\x20contract.');if(_0x1588f8[_0x4a55f0(0x1d3)][_0x4a55f0(0x1dd)])throw Error(_0x4a55f0(0x18e));if(!_0x1588f8[_0x4a55f0(0x191)]['length'])throw Error('Excel\x20contains\x20no\x20valid\x20data\x20rows.');if(!Number[_0x4a55f0(0x175)](_0x510a38['batchSize'])||_0x510a38['batchSize']<0x1||_0x510a38['batchSize']>_0x412e92[_0x4a55f0(0x170)])throw Error(_0x4a55f0(0x19f));for(const _0x5ab527 of _0x1588f8[_0x4a55f0(0x191)]){if(Buffer[_0x4a55f0(0x1b7)](JSON[_0x4a55f0(0x17e)]({'schemaFingerprint':_0x412e92['schemaFingerprint'],'items':[{..._0x5ab527[_0x4a55f0(0x174)],'id':-0x1fffffffffffff}]}),_0x4a55f0(0x168))>_0x412e92[_0x4a55f0(0x1b1)])throw Error(_0x4a55f0(0x1c1)+_0x5ab527[_0x4a55f0(0x180)]+_0x4a55f0(0x162));}assertImportPaths(_0x510a38[_0x4a55f0(0x1de)],_0x510a38['report']);const _0x4aae7a={'appCode':_0x510a38['appCode'],'datasetCode':_0x510a38[_0x4a55f0(0x181)],'runtimeDomain':_0x510a38[_0x4a55f0(0x171)],'actorId':_0x412e92[_0x4a55f0(0x1b9)],'fileHash':_0x1588f8[_0x4a55f0(0x190)],'mappingHash':_0x1588f8[_0x4a55f0(0x199)],'schemaHash':_0x1588f8['schemaHash'],'remoteSchemaHash':_0x412e92['schemaFingerprint'],'batchSize':_0x510a38[_0x4a55f0(0x1e0)],'sheet':_0x1588f8[_0x4a55f0(0x164)]},_0x477381=await acquireLock(_0x510a38[_0x4a55f0(0x1de)]);let _0x38f387;const _0x9e4ec8=Date[_0x4a55f0(0x1c3)]();let _0xe8e6da=0x0;const _0x29600a=[],_0x3fb38b=()=>({'importId':_0x38f387?.['importId'],'sourceRows':_0x1588f8[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)],'emptyRows':_0x1588f8['emptyRows'][_0x4a55f0(0x1dd)],'succeeded':_0x38f387?.['rows'][_0x4a55f0(0x18c)](_0x1f68c2=>_0x1f68c2['status']==='succeeded')[_0x4a55f0(0x1dd)]??0x0,'unknown':_0x38f387?.[_0x4a55f0(0x191)][_0x4a55f0(0x18c)](_0x4cf7aa=>_0x4cf7aa['status']===_0x4a55f0(0x1a5))[_0x4a55f0(0x1dd)]??0x0,'conflicts':_0x38f387?.[_0x4a55f0(0x191)][_0x4a55f0(0x18c)](_0x153c6d=>_0x153c6d['status']===_0x4a55f0(0x1c5))[_0x4a55f0(0x1dd)]??0x0,'notAttempted':_0x38f387?.['rows'][_0x4a55f0(0x18c)](_0x39c4a2=>_0x39c4a2[_0x4a55f0(0x178)]===_0x4a55f0(0x18f))[_0x4a55f0(0x1dd)]??_0x1588f8[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)],'batches':_0xe8e6da,'batchResults':_0x29600a,'elapsedMs':Date[_0x4a55f0(0x1c3)]()-_0x9e4ec8,'checkpoint':resolve(_0x510a38['checkpoint']),'report':resolve(_0x510a38[_0x4a55f0(0x1b5)]),'warnings':_0x1588f8['warnings']});try{await rejectSymlink(_0x510a38['checkpoint']);if(_0x510a38[_0x4a55f0(0x1b6)]){try{_0x38f387=JSON[_0x4a55f0(0x15e)](await readFile(_0x510a38[_0x4a55f0(0x1de)],_0x4a55f0(0x168)));}catch{throw Error('Cannot\x20read\x20the\x20import\x20checkpoint.');}if(!_0x38f387||_0x38f387[_0x4a55f0(0x1ca)]!==0x1||typeof _0x38f387[_0x4a55f0(0x1d1)]!==_0x4a55f0(0x1d8)||canonical(_0x38f387[_0x4a55f0(0x17c)])!==canonical(_0x4aae7a)||!Array[_0x4a55f0(0x19e)](_0x38f387[_0x4a55f0(0x191)])||_0x38f387['rows'][_0x4a55f0(0x1dd)]!==_0x1588f8[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)]||new Set(_0x38f387[_0x4a55f0(0x191)][_0x4a55f0(0x1d6)](_0x15b6ca=>_0x15b6ca['id']))[_0x4a55f0(0x16e)]!==_0x38f387[_0x4a55f0(0x191)]['length']||_0x38f387[_0x4a55f0(0x191)][_0x4a55f0(0x165)]((_0x4cf9df,_0x12c9db)=>!Number[_0x4a55f0(0x1e5)](_0x4cf9df['id'])||_0x4cf9df['id']>=0x0||_0x4cf9df[_0x4a55f0(0x180)]!==_0x1588f8[_0x4a55f0(0x191)][_0x12c9db]['rowNumber']||![_0x4a55f0(0x18f),_0x4a55f0(0x1a5),'succeeded','conflict'][_0x4a55f0(0x16b)](_0x4cf9df['status'])))throw Error('Import\x20checkpoint\x20does\x20not\x20match\x20the\x20input,\x20target\x20or\x20identity.');}else{try{await lstat(_0x510a38['checkpoint']);throw Error('Import\x20checkpoint\x20already\x20exists;\x20use\x20--resume.');}catch(_0x400c98){if(_0x400c98[_0x4a55f0(0x179)]!==_0x4a55f0(0x188))throw _0x400c98;}const _0x412c1f=new Set();_0x38f387={'version':0x1,'importId':randomUUID(),'binding':_0x4aae7a,'rows':_0x1588f8['rows']['map'](_0x3eeb8d=>{const _0x129699=_0x4a55f0;let _0x57d2ea;do{_0x57d2ea=-(Number(BigInt('0x'+randomBytes(0x7)[_0x129699(0x169)](_0x129699(0x19b)))&(0x1n<<0x34n)-0x1n)+0x1);}while(_0x412c1f[_0x129699(0x1ba)](_0x57d2ea));return _0x412c1f[_0x129699(0x18b)](_0x57d2ea),{'id':_0x57d2ea,'rowNumber':_0x3eeb8d[_0x129699(0x180)],'status':_0x129699(0x18f)};})},await saveImportJson(_0x510a38['checkpoint'],_0x38f387);}await _0x510a38['onCheckpointReady']?.();const _0x3eeca4=_0x38f387;if(_0x3eeca4[_0x4a55f0(0x191)][_0x4a55f0(0x165)](_0x3269df=>_0x3269df[_0x4a55f0(0x178)]===_0x4a55f0(0x1c5)))throw Error(_0x4a55f0(0x1a1));const _0x59ba92=async _0x422fd8=>{const _0xe62bf1=_0x4a55f0,_0x33761d=await _0x2f2884[_0xe62bf1(0x1d4)](_0x422fd8['map'](_0x2c4577=>_0x3eeca4[_0xe62bf1(0x191)][_0x2c4577]['id']));if(!Array['isArray'](_0x33761d))throw Error(_0xe62bf1(0x1cc));const _0x2fc4bc=new Set(_0x422fd8[_0xe62bf1(0x1d6)](_0x5b3a97=>_0x3eeca4['rows'][_0x5b3a97]['id'])),_0x389083=new Map();for(const _0x1d6578 of _0x33761d){const _0x3556c3=Number(_0x1d6578?.['id']);if(!_0x2fc4bc[_0xe62bf1(0x1ba)](_0x3556c3)||_0x389083[_0xe62bf1(0x1ba)](_0x3556c3))throw Error(_0xe62bf1(0x1cb));_0x389083[_0xe62bf1(0x1d7)](_0x3556c3,_0x1d6578);}for(const _0x42e280 of _0x422fd8){const _0x19fe87=_0x389083[_0xe62bf1(0x1c7)](_0x3eeca4[_0xe62bf1(0x191)][_0x42e280]['id']);if(!_0x19fe87)continue;if(_0x3eeca4[_0xe62bf1(0x191)][_0x42e280][_0xe62bf1(0x178)]===_0xe62bf1(0x18f)){_0x3eeca4[_0xe62bf1(0x191)][_0x42e280][_0xe62bf1(0x178)]=_0xe62bf1(0x1c5),await saveImportJson(_0x510a38[_0xe62bf1(0x1de)],_0x3eeca4);throw Error('Import\x20primary\x20key\x20collision;\x20stop\x20without\x20replacing\x20the\x20fixed\x20IDs.');}const _0x11173f=_0x1588f8[_0xe62bf1(0x191)][_0x42e280][_0xe62bf1(0x174)];if(Object[_0xe62bf1(0x19a)](_0x11173f)['some'](_0x1c201d=>!sameImportValue(_0x11173f[_0x1c201d],_0x19fe87[_0x1c201d],_0x1588f8[_0xe62bf1(0x182)]?.[_0xe62bf1(0x16b)](_0x1c201d)&&!_0x1588f8[_0xe62bf1(0x1c8)]?.[_0xe62bf1(0x16b)](_0x1c201d)))){_0x3eeca4[_0xe62bf1(0x191)][_0x42e280][_0xe62bf1(0x178)]=_0xe62bf1(0x1c5),await saveImportJson(_0x510a38[_0xe62bf1(0x1de)],_0x3eeca4);throw Error('Import\x20content\x20conflict\x20at\x20Excel\x20row\x20'+_0x3eeca4['rows'][_0x42e280]['rowNumber']+'.');}_0x3eeca4[_0xe62bf1(0x191)][_0x42e280]['status']=_0xe62bf1(0x1a3);}return await saveImportJson(_0x510a38[_0xe62bf1(0x1de)],_0x3eeca4),_0x389083;};if(_0x510a38[_0x4a55f0(0x1b6)])for(let _0x2d557b=0x0;_0x2d557b<_0x3eeca4[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)];_0x2d557b+=_0x510a38[_0x4a55f0(0x1e0)]){const _0x53c327=_0x3eeca4['rows'][_0x4a55f0(0x19d)](_0x2d557b,_0x2d557b+_0x510a38[_0x4a55f0(0x1e0)])['map']((_0x423a2b,_0x325ae3)=>_0x2d557b+_0x325ae3),_0x4a6e9b=_0x53c327[_0x4a55f0(0x18c)](_0xbdc063=>_0x3eeca4[_0x4a55f0(0x191)][_0xbdc063]['status']===_0x4a55f0(0x1a3)),_0x337831=await _0x59ba92(_0x53c327),_0x3bdf56=_0x4a6e9b['filter'](_0x4ee835=>!_0x337831[_0x4a55f0(0x1ba)](_0x3eeca4[_0x4a55f0(0x191)][_0x4ee835]['id']));if(_0x3bdf56[_0x4a55f0(0x1dd)]){_0x3bdf56[_0x4a55f0(0x1c9)](_0x53edfb=>{const _0x135c69=_0x4a55f0;_0x3eeca4[_0x135c69(0x191)][_0x53edfb][_0x135c69(0x178)]=_0x135c69(0x1c5);}),await saveImportJson(_0x510a38[_0x4a55f0(0x1de)],_0x3eeca4);throw Error(_0x4a55f0(0x177));}}for(let _0x433f9e=0x0;_0x433f9e<_0x3eeca4[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)];){const _0x463fb0=[],_0x34274c=[];while(_0x433f9e<_0x3eeca4[_0x4a55f0(0x191)][_0x4a55f0(0x1dd)]&&_0x34274c[_0x4a55f0(0x1dd)]<_0x510a38['batchSize']){const _0x442188=_0x433f9e++;if(_0x3eeca4['rows'][_0x442188][_0x4a55f0(0x178)]===_0x4a55f0(0x1a3))continue;const _0x1c45d1={..._0x1588f8[_0x4a55f0(0x191)][_0x442188][_0x4a55f0(0x174)],'id':_0x3eeca4[_0x4a55f0(0x191)][_0x442188]['id']};if(Buffer[_0x4a55f0(0x1b7)](JSON[_0x4a55f0(0x17e)]({'schemaFingerprint':_0x412e92[_0x4a55f0(0x1ae)],'items':[..._0x34274c,_0x1c45d1]}),_0x4a55f0(0x168))>_0x412e92['maxBatchBytes']){if(!_0x34274c[_0x4a55f0(0x1dd)])throw Error('Excel\x20row\x20'+_0x3eeca4[_0x4a55f0(0x191)][_0x442188][_0x4a55f0(0x180)]+_0x4a55f0(0x162));_0x433f9e--;break;}_0x463fb0[_0x4a55f0(0x1b3)](_0x442188),_0x34274c[_0x4a55f0(0x1b3)](_0x1c45d1);}if(!_0x34274c[_0x4a55f0(0x1dd)])continue;const _0x553491=_0x463fb0[_0x4a55f0(0x18c)](_0x44a69e=>_0x3eeca4[_0x4a55f0(0x191)][_0x44a69e][_0x4a55f0(0x178)]===_0x4a55f0(0x18f));if(_0x553491['length']){const _0x73df3f=await _0x2f2884[_0x4a55f0(0x1d4)](_0x553491[_0x4a55f0(0x1d6)](_0x197e3b=>_0x3eeca4[_0x4a55f0(0x191)][_0x197e3b]['id']));if(!Array['isArray'](_0x73df3f))throw Error(_0x4a55f0(0x1cc));if(_0x73df3f[_0x4a55f0(0x1dd)])throw Error(_0x4a55f0(0x1b2));}_0x463fb0[_0x4a55f0(0x1c9)](_0x333ba7=>{const _0x7e0cbc=_0x4a55f0;_0x3eeca4[_0x7e0cbc(0x191)][_0x333ba7]['status']=_0x7e0cbc(0x1a5);}),await saveImportJson(_0x510a38['checkpoint'],_0x3eeca4),_0xe8e6da++;const _0x23d4d6=Date[_0x4a55f0(0x1c3)](),_0x52c1ab={'batch':_0xe8e6da,'rowStart':_0x3eeca4['rows'][_0x463fb0[0x0]][_0x4a55f0(0x180)],'rowEnd':_0x3eeca4['rows'][_0x463fb0[_0x463fb0[_0x4a55f0(0x1dd)]-0x1]][_0x4a55f0(0x180)],'count':_0x34274c[_0x4a55f0(0x1dd)],'bytes':Buffer[_0x4a55f0(0x1b7)](JSON[_0x4a55f0(0x17e)]({'schemaFingerprint':_0x412e92[_0x4a55f0(0x1ae)],'items':_0x34274c}),'utf8'),'elapsedMs':0x0,'status':_0x4a55f0(0x1df)};_0x29600a[_0x4a55f0(0x1b3)](_0x52c1ab);try{const _0x5a7af2=await _0x2f2884[_0x4a55f0(0x161)](_0x34274c);if(!_0x5a7af2||_0x5a7af2['count']!==_0x34274c[_0x4a55f0(0x1dd)]||!Array['isArray'](_0x5a7af2[_0x4a55f0(0x1d5)])||_0x5a7af2[_0x4a55f0(0x1d5)][_0x4a55f0(0x1dd)]!==_0x34274c[_0x4a55f0(0x1dd)]||_0x5a7af2['ids'][_0x4a55f0(0x165)]((_0x3d26b6,_0x2d0596)=>Number(_0x3d26b6)!==_0x3eeca4[_0x4a55f0(0x191)][_0x463fb0[_0x2d0596]]['id']))throw Error(_0x4a55f0(0x18d));await _0x59ba92(_0x463fb0);if(_0x463fb0['some'](_0x14b140=>_0x3eeca4[_0x4a55f0(0x191)][_0x14b140][_0x4a55f0(0x178)]!=='succeeded'))throw Error('Incomplete\x20readback.');}catch(_0x267061){if(_0x3eeca4['rows'][_0x4a55f0(0x165)](_0x35ffa4=>_0x35ffa4[_0x4a55f0(0x178)]===_0x4a55f0(0x1c5)))throw _0x267061;try{await _0x59ba92(_0x463fb0);}catch(_0x1542b7){if(_0x3eeca4[_0x4a55f0(0x191)]['some'](_0xe6300e=>_0xe6300e[_0x4a55f0(0x178)]===_0x4a55f0(0x1c5)))throw _0x1542b7;}if(_0x463fb0[_0x4a55f0(0x165)](_0xe9f326=>_0x3eeca4[_0x4a55f0(0x191)][_0xe9f326][_0x4a55f0(0x178)]!==_0x4a55f0(0x1a3)))throw Error(_0x4a55f0(0x187));}finally{_0x52c1ab[_0x4a55f0(0x1b0)]=Date[_0x4a55f0(0x1c3)]()-_0x23d4d6;if(_0x463fb0[_0x4a55f0(0x1b4)](_0x4ab6a1=>_0x3eeca4[_0x4a55f0(0x191)][_0x4ab6a1][_0x4a55f0(0x178)]==='succeeded'))_0x52c1ab['status']=_0x4a55f0(0x1a3);else{if(_0x463fb0[_0x4a55f0(0x165)](_0x3941c9=>_0x3eeca4[_0x4a55f0(0x191)][_0x3941c9][_0x4a55f0(0x178)]===_0x4a55f0(0x1c5)))_0x52c1ab[_0x4a55f0(0x178)]=_0x4a55f0(0x1c5);}}}const _0x29f996={'status':_0x4a55f0(0x17b),..._0x3fb38b()};return await saveImportJson(_0x510a38['report'],_0x29f996),_0x29f996;}catch(_0x46ddc9){if(_0x38f387)await saveImportJson(_0x510a38['report'],{'status':'incomplete',..._0x3fb38b(),'message':_0x46ddc9[_0x4a55f0(0x1c6)]});throw _0x46ddc9;}finally{await _0x477381();}}
@@ -4,9 +4,30 @@ export interface ImportField {
4
4
  required: boolean;
5
5
  generated?: boolean;
6
6
  }
7
+ export interface ImportImageValue {
8
+ name: string;
9
+ type: string;
10
+ key: string;
11
+ size: number;
12
+ }
13
+ export interface ImportUploadValue {
14
+ fileName: string;
15
+ filePath: string;
16
+ }
17
+ export interface ImportMedia {
18
+ contentHash: string;
19
+ type: string;
20
+ size: number;
21
+ bytes: Buffer;
22
+ }
23
+ export interface ImportImageCell {
24
+ rowNumber: number;
25
+ field: string;
26
+ hashes: string[];
27
+ }
7
28
  export interface ImportRow {
8
29
  rowNumber: number;
9
- values: Record<string, string | number | boolean | null>;
30
+ values: Record<string, string | number | boolean | null | (ImportImageValue | ImportUploadValue)[]>;
10
31
  }
11
32
  export interface ImportValidationError {
12
33
  rowNumber: number;
@@ -27,6 +48,12 @@ export interface ExcelManifest {
27
48
  schemaHash: string;
28
49
  sheet: string;
29
50
  rows: ImportRow[];
51
+ imageFields?: string[];
52
+ media?: ImportMedia[];
53
+ imageCells?: ImportImageCell[];
54
+ parserVersion?: number;
55
+ /** 使用标准附件值的字段;缺省保持历史 IMAGE 检查点协议。 */
56
+ uploadFields?: string[];
30
57
  emptyRows: number[];
31
58
  errors: ImportValidationError[];
32
59
  warnings: string[];
@@ -1 +1 @@
1
- const a144_0x527771=a144_0x2b5f;function a144_0x2b5f(_0x5cd8f4,_0x591bb8){_0x5cd8f4=_0x5cd8f4-0x19f;const _0x45981b=a144_0x4598();let _0x2b5fdb=_0x45981b[_0x5cd8f4];return _0x2b5fdb;}(function(_0x1dfeb3,_0x3a4628){const _0x2387a3=a144_0x2b5f,_0x3d8af7=_0x1dfeb3();while(!![]){try{const _0x2a1f99=-parseInt(_0x2387a3(0x1c8))/0x1*(parseInt(_0x2387a3(0x1dc))/0x2)+parseInt(_0x2387a3(0x1c9))/0x3+-parseInt(_0x2387a3(0x1d0))/0x4*(-parseInt(_0x2387a3(0x1b0))/0x5)+parseInt(_0x2387a3(0x1d3))/0x6+parseInt(_0x2387a3(0x1b9))/0x7+-parseInt(_0x2387a3(0x1d7))/0x8+parseInt(_0x2387a3(0x1a1))/0x9;if(_0x2a1f99===_0x3a4628)break;else _0x3d8af7['push'](_0x3d8af7['shift']());}catch(_0x46acb4){_0x3d8af7['push'](_0x3d8af7['shift']());}}}(a144_0x4598,0x94c7e));import{createHash}from'node:crypto';import{lstatSync,readFileSync,readdirSync}from'node:fs';import{homedir}from'node:os';import{dirname,join,relative,resolve,sep}from'node:path';import{fileURLToPath}from'node:url';import{debuglog}from'node:util';import{runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';const DEFAULT_PACKAGE_ROOT=resolve(dirname(fileURLToPath(import.meta.url)),'..','..'),REPAIR_COMMAND=a144_0x527771(0x19f),SKILL_NAME=a144_0x527771(0x1c1),debug=debuglog(a144_0x527771(0x1c0));function frontmatterValue(_0x477eef,_0x117f96){const _0x2817fe=a144_0x527771;return _0x477eef['match'](new RegExp('^'+_0x117f96+_0x2817fe(0x1a7),'m'))?.[0x1]?.[_0x2817fe(0x1e1)]()??'';}function listFiles(_0x2d3623,_0x5bc19b=_0x2d3623){return readdirSync(_0x5bc19b,{'withFileTypes':!![]})['flatMap'](_0x33c092=>{const _0x1ba969=a144_0x2b5f,_0x5edb15=join(_0x5bc19b,_0x33c092[_0x1ba969(0x1c3)]),_0x1235dd=lstatSync(_0x5edb15);if(_0x1235dd[_0x1ba969(0x1b2)]())throw new Error(_0x1ba969(0x1a8)+_0x5edb15);if(_0x1235dd[_0x1ba969(0x1b8)]())return listFiles(_0x2d3623,_0x5edb15);if(!_0x1235dd[_0x1ba969(0x1dd)]())throw new Error(_0x1ba969(0x1d5)+_0x5edb15);return[relative(_0x2d3623,_0x5edb15)[_0x1ba969(0x1ad)](sep)[_0x1ba969(0x1a0)]('/')];})['sort']((_0x328b78,_0x15d7e2)=>_0x328b78<_0x15d7e2?-0x1:_0x328b78>_0x15d7e2?0x1:0x0);}function digestFiles(_0x56eb59,_0x54bd83){const _0x21722a=a144_0x527771,_0x2e4ecd=createHash('sha256');for(const _0x1e08d6 of _0x54bd83){if(_0x1e08d6[_0x21722a(0x1ce)]('/')||_0x1e08d6[_0x21722a(0x1ad)]('/')['includes']('..')||_0x1e08d6[_0x21722a(0x1d9)]('\x5c'))throw new Error(_0x21722a(0x1cb)+_0x1e08d6);_0x2e4ecd[_0x21722a(0x1c5)](_0x1e08d6),_0x2e4ecd[_0x21722a(0x1c5)]('\x00'),_0x2e4ecd[_0x21722a(0x1c5)](readFileSync(join(_0x56eb59,..._0x1e08d6['split']('/')))),_0x2e4ecd[_0x21722a(0x1c5)]('\x00');}return _0x2e4ecd[_0x21722a(0x1bb)](_0x21722a(0x1db));}function sameFiles(_0x33040f,_0x1a578a){const _0x416ef8=a144_0x527771;return _0x33040f[_0x416ef8(0x1a6)]===_0x1a578a['length']&&_0x33040f['every']((_0x53901c,_0x1f8e67)=>_0x53901c===_0x1a578a[_0x1f8e67]);}function readSource(_0x3db1d6){const _0xaa0f62=a144_0x527771,_0x3c3d9f=JSON[_0xaa0f62(0x1b1)](readFileSync(join(_0x3db1d6,_0xaa0f62(0x1da)),_0xaa0f62(0x1b6))),_0x4790af=JSON[_0xaa0f62(0x1b1)](readFileSync(join(_0x3db1d6,_0xaa0f62(0x1bc),_0xaa0f62(0x1a9)),'utf8')),_0x249e31=join(_0x3db1d6,_0xaa0f62(0x1bc),SKILL_NAME),_0xdbb6f9=frontmatterValue(readFileSync(join(_0x249e31,'SKILL.md'),_0xaa0f62(0x1b6)),_0xaa0f62(0x1e0)),_0x322959=listFiles(_0x249e31);if(_0x4790af[_0xaa0f62(0x1ae)]!==0x1||_0x4790af['name']!==SKILL_NAME||!_0x3c3d9f['version']||_0x4790af[_0xaa0f62(0x1c2)]!==_0x3c3d9f['version']||_0x4790af[_0xaa0f62(0x1b4)]!==_0x3c3d9f[_0xaa0f62(0x1e0)]||_0xdbb6f9!==_0x3c3d9f[_0xaa0f62(0x1e0)]||!sameFiles(_0x322959,_0x4790af['files'])||digestFiles(_0x249e31,_0x322959)!==_0x4790af['digest'])throw new Error(_0xaa0f62(0x1e2));return{'packageVersion':_0x3c3d9f[_0xaa0f62(0x1e0)],'skillVersion':_0xdbb6f9,'root':_0x249e31,'manifest':_0x4790af};}function installedSkillPath(_0x1d9c71){const _0x5c2941=a144_0x527771,_0x5be8e0=resolveInstalledSkill(SKILL_NAME,{'home':_0x1d9c71});if(_0x5be8e0[_0x5c2941(0x1e3)]===_0x5c2941(0x1aa))return{'state':_0x5c2941(0x1aa),'path':dirname(_0x5be8e0['path'])};if(_0x5be8e0['state']===_0x5c2941(0x1be))return{'state':_0x5c2941(0x1bd)};return{'state':_0x5c2941(0x1cd),'reason':_0x5be8e0['reason']};}export function inspectInstalledBuiltinSkillVersion(_0x4fb239,_0x40de81={}){const _0x5331c7=a144_0x527771,_0x1d7b28=installedSkillPath(_0x40de81['home']??homedir());if(_0x1d7b28['state']===_0x5331c7(0x1bd))return{'state':'missing','expectedVersion':_0x4fb239,'repairCommand':REPAIR_COMMAND};if(_0x1d7b28[_0x5331c7(0x1e3)]===_0x5331c7(0x1cd))return{'state':_0x5331c7(0x1cd),'expectedVersion':_0x4fb239,'reason':_0x1d7b28['reason'],'repairCommand':REPAIR_COMMAND};try{const _0x48e4c9=frontmatterValue(readFileSync(join(_0x1d7b28[_0x5331c7(0x1b3)],_0x5331c7(0x1cf)),'utf8'),_0x5331c7(0x1e0));return{'state':_0x48e4c9===_0x4fb239?'current':_0x5331c7(0x1b7),'expectedVersion':_0x4fb239,'skillVersion':_0x48e4c9,'installedPath':_0x1d7b28['path'],'repairCommand':REPAIR_COMMAND};}catch(_0x4f130e){return{'state':_0x5331c7(0x1cd),'expectedVersion':_0x4fb239,'installedPath':_0x1d7b28[_0x5331c7(0x1b3)],'reason':_0x4f130e instanceof Error?_0x4f130e[_0x5331c7(0x1b5)]:String(_0x4f130e),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0x5c849a={}){const _0x332428=a144_0x527771,_0x21e76e=_0x5c849a['packageRoot']??DEFAULT_PACKAGE_ROOT;let _0x5f3069;try{_0x5f3069=readSource(_0x21e76e);}catch(_0x13ae26){return{'state':'unverifiable','packageVersion':_0x332428(0x1d4),'reason':_0x13ae26 instanceof Error?_0x13ae26['message']:String(_0x13ae26),'repairCommand':REPAIR_COMMAND};}const _0xb76baf=installedSkillPath(_0x5c849a[_0x332428(0x1af)]??homedir());if(_0xb76baf[_0x332428(0x1e3)]===_0x332428(0x1bd))return{'state':_0x332428(0x1bd),'packageVersion':_0x5f3069[_0x332428(0x1c2)],'repairCommand':REPAIR_COMMAND};if(_0xb76baf[_0x332428(0x1e3)]===_0x332428(0x1cd))return{'state':_0x332428(0x1cd),'packageVersion':_0x5f3069[_0x332428(0x1c2)],'reason':_0xb76baf['reason'],'repairCommand':REPAIR_COMMAND};try{const _0x206b7f=frontmatterValue(readFileSync(join(_0xb76baf[_0x332428(0x1b3)],'SKILL.md'),'utf8'),'version');if(_0x206b7f!==_0x5f3069[_0x332428(0x1b4)])return{'state':_0x332428(0x1b7),'packageVersion':_0x5f3069[_0x332428(0x1c2)],'skillVersion':_0x206b7f,'installedPath':_0xb76baf['path'],'repairCommand':REPAIR_COMMAND};const _0xd5531e=listFiles(_0xb76baf[_0x332428(0x1b3)]),_0x287bed=digestFiles(_0xb76baf[_0x332428(0x1b3)],_0xd5531e);return{'state':sameFiles(_0xd5531e,_0x5f3069[_0x332428(0x1ac)][_0x332428(0x1bf)])&&_0x287bed===_0x5f3069[_0x332428(0x1ac)][_0x332428(0x1bb)]?'current':_0x332428(0x1d2),'packageVersion':_0x5f3069['packageVersion'],'skillVersion':_0x206b7f,'installedPath':_0xb76baf[_0x332428(0x1b3)],'digest':_0x287bed,'repairCommand':REPAIR_COMMAND};}catch(_0x57bcc0){return{'state':'unverifiable','packageVersion':_0x5f3069[_0x332428(0x1c2)],'installedPath':_0xb76baf[_0x332428(0x1b3)],'reason':_0x57bcc0 instanceof Error?_0x57bcc0[_0x332428(0x1b5)]:String(_0x57bcc0),'repairCommand':REPAIR_COMMAND};}}function failure(_0x2f4b20,_0x3a6090,_0x465d0c,_0x4249a7){const _0x5dc7c2=a144_0x527771;return{'ok':![],'code':_0x2f4b20,'packageVersion':_0x3a6090['packageVersion'],'skillVersion':_0x3a6090[_0x5dc7c2(0x1b4)],'installedPath':_0x4249a7,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x465d0c instanceof Error?_0x465d0c[_0x5dc7c2(0x1b5)]:String(_0x465d0c)};}export function installBuiltinSkill(_0x2e180b={}){const _0x53cc9d=a144_0x527771,_0x2e4e75=_0x2e180b[_0x53cc9d(0x1ca)]??DEFAULT_PACKAGE_ROOT,_0x5dd158=_0x2e180b['home']??homedir();let _0x40725d;try{_0x40725d=readSource(_0x2e4e75);}catch(_0x148d20){return failure(_0x53cc9d(0x1d8),{'packageVersion':_0x53cc9d(0x1d4),'skillVersion':_0x53cc9d(0x1d4)},_0x148d20);}const _0x7f57e3=inspectBuiltinSkill({'packageRoot':_0x2e4e75,'home':_0x5dd158}),_0x131ea2=runNpxSkillsAddGlobal(_0x2e4e75,_0x40725d['root'],{'stdio':_0x2e180b[_0x53cc9d(0x1a4)]??_0x53cc9d(0x1c7),'expectedSkillName':SKILL_NAME,'presence':{'home':_0x5dd158}});if(_0x131ea2[_0x53cc9d(0x1ba)])return{'ok':!![],'packageVersion':_0x40725d[_0x53cc9d(0x1c2)],'skillVersion':_0x40725d[_0x53cc9d(0x1b4)],'installedPath':_0x7f57e3[_0x53cc9d(0x1df)],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0x131ea2['ok'])return failure(_0x53cc9d(0x1c4),_0x40725d,_0x131ea2[_0x53cc9d(0x1a3)]??'skills@latest\x20exited\x20'+_0x131ea2[_0x53cc9d(0x1cc)]);const _0x542633=inspectBuiltinSkill({'packageRoot':_0x2e4e75,'home':_0x5dd158});if(_0x542633['state']!=='current'){const _0x179399=_0x542633[_0x53cc9d(0x1d1)]??'Installed\x20Skill\x20state\x20is\x20'+_0x542633[_0x53cc9d(0x1e3)];return failure(_0x53cc9d(0x1ab),_0x40725d,_0x131ea2['partialFailure']?_0x179399+'\x0a'+_0x131ea2[_0x53cc9d(0x1c6)][_0x53cc9d(0x1d6)]:_0x179399,_0x542633[_0x53cc9d(0x1df)]);}return _0x131ea2[_0x53cc9d(0x1c6)]&&(debug('Installer\x20reported\x20partial\x20target\x20failures:\x0a%s',_0x131ea2[_0x53cc9d(0x1c6)]['output']),console[_0x53cc9d(0x1de)](_0x53cc9d(0x1a2)+_0x40725d[_0x53cc9d(0x1b4)]+'\x20verified;\x20'+_0x131ea2[_0x53cc9d(0x1c6)]['count']+_0x53cc9d(0x1a5))),{'ok':!![],'packageVersion':_0x40725d[_0x53cc9d(0x1c2)],'skillVersion':_0x40725d[_0x53cc9d(0x1b4)],'installedPath':_0x542633['installedPath'],'changed':_0x7f57e3['state']!=='current','repairCommand':REPAIR_COMMAND};}function a144_0x4598(){const _0x2bb48f=['isSymbolicLink','path','skillVersion','message','utf8','version_mismatch','isDirectory','294406JpHjlz','skipped','digest','skills','missing','absent','files','lovrabet-skills','lovrabet','packageVersion','name','INSTALL_FAILED','update','partialFailure','pipe','252797TOSXSb','1618974wMmlpv','packageRoot','Unsafe\x20manifest\x20path:\x20','status','unverifiable','startsWith','SKILL.md','278804fPlNMJ','reason','content_mismatch','501528zoNoeS','unknown','Unsupported\x20Skill\x20entry:\x20','output','1248896uwftkM','SOURCE_INVALID','includes','package.json','hex','2jdRJaI','isFile','log','installedPath','version','trim','Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest','state','lovrabet\x20cli-skill\x20install','join','1922481vHFROs','CLI\x20Built-in\x20Skill\x20','error','stdio','\x20automatically\x20selected\x20installation\x20target(s)\x20could\x20not\x20be\x20installed.','length',':\x5cs*(.+)$','Symbolic\x20link\x20is\x20not\x20allowed:\x20','lovrabet.manifest.json','present','VERIFY_FAILED','manifest','split','schemaVersion','home','10XFYnGp','parse'];a144_0x4598=function(){return _0x2bb48f;};return a144_0x4598();}
1
+ const a147_0x495b24=a147_0x7ea9;function a147_0x3c3f(){const _0x32ce5d=['missing','sort','CLI\x20Built-in\x20Skill\x20','1185663hgqWEA','Unsupported\x20Skill\x20entry:\x20','match','655032OhiTvj','Installed\x20Skill\x20state\x20is\x20','isDirectory','Symbolic\x20link\x20is\x20not\x20allowed:\x20','absent','4898362vFWZPU','count','skipped','reason','packageRoot',':\x5cs*(.+)$','117124dogOEM','name','path','isFile','present','VERIFY_FAILED','join','output','skillVersion','files','INSTALL_FAILED','log','root','577384ESUhHe','update','home','current','30LXjQoy','lovrabet-skills','message','schemaVersion','installedPath','split','digest','279709uKXtIu','lovrabet\x20cli-skill\x20install','trim','flatMap','skills','parse','hex','unknown','every','version_mismatch','isSymbolicLink','21364256hDVlBt','package.json','unverifiable','Installer\x20reported\x20partial\x20target\x20failures:\x0a%s','packageVersion','manifest','state','Unsafe\x20manifest\x20path:\x20','skills@latest\x20exited\x20','SKILL.md','SOURCE_INVALID','includes','sha256','Built-in\x20Skill\x20source\x20does\x20not\x20match\x20its\x20package\x20manifest','\x20verified;\x20','version','utf8','lovrabet','error','stdio','pipe','partialFailure'];a147_0x3c3f=function(){return _0x32ce5d;};return a147_0x3c3f();}function a147_0x7ea9(_0x422465,_0x4876af){_0x422465=_0x422465-0x180;const _0x3c3f0a=a147_0x3c3f();let _0x7ea90b=_0x3c3f0a[_0x422465];return _0x7ea90b;}(function(_0x2b6dbf,_0x5ad0c5){const _0x2ba1bd=a147_0x7ea9,_0x45298e=_0x2b6dbf();while(!![]){try{const _0x13fcb7=-parseInt(_0x2ba1bd(0x18c))/0x1+-parseInt(_0x2ba1bd(0x1be))/0x2+-parseInt(_0x2ba1bd(0x1b0))/0x3+parseInt(_0x2ba1bd(0x181))/0x4*(-parseInt(_0x2ba1bd(0x185))/0x5)+parseInt(_0x2ba1bd(0x1b3))/0x6+-parseInt(_0x2ba1bd(0x1b8))/0x7+parseInt(_0x2ba1bd(0x197))/0x8;if(_0x13fcb7===_0x5ad0c5)break;else _0x45298e['push'](_0x45298e['shift']());}catch(_0x535d2b){_0x45298e['push'](_0x45298e['shift']());}}}(a147_0x3c3f,0x75472));import{createHash}from'node:crypto';import{lstatSync,readFileSync,readdirSync}from'node:fs';import{homedir}from'node:os';import{dirname,join,relative,resolve,sep}from'node:path';import{fileURLToPath}from'node:url';import{debuglog}from'node:util';import{runNpxSkillsAddGlobal}from'../skills/npx-skills-add.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';const DEFAULT_PACKAGE_ROOT=resolve(dirname(fileURLToPath(import.meta.url)),'..','..'),REPAIR_COMMAND=a147_0x495b24(0x18d),SKILL_NAME=a147_0x495b24(0x1a8),debug=debuglog(a147_0x495b24(0x186));function frontmatterValue(_0x3fc55c,_0x3aadee){const _0x4796bb=a147_0x495b24;return _0x3fc55c[_0x4796bb(0x1b2)](new RegExp('^'+_0x3aadee+_0x4796bb(0x1bd),'m'))?.[0x1]?.[_0x4796bb(0x18e)]()??'';}function listFiles(_0x2f33a3,_0x4886fd=_0x2f33a3){const _0x20db45=a147_0x495b24;return readdirSync(_0x4886fd,{'withFileTypes':!![]})[_0x20db45(0x18f)](_0x495841=>{const _0x2f0151=_0x20db45,_0x3114d8=join(_0x4886fd,_0x495841['name']),_0x5e388e=lstatSync(_0x3114d8);if(_0x5e388e[_0x2f0151(0x196)]())throw new Error(_0x2f0151(0x1b6)+_0x3114d8);if(_0x5e388e[_0x2f0151(0x1b5)]())return listFiles(_0x2f33a3,_0x3114d8);if(!_0x5e388e[_0x2f0151(0x1c1)]())throw new Error(_0x2f0151(0x1b1)+_0x3114d8);return[relative(_0x2f33a3,_0x3114d8)[_0x2f0151(0x18a)](sep)[_0x2f0151(0x1c4)]('/')];})[_0x20db45(0x1ae)]((_0x5bf1e6,_0x5f213f)=>_0x5bf1e6<_0x5f213f?-0x1:_0x5bf1e6>_0x5f213f?0x1:0x0);}function digestFiles(_0x39e381,_0x4db77a){const _0x2234cf=a147_0x495b24,_0x1e0aa9=createHash(_0x2234cf(0x1a3));for(const _0x3a9403 of _0x4db77a){if(_0x3a9403['startsWith']('/')||_0x3a9403[_0x2234cf(0x18a)]('/')[_0x2234cf(0x1a2)]('..')||_0x3a9403[_0x2234cf(0x1a2)]('\x5c'))throw new Error(_0x2234cf(0x19e)+_0x3a9403);_0x1e0aa9[_0x2234cf(0x182)](_0x3a9403),_0x1e0aa9[_0x2234cf(0x182)]('\x00'),_0x1e0aa9['update'](readFileSync(join(_0x39e381,..._0x3a9403[_0x2234cf(0x18a)]('/')))),_0x1e0aa9['update']('\x00');}return _0x1e0aa9[_0x2234cf(0x18b)](_0x2234cf(0x192));}function sameFiles(_0x358c1a,_0x3f2503){const _0xa71f25=a147_0x495b24;return _0x358c1a['length']===_0x3f2503['length']&&_0x358c1a[_0xa71f25(0x194)]((_0x32d1eb,_0x2b5e94)=>_0x32d1eb===_0x3f2503[_0x2b5e94]);}function readSource(_0x699c33){const _0x11c81c=a147_0x495b24,_0x1e0152=JSON[_0x11c81c(0x191)](readFileSync(join(_0x699c33,_0x11c81c(0x198)),_0x11c81c(0x1a7))),_0x3aa8c9=JSON[_0x11c81c(0x191)](readFileSync(join(_0x699c33,_0x11c81c(0x190),'lovrabet.manifest.json'),_0x11c81c(0x1a7))),_0x1b3a44=join(_0x699c33,_0x11c81c(0x190),SKILL_NAME),_0x41c2fd=frontmatterValue(readFileSync(join(_0x1b3a44,_0x11c81c(0x1a0)),_0x11c81c(0x1a7)),'version'),_0x2f8519=listFiles(_0x1b3a44);if(_0x3aa8c9[_0x11c81c(0x188)]!==0x1||_0x3aa8c9[_0x11c81c(0x1bf)]!==SKILL_NAME||!_0x1e0152[_0x11c81c(0x1a6)]||_0x3aa8c9[_0x11c81c(0x19b)]!==_0x1e0152[_0x11c81c(0x1a6)]||_0x3aa8c9[_0x11c81c(0x1c6)]!==_0x1e0152[_0x11c81c(0x1a6)]||_0x41c2fd!==_0x1e0152[_0x11c81c(0x1a6)]||!sameFiles(_0x2f8519,_0x3aa8c9[_0x11c81c(0x1c7)])||digestFiles(_0x1b3a44,_0x2f8519)!==_0x3aa8c9[_0x11c81c(0x18b)])throw new Error(_0x11c81c(0x1a4));return{'packageVersion':_0x1e0152[_0x11c81c(0x1a6)],'skillVersion':_0x41c2fd,'root':_0x1b3a44,'manifest':_0x3aa8c9};}function installedSkillPath(_0x5aea55){const _0x1f764c=a147_0x495b24,_0x50fafb=resolveInstalledSkill(SKILL_NAME,{'home':_0x5aea55});if(_0x50fafb[_0x1f764c(0x19d)]===_0x1f764c(0x1c2))return{'state':_0x1f764c(0x1c2),'path':dirname(_0x50fafb[_0x1f764c(0x1c0)])};if(_0x50fafb['state']===_0x1f764c(0x1b7))return{'state':'missing'};return{'state':_0x1f764c(0x199),'reason':_0x50fafb[_0x1f764c(0x1bb)]};}export function inspectInstalledBuiltinSkillVersion(_0x1a9234,_0x17c709={}){const _0x39988f=a147_0x495b24,_0x2130dc=installedSkillPath(_0x17c709[_0x39988f(0x183)]??homedir());if(_0x2130dc[_0x39988f(0x19d)]===_0x39988f(0x1ad))return{'state':_0x39988f(0x1ad),'expectedVersion':_0x1a9234,'repairCommand':REPAIR_COMMAND};if(_0x2130dc[_0x39988f(0x19d)]===_0x39988f(0x199))return{'state':'unverifiable','expectedVersion':_0x1a9234,'reason':_0x2130dc[_0x39988f(0x1bb)],'repairCommand':REPAIR_COMMAND};try{const _0x54dbfc=frontmatterValue(readFileSync(join(_0x2130dc['path'],'SKILL.md'),_0x39988f(0x1a7)),_0x39988f(0x1a6));return{'state':_0x54dbfc===_0x1a9234?_0x39988f(0x184):_0x39988f(0x195),'expectedVersion':_0x1a9234,'skillVersion':_0x54dbfc,'installedPath':_0x2130dc[_0x39988f(0x1c0)],'repairCommand':REPAIR_COMMAND};}catch(_0x1600dc){return{'state':_0x39988f(0x199),'expectedVersion':_0x1a9234,'installedPath':_0x2130dc[_0x39988f(0x1c0)],'reason':_0x1600dc instanceof Error?_0x1600dc['message']:String(_0x1600dc),'repairCommand':REPAIR_COMMAND};}}export function inspectBuiltinSkill(_0x4d032a={}){const _0x2ae602=a147_0x495b24,_0x2a80d0=_0x4d032a['packageRoot']??DEFAULT_PACKAGE_ROOT;let _0x3f20eb;try{_0x3f20eb=readSource(_0x2a80d0);}catch(_0x2d796d){return{'state':'unverifiable','packageVersion':_0x2ae602(0x193),'reason':_0x2d796d instanceof Error?_0x2d796d['message']:String(_0x2d796d),'repairCommand':REPAIR_COMMAND};}const _0x10eb68=installedSkillPath(_0x4d032a[_0x2ae602(0x183)]??homedir());if(_0x10eb68[_0x2ae602(0x19d)]===_0x2ae602(0x1ad))return{'state':_0x2ae602(0x1ad),'packageVersion':_0x3f20eb['packageVersion'],'repairCommand':REPAIR_COMMAND};if(_0x10eb68[_0x2ae602(0x19d)]==='unverifiable')return{'state':_0x2ae602(0x199),'packageVersion':_0x3f20eb[_0x2ae602(0x19b)],'reason':_0x10eb68[_0x2ae602(0x1bb)],'repairCommand':REPAIR_COMMAND};try{const _0x1dd68f=frontmatterValue(readFileSync(join(_0x10eb68[_0x2ae602(0x1c0)],_0x2ae602(0x1a0)),_0x2ae602(0x1a7)),_0x2ae602(0x1a6));if(_0x1dd68f!==_0x3f20eb[_0x2ae602(0x1c6)])return{'state':_0x2ae602(0x195),'packageVersion':_0x3f20eb['packageVersion'],'skillVersion':_0x1dd68f,'installedPath':_0x10eb68['path'],'repairCommand':REPAIR_COMMAND};const _0x3edc37=listFiles(_0x10eb68['path']),_0x35c26b=digestFiles(_0x10eb68[_0x2ae602(0x1c0)],_0x3edc37);return{'state':sameFiles(_0x3edc37,_0x3f20eb[_0x2ae602(0x19c)][_0x2ae602(0x1c7)])&&_0x35c26b===_0x3f20eb['manifest'][_0x2ae602(0x18b)]?_0x2ae602(0x184):'content_mismatch','packageVersion':_0x3f20eb[_0x2ae602(0x19b)],'skillVersion':_0x1dd68f,'installedPath':_0x10eb68['path'],'digest':_0x35c26b,'repairCommand':REPAIR_COMMAND};}catch(_0x45bae0){return{'state':_0x2ae602(0x199),'packageVersion':_0x3f20eb[_0x2ae602(0x19b)],'installedPath':_0x10eb68[_0x2ae602(0x1c0)],'reason':_0x45bae0 instanceof Error?_0x45bae0[_0x2ae602(0x187)]:String(_0x45bae0),'repairCommand':REPAIR_COMMAND};}}function failure(_0x276b33,_0xb302d7,_0x379453,_0x29d066){const _0x41bfe5=a147_0x495b24;return{'ok':![],'code':_0x276b33,'packageVersion':_0xb302d7[_0x41bfe5(0x19b)],'skillVersion':_0xb302d7[_0x41bfe5(0x1c6)],'installedPath':_0x29d066,'changed':![],'repairCommand':REPAIR_COMMAND,'error':_0x379453 instanceof Error?_0x379453['message']:String(_0x379453)};}export function installBuiltinSkill(_0x55e590={}){const _0x1ff3c1=a147_0x495b24,_0x45cdee=_0x55e590[_0x1ff3c1(0x1bc)]??DEFAULT_PACKAGE_ROOT,_0x35bea3=_0x55e590[_0x1ff3c1(0x183)]??homedir();let _0x6b7033;try{_0x6b7033=readSource(_0x45cdee);}catch(_0x3834ba){return failure(_0x1ff3c1(0x1a1),{'packageVersion':_0x1ff3c1(0x193),'skillVersion':'unknown'},_0x3834ba);}const _0xefe50f=inspectBuiltinSkill({'packageRoot':_0x45cdee,'home':_0x35bea3}),_0x3c3868=runNpxSkillsAddGlobal(_0x45cdee,_0x6b7033[_0x1ff3c1(0x180)],{'stdio':_0x55e590[_0x1ff3c1(0x1aa)]??_0x1ff3c1(0x1ab),'expectedSkillName':SKILL_NAME,'presence':{'home':_0x35bea3}});if(_0x3c3868[_0x1ff3c1(0x1ba)])return{'ok':!![],'packageVersion':_0x6b7033[_0x1ff3c1(0x19b)],'skillVersion':_0x6b7033[_0x1ff3c1(0x1c6)],'installedPath':_0xefe50f[_0x1ff3c1(0x189)],'changed':![],'repairCommand':REPAIR_COMMAND};if(!_0x3c3868['ok'])return failure(_0x1ff3c1(0x1c8),_0x6b7033,_0x3c3868[_0x1ff3c1(0x1a9)]??_0x1ff3c1(0x19f)+_0x3c3868['status']);const _0x285b83=inspectBuiltinSkill({'packageRoot':_0x45cdee,'home':_0x35bea3});if(_0x285b83[_0x1ff3c1(0x19d)]!==_0x1ff3c1(0x184)){const _0x4d09c1=_0x285b83[_0x1ff3c1(0x1bb)]??_0x1ff3c1(0x1b4)+_0x285b83[_0x1ff3c1(0x19d)];return failure(_0x1ff3c1(0x1c3),_0x6b7033,_0x3c3868[_0x1ff3c1(0x1ac)]?_0x4d09c1+'\x0a'+_0x3c3868[_0x1ff3c1(0x1ac)][_0x1ff3c1(0x1c5)]:_0x4d09c1,_0x285b83[_0x1ff3c1(0x189)]);}return _0x3c3868[_0x1ff3c1(0x1ac)]&&(debug(_0x1ff3c1(0x19a),_0x3c3868[_0x1ff3c1(0x1ac)][_0x1ff3c1(0x1c5)]),console[_0x1ff3c1(0x1c9)](_0x1ff3c1(0x1af)+_0x6b7033[_0x1ff3c1(0x1c6)]+_0x1ff3c1(0x1a5)+_0x3c3868[_0x1ff3c1(0x1ac)][_0x1ff3c1(0x1b9)]+'\x20automatically\x20selected\x20installation\x20target(s)\x20could\x20not\x20be\x20installed.')),{'ok':!![],'packageVersion':_0x6b7033[_0x1ff3c1(0x19b)],'skillVersion':_0x6b7033[_0x1ff3c1(0x1c6)],'installedPath':_0x285b83['installedPath'],'changed':_0xefe50f[_0x1ff3c1(0x19d)]!==_0x1ff3c1(0x184),'repairCommand':REPAIR_COMMAND};}
@@ -1 +1 @@
1
- const a145_0x14bb2b=a145_0x1c3b;(function(_0x37b5d3,_0x190a42){const _0x1035c8=a145_0x1c3b,_0x2ffaeb=_0x37b5d3();while(!![]){try{const _0x2b5440=parseInt(_0x1035c8(0x163))/0x1+parseInt(_0x1035c8(0x178))/0x2*(-parseInt(_0x1035c8(0x175))/0x3)+-parseInt(_0x1035c8(0x165))/0x4+parseInt(_0x1035c8(0x15f))/0x5*(parseInt(_0x1035c8(0x160))/0x6)+parseInt(_0x1035c8(0x16c))/0x7*(-parseInt(_0x1035c8(0x169))/0x8)+-parseInt(_0x1035c8(0x18e))/0x9*(parseInt(_0x1035c8(0x15d))/0xa)+-parseInt(_0x1035c8(0x164))/0xb*(-parseInt(_0x1035c8(0x181))/0xc);if(_0x2b5440===_0x190a42)break;else _0x2ffaeb['push'](_0x2ffaeb['shift']());}catch(_0x4e08b8){_0x2ffaeb['push'](_0x2ffaeb['shift']());}}}(a145_0x4471,0x7f93c));import{execaSync}from'execa';import{LOVRABET_SKILL_SOURCE as a145_0x244b8e}from'../constant/distribution.js';import{PRODUCT_CONFIG,productEnvName}from'../constant/product.js';import{resolveInstalledSkill}from'../skills/skill-presence.js';export const LOVRABET_SKILL_SOURCE=a145_0x244b8e;export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG[a145_0x14bb2b(0x17e)];function a145_0x4471(){const _0x380e42=['stdout','12erUeBi','join','filter','ENOENT','npx\x20failed\x20to\x20start','shortMessage','pipe','SKILL_NOT_INSTALLED','stderr','expectedSkillName','skipNpxSkillsEnvSuffix','code','log','18yvpOnj','!\x20Could\x20not\x20verify\x20\x22','checked','presence','npx','unverifiable','704710ZWiAkw','failed','1575520oocHQj','6sVdFNe','INSTALL_PARTIAL','trim','590673LIwXOh','11029953pOPnrS','1340500YgjNxX','signal','EACCES','globalSkillName','16GFOWmV','NPX_NOT_FOUND','PERMISSION_DENIED','2566046DabqTA','absent','SPAWN_FAILED','partialFailure','reason','present','exitCode','message','Installer\x20reported\x20','530163DKxYxw','add','\x20failed\x20target(s)','2RcAlJz','unknown','Skill\x20\x22','state','npm_config_global','stdio','internalSkillSource','match'];a145_0x4471=function(){return _0x380e42;};return a145_0x4471();}export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG[a145_0x14bb2b(0x168)];export function resolveGlobalSkillName(_0x38c31a){switch(_0x38c31a['trim']()){case LOVRABET_SKILL_SOURCE:case LOVRABET_SKILL_GIT_SOURCE:return LOVRABET_GLOBAL_SKILL_NAME;default:return undefined;}}export const LOVRABET_SKIP_NPX_SKILLS_ENV=productEnvName(PRODUCT_CONFIG[a145_0x14bb2b(0x18b)]);const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function a145_0x1c3b(_0x39fa36,_0x1077df){_0x39fa36=_0x39fa36-0x15d;const _0x4471d5=a145_0x4471();let _0x1c3b9d=_0x4471d5[_0x39fa36];return _0x1c3b9d;}function failure(_0x34094f,_0x696648,_0x3618f9){return{'ok':![],'status':_0x696648,'code':_0x34094f,'error':'['+_0x34094f+']\x20'+_0x3618f9};}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}export function runNpxSkillsAddGlobal(_0x1bba81,_0x33ed0c=LOVRABET_SKILL_SOURCE,_0x2e202d){const _0x20cc6f=a145_0x14bb2b;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x591b5f=['-y','skills@latest',_0x20cc6f(0x176),_0x33ed0c,'-g','-y'],_0x390a05=[_0x20cc6f(0x192),..._0x591b5f][_0x20cc6f(0x182)]('\x20');console[_0x20cc6f(0x18d)]('*\x20'+_0x390a05);const _0x52b068={...process.env};delete _0x52b068[_0x20cc6f(0x17c)],delete _0x52b068['NPM_CONFIG_GLOBAL'];const _0x20db8b=execaSync(_0x20cc6f(0x192),_0x591b5f,{'cwd':_0x1bba81,'stdio':_0x20cc6f(0x187),'env':_0x52b068,'extendEnv':![],'shell':![],'reject':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x4a1ba9=[_0x20db8b[_0x20cc6f(0x180)]?String(_0x20db8b['stdout']):'',_0x20db8b[_0x20cc6f(0x189)]?String(_0x20db8b[_0x20cc6f(0x189)]):''][_0x20cc6f(0x183)](Boolean)[_0x20cc6f(0x182)]('\x0a')[_0x20cc6f(0x162)](),_0x5d5b91=_0x20db8b[_0x20cc6f(0x172)]??null,_0x21ab84=_0x5bd62f=>{const _0xe8aa62=_0x20cc6f;return _0x2e202d?.[_0xe8aa62(0x17d)]!==_0xe8aa62(0x187)&&!_0x5bd62f[_0xe8aa62(0x16f)]&&_0x4a1ba9&&console[_0xe8aa62(0x18d)](_0x4a1ba9),_0x5bd62f;};if(_0x20db8b['code']){const _0x337cde=_0x20db8b['code']===_0x20cc6f(0x184)?_0x20cc6f(0x16a):_0x20db8b['code']==='EPERM'||_0x20db8b['code']===_0x20cc6f(0x167)?_0x20cc6f(0x16b):_0x20cc6f(0x16e);return _0x21ab84(failure(_0x337cde,_0x5d5b91,_0x20db8b[_0x20cc6f(0x186)]??_0x20db8b[_0x20cc6f(0x173)]??_0x20db8b[_0x20cc6f(0x18c)]));}if(_0x20db8b[_0x20cc6f(0x166)])return _0x21ab84(failure('CHILD_TERMINATED',_0x5d5b91,'npx\x20terminated\x20by\x20signal\x20'+_0x20db8b[_0x20cc6f(0x166)]));if(_0x20db8b[_0x20cc6f(0x15e)]&&_0x5d5b91===null)return _0x21ab84(failure('SPAWN_FAILED',_0x5d5b91,_0x20db8b[_0x20cc6f(0x186)]??_0x20db8b[_0x20cc6f(0x173)]??_0x20cc6f(0x185)));if(_0x5d5b91!==0x0)return _0x21ab84(failure('CHILD_EXIT_NONZERO',_0x5d5b91,_0x4a1ba9||_0x20db8b[_0x20cc6f(0x186)]||'exit\x20'+(_0x5d5b91??_0x20cc6f(0x179))));const _0x41d348=_0x2e202d?.[_0x20cc6f(0x18a)]??resolveGlobalSkillName(_0x33ed0c),_0x130ad0=_0x41d348?resolveInstalledSkill(_0x41d348,_0x2e202d?.[_0x20cc6f(0x191)]):undefined,_0x52599a=_0x4a1ba9[_0x20cc6f(0x17f)](/Failed to install\s+(\d+)/i);if(_0x52599a&&Number(_0x52599a[0x1])>0x0){const _0x41a818=_0x20cc6f(0x174)+_0x52599a[0x1]+_0x20cc6f(0x177)+(_0x4a1ba9?':\x0a'+_0x4a1ba9:'');if(_0x130ad0?.[_0x20cc6f(0x17b)]===_0x20cc6f(0x171))return{'ok':!![],'status':0x0,'partialFailure':{'count':Number(_0x52599a[0x1]),'output':_0x4a1ba9}};return _0x21ab84(failure(_0x20cc6f(0x161),0x0,_0x41a818));}if(_0x41d348&&_0x130ad0){if(_0x130ad0['state']===_0x20cc6f(0x16d))return _0x21ab84(failure(_0x20cc6f(0x188),0x0,_0x20cc6f(0x17a)+_0x41d348+'\x22\x20not\x20found\x20after\x20install\x20(checked\x20'+_0x130ad0[_0x20cc6f(0x190)][_0x20cc6f(0x182)](',\x20')+')'));_0x130ad0[_0x20cc6f(0x17b)]===_0x20cc6f(0x193)&&console['warn'](_0x20cc6f(0x18f)+_0x41d348+'\x22\x20install\x20state:\x20'+_0x130ad0[_0x20cc6f(0x170)]);}return _0x21ab84({'ok':!![],'status':0x0});}
1
+ const a148_0x537a0f=a148_0x31d5;(function(_0x4bcfc3,_0x28ed2a){const _0x3c8982=a148_0x31d5,_0x3784c8=_0x4bcfc3();while(!![]){try{const _0x594c04=-parseInt(_0x3c8982(0x150))/0x1*(parseInt(_0x3c8982(0x12a))/0x2)+-parseInt(_0x3c8982(0x122))/0x3+parseInt(_0x3c8982(0x146))/0x4+parseInt(_0x3c8982(0x11d))/0x5*(-parseInt(_0x3c8982(0x127))/0x6)+-parseInt(_0x3c8982(0x11f))/0x7+-parseInt(_0x3c8982(0x135))/0x8*(parseInt(_0x3c8982(0x123))/0x9)+-parseInt(_0x3c8982(0x128))/0xa*(-parseInt(_0x3c8982(0x14c))/0xb);if(_0x594c04===_0x28ed2a)break;else _0x3784c8['push'](_0x3784c8['shift']());}catch(_0x507cee){_0x3784c8['push'](_0x3784c8['shift']());}}}(a148_0x1045,0x9d2d3));import{execaSync}from'execa';import{LOVRABET_SKILL_SOURCE as a148_0x45dc3f}from'../constant/distribution.js';import{PRODUCT_CONFIG,productEnvName}from'../constant/product.js';function a148_0x31d5(_0x29cf5a,_0x273585){_0x29cf5a=_0x29cf5a-0x11a;const _0x1045ab=a148_0x1045();let _0x31d5ee=_0x1045ab[_0x29cf5a];return _0x31d5ee;}function a148_0x1045(){const _0x3678e8=['absent','NPX_NOT_FOUND','INSTALL_PARTIAL','state','unknown','Skill\x20\x22','13270SGiVdN','EPERM','2065658PRDNEy','ENOENT','\x20failed\x20target(s)','1990482gkeaZZ','5126049YlgKvI','expectedSkillName','stdout','message','1482YYViCn','1252870xyPAVi','npx\x20terminated\x20by\x20signal\x20','302SnQMTq','exitCode','code','npx\x20failed\x20to\x20start','PERMISSION_DENIED','signal','NPM_CONFIG_GLOBAL','skills@latest','CHILD_EXIT_NONZERO','partialFailure','exit\x20','8aSoYoI','log','failed','CHILD_TERMINATED','unverifiable','EACCES','SPAWN_FAILED','internalSkillSource','match','presence','filter','present','!\x20Could\x20not\x20verify\x20\x22','npx','stderr','join','SKILL_NOT_INSTALLED','1433136OifORq','trim','shortMessage','\x22\x20install\x20state:\x20','checked','pipe','220XENBXU','skipNpxSkillsEnvSuffix','npm_config_global','stdio','242ZBjzAX'];a148_0x1045=function(){return _0x3678e8;};return a148_0x1045();}import{resolveInstalledSkill}from'../skills/skill-presence.js';export const LOVRABET_SKILL_SOURCE=a148_0x45dc3f;export const LOVRABET_SKILL_GIT_SOURCE=PRODUCT_CONFIG[a148_0x537a0f(0x13c)];export const LOVRABET_GLOBAL_SKILL_NAME=PRODUCT_CONFIG['globalSkillName'];export function resolveGlobalSkillName(_0x4e778a){const _0x1b36ce=a148_0x537a0f;switch(_0x4e778a[_0x1b36ce(0x147)]()){case LOVRABET_SKILL_SOURCE:case LOVRABET_SKILL_GIT_SOURCE:return LOVRABET_GLOBAL_SKILL_NAME;default:return undefined;}}export const LOVRABET_SKIP_NPX_SKILLS_ENV=productEnvName(PRODUCT_CONFIG[a148_0x537a0f(0x14d)]);const CHILD_OUTPUT_MAX_BUFFER=0x10*0x400*0x400;function failure(_0x21dc83,_0x3bff82,_0x256af3){return{'ok':![],'status':_0x3bff82,'code':_0x21dc83,'error':'['+_0x21dc83+']\x20'+_0x256af3};}export function shouldSkipNpxSkillsAdd(){return process.env[LOVRABET_SKIP_NPX_SKILLS_ENV]==='1';}export function runNpxSkillsAddGlobal(_0x5310a9,_0x548ea3=LOVRABET_SKILL_SOURCE,_0x14dc3a){const _0x21849d=a148_0x537a0f;if(shouldSkipNpxSkillsAdd())return{'ok':!![],'status':0x0,'skipped':!![]};const _0x8fa515=['-y',_0x21849d(0x131),'add',_0x548ea3,'-g','-y'],_0x9e5990=[_0x21849d(0x142),..._0x8fa515][_0x21849d(0x144)]('\x20');console[_0x21849d(0x136)]('*\x20'+_0x9e5990);const _0x3f841a={...process.env};delete _0x3f841a[_0x21849d(0x14e)],delete _0x3f841a[_0x21849d(0x130)];const _0x3bed8e=execaSync('npx',_0x8fa515,{'cwd':_0x5310a9,'stdio':'pipe','env':_0x3f841a,'extendEnv':![],'shell':![],'reject':![],'maxBuffer':CHILD_OUTPUT_MAX_BUFFER}),_0x183c74=[_0x3bed8e[_0x21849d(0x125)]?String(_0x3bed8e[_0x21849d(0x125)]):'',_0x3bed8e[_0x21849d(0x143)]?String(_0x3bed8e['stderr']):''][_0x21849d(0x13f)](Boolean)[_0x21849d(0x144)]('\x0a')[_0x21849d(0x147)](),_0x490f20=_0x3bed8e[_0x21849d(0x12b)]??null,_0x4ffc4b=_0x51eb77=>{const _0x39ed1f=_0x21849d;return _0x14dc3a?.[_0x39ed1f(0x14f)]!==_0x39ed1f(0x14b)&&!_0x51eb77[_0x39ed1f(0x133)]&&_0x183c74&&console['log'](_0x183c74),_0x51eb77;};if(_0x3bed8e[_0x21849d(0x12c)]){const _0x50ab41=_0x3bed8e[_0x21849d(0x12c)]===_0x21849d(0x120)?_0x21849d(0x152):_0x3bed8e['code']===_0x21849d(0x11e)||_0x3bed8e['code']===_0x21849d(0x13a)?_0x21849d(0x12e):_0x21849d(0x13b);return _0x4ffc4b(failure(_0x50ab41,_0x490f20,_0x3bed8e['shortMessage']??_0x3bed8e[_0x21849d(0x126)]??_0x3bed8e[_0x21849d(0x12c)]));}if(_0x3bed8e['signal'])return _0x4ffc4b(failure(_0x21849d(0x138),_0x490f20,_0x21849d(0x129)+_0x3bed8e[_0x21849d(0x12f)]));if(_0x3bed8e[_0x21849d(0x137)]&&_0x490f20===null)return _0x4ffc4b(failure(_0x21849d(0x13b),_0x490f20,_0x3bed8e['shortMessage']??_0x3bed8e[_0x21849d(0x126)]??_0x21849d(0x12d)));if(_0x490f20!==0x0)return _0x4ffc4b(failure(_0x21849d(0x132),_0x490f20,_0x183c74||_0x3bed8e[_0x21849d(0x148)]||_0x21849d(0x134)+(_0x490f20??_0x21849d(0x11b))));const _0x46fa2f=_0x14dc3a?.[_0x21849d(0x124)]??resolveGlobalSkillName(_0x548ea3),_0xa25289=_0x46fa2f?resolveInstalledSkill(_0x46fa2f,_0x14dc3a?.[_0x21849d(0x13e)]):undefined,_0x2ca603=_0x183c74[_0x21849d(0x13d)](/Failed to install\s+(\d+)/i);if(_0x2ca603&&Number(_0x2ca603[0x1])>0x0){const _0x40f98f='Installer\x20reported\x20'+_0x2ca603[0x1]+_0x21849d(0x121)+(_0x183c74?':\x0a'+_0x183c74:'');if(_0xa25289?.['state']===_0x21849d(0x140))return{'ok':!![],'status':0x0,'partialFailure':{'count':Number(_0x2ca603[0x1]),'output':_0x183c74}};return _0x4ffc4b(failure(_0x21849d(0x153),0x0,_0x40f98f));}if(_0x46fa2f&&_0xa25289){if(_0xa25289[_0x21849d(0x11a)]===_0x21849d(0x151))return _0x4ffc4b(failure(_0x21849d(0x145),0x0,_0x21849d(0x11c)+_0x46fa2f+'\x22\x20not\x20found\x20after\x20install\x20(checked\x20'+_0xa25289[_0x21849d(0x14a)]['join'](',\x20')+')'));_0xa25289[_0x21849d(0x11a)]===_0x21849d(0x139)&&console['warn'](_0x21849d(0x141)+_0x46fa2f+_0x21849d(0x149)+_0xa25289['reason']);}return _0x4ffc4b({'ok':!![],'status':0x0});}
@@ -1 +1 @@
1
- function a146_0x29d5(_0x2e27c2,_0x42b9df){_0x2e27c2=_0x2e27c2-0x181;const _0x3e2e09=a146_0x3e2e();let _0x29d5d9=_0x3e2e09[_0x2e27c2];return _0x29d5d9;}const a146_0x2431fc=a146_0x29d5;function a146_0x3e2e(){const _0x28cffa=['5032TvOFkX','951610whCvYr','12ubeoOA','coverage','SKILL.md','.turbo','5850834WdsNgV','.next','.git','build','.cache','55340080JPwKAF','6957FjdZgI','7889hPRUzG','385969SphrRD','2866095Hfmeym','node_modules','2556lRrfua'];a146_0x3e2e=function(){return _0x28cffa;};return a146_0x3e2e();}(function(_0x4bb083,_0x46143b){const _0x190af4=a146_0x29d5,_0x91cc50=_0x4bb083();while(!![]){try{const _0x2e15dc=-parseInt(_0x190af4(0x192))/0x1+-parseInt(_0x190af4(0x185))/0x2+-parseInt(_0x190af4(0x18a))/0x3+parseInt(_0x190af4(0x186))/0x4*(-parseInt(_0x190af4(0x181))/0x5)+-parseInt(_0x190af4(0x183))/0x6*(-parseInt(_0x190af4(0x191))/0x7)+-parseInt(_0x190af4(0x184))/0x8*(parseInt(_0x190af4(0x190))/0x9)+parseInt(_0x190af4(0x18f))/0xa;if(_0x2e15dc===_0x46143b)break;else _0x91cc50['push'](_0x91cc50['shift']());}catch(_0x2acbd8){_0x91cc50['push'](_0x91cc50['shift']());}}}(a146_0x3e2e,0xf3358));export const METADATA_FILE='lovrabet.skill.json';export const SKILL_FILE=a146_0x2431fc(0x188);export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,'.DS_Store']);export const IGNORED_DIR_NAMES=new Set([a146_0x2431fc(0x18c),'.hg','.svn',a146_0x2431fc(0x182),a146_0x2431fc(0x18b),'dist',a146_0x2431fc(0x18d),a146_0x2431fc(0x187),a146_0x2431fc(0x189),a146_0x2431fc(0x18e)]);
1
+ function a149_0x2fcc(_0x16da18,_0x4ce62a){_0x16da18=_0x16da18-0x166;const _0x5b7675=a149_0x5b76();let _0x2fcc19=_0x5b7675[_0x16da18];return _0x2fcc19;}const a149_0x715426=a149_0x2fcc;(function(_0xedf0d,_0x5aef5c){const _0x396f2b=a149_0x2fcc,_0x2c6011=_0xedf0d();while(!![]){try{const _0x4de691=parseInt(_0x396f2b(0x172))/0x1+parseInt(_0x396f2b(0x16c))/0x2+parseInt(_0x396f2b(0x16d))/0x3*(parseInt(_0x396f2b(0x16a))/0x4)+-parseInt(_0x396f2b(0x170))/0x5+parseInt(_0x396f2b(0x16b))/0x6*(parseInt(_0x396f2b(0x176))/0x7)+-parseInt(_0x396f2b(0x171))/0x8*(parseInt(_0x396f2b(0x177))/0x9)+parseInt(_0x396f2b(0x166))/0xa*(-parseInt(_0x396f2b(0x174))/0xb);if(_0x4de691===_0x5aef5c)break;else _0x2c6011['push'](_0x2c6011['shift']());}catch(_0x5f0a9d){_0x2c6011['push'](_0x2c6011['shift']());}}}(a149_0x5b76,0x7dfd2));export const METADATA_FILE=a149_0x715426(0x167);export const SKILL_FILE=a149_0x715426(0x173);export const IGNORED_FILE_NAMES=new Set([METADATA_FILE,a149_0x715426(0x169)]);export const IGNORED_DIR_NAMES=new Set(['.git',a149_0x715426(0x178),a149_0x715426(0x175),'node_modules',a149_0x715426(0x16f),a149_0x715426(0x179),a149_0x715426(0x16e),a149_0x715426(0x168),'.turbo','.cache']);function a149_0x5b76(){const _0x5888cc=['.hg','dist','10yNfbwp','lovrabet.skill.json','coverage','.DS_Store','100icFnsS','1002zmGsVb','532334YcgrGj','46233gHQWJp','build','.next','40445Ksixae','808bdWxpK','739393TsMYlB','SKILL.md','8588382hCyors','.svn','32963glMRUW','77733SzhelJ'];a149_0x5b76=function(){return _0x5888cc;};return a149_0x5b76();}
@@ -1 +1 @@
1
- (function(_0x540203,_0x52e690){const _0x5e0e3c=a147_0x2a01,_0x458806=_0x540203();while(!![]){try{const _0x44f9ca=parseInt(_0x5e0e3c(0x140))/0x1+-parseInt(_0x5e0e3c(0x137))/0x2+-parseInt(_0x5e0e3c(0x13c))/0x3+parseInt(_0x5e0e3c(0x13e))/0x4+parseInt(_0x5e0e3c(0x13d))/0x5*(parseInt(_0x5e0e3c(0x138))/0x6)+parseInt(_0x5e0e3c(0x13a))/0x7+parseInt(_0x5e0e3c(0x147))/0x8*(-parseInt(_0x5e0e3c(0x144))/0x9);if(_0x44f9ca===_0x52e690)break;else _0x458806['push'](_0x458806['shift']());}catch(_0x4ef74e){_0x458806['push'](_0x458806['shift']());}}}(a147_0x9287,0x38089));import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x119e32,_0x2d980a){const _0x5b9788=a147_0x2a01,_0x2c4829=normalizeSkillRelativePath(_0x2d980a),_0x5b92d5=realOrResolved(_0x119e32),_0x3941d4=resolve(_0x5b92d5,..._0x2c4829[_0x5b9788(0x14a)]('/'));if(!isPathInside(_0x3941d4,_0x5b92d5))throw CliErrors[_0x5b9788(0x13f)](_0x5b9788(0x149)+_0x2d980a);return ensureNoSymlinkInManagedPath(_0x5b92d5,_0x2c4829),_0x3941d4;}function a147_0x9287(){const _0x3c0af8=['from','startsWith','279WhIenU','stringify','endsWith','101144TULiLb','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','Unsafe\x20Skill\x20file\x20path:\x20','split','867502OjIDao','763254ZJmQGP','.tmp','2954637BmzQOc','isSymbolicLink','75447SLNgbv','5oJeHFt','434944vfwiFi','validation','422310cyXJOJ','utf8'];a147_0x9287=function(){return _0x3c0af8;};return a147_0x9287();}export function ensureNoSymlinkInManagedPath(_0x1300e,_0x353644){const _0x54794a=a147_0x2a01;let _0x2568fc=_0x1300e;for(const _0x2eeafd of _0x353644[_0x54794a(0x14a)]('/')){_0x2568fc=resolve(_0x2568fc,_0x2eeafd);const _0x18170e=lstatIfPresent(_0x2568fc);if(_0x18170e?.[_0x54794a(0x13b)]())throw CliErrors[_0x54794a(0x13f)](_0x54794a(0x148)+_0x353644);}}export function isDanglingSymlink(_0x3d2fba){const _0xbfebee=a147_0x2a01;try{return lstatSync(_0x3d2fba)[_0xbfebee(0x13b)]();}catch{return![];}}export function resolveSymlinkTarget(_0x45e5fd){const _0x11dc4d=readlinkSync(_0x45e5fd);return isAbsolute(_0x11dc4d)?_0x11dc4d:resolve(dirname(_0x45e5fd),_0x11dc4d);}export function isPathInside(_0x4685b7,_0x51466b){const _0x1746d9=a147_0x2a01,_0x4008de=_0x4685b7[_0x1746d9(0x146)](sep)?_0x4685b7:''+_0x4685b7+sep,_0x3d9b07=_0x51466b[_0x1746d9(0x146)](sep)?_0x51466b:''+_0x51466b+sep;return _0x4685b7===_0x51466b||_0x4008de[_0x1746d9(0x143)](_0x3d9b07);}export function realOrResolved(_0x1fd01d){try{return realpathSync(_0x1fd01d);}catch{return resolve(_0x1fd01d);}}export function lstatIfPresent(_0x3250bd){try{return lstatSync(_0x3250bd);}catch{return undefined;}}export function writeTextAtomic(_0x47ef35,_0x154181,_0x261661){const _0x31c427=a147_0x2a01;writeBytesAtomic(_0x47ef35,Buffer[_0x31c427(0x142)](_0x154181,_0x31c427(0x141)),_0x261661);}export function writeBytesAtomic(_0x4c5da5,_0x5b2184,_0x215c99){const _0x55a07b=a147_0x2a01,_0x86632d=_0x4c5da5+_0x55a07b(0x139);try{writeFileSync(_0x86632d,_0x5b2184,{'mode':_0x215c99}),renameSync(_0x86632d,_0x4c5da5);}catch(_0x44c7e6){try{rmSync(_0x86632d,{'force':!![]});}catch{}throw _0x44c7e6;}}function a147_0x2a01(_0x332012,_0x1dce8a){_0x332012=_0x332012-0x137;const _0x92877f=a147_0x9287();let _0x2a0174=_0x92877f[_0x332012];return _0x2a0174;}export function writeJsonAtomic(_0x1a8163,_0x57f6f1){const _0x3d1035=a147_0x2a01;writeTextAtomic(_0x1a8163,JSON[_0x3d1035(0x145)](_0x57f6f1,null,0x2)+'\x0a',0x180);}
1
+ (function(_0x3e93e9,_0x4cbebe){const _0x2826f2=a150_0x4c4a,_0x4a7b63=_0x3e93e9();while(!![]){try{const _0x47be03=parseInt(_0x2826f2(0x171))/0x1*(parseInt(_0x2826f2(0x172))/0x2)+-parseInt(_0x2826f2(0x174))/0x3+-parseInt(_0x2826f2(0x16a))/0x4+parseInt(_0x2826f2(0x16d))/0x5+-parseInt(_0x2826f2(0x16b))/0x6+parseInt(_0x2826f2(0x163))/0x7*(-parseInt(_0x2826f2(0x168))/0x8)+-parseInt(_0x2826f2(0x167))/0x9*(-parseInt(_0x2826f2(0x165))/0xa);if(_0x47be03===_0x4cbebe)break;else _0x4a7b63['push'](_0x4a7b63['shift']());}catch(_0x12db84){_0x4a7b63['push'](_0x4a7b63['shift']());}}}(a150_0x3144,0xda5c9));import{lstatSync,readlinkSync,realpathSync,renameSync,rmSync,writeFileSync}from'node:fs';import{dirname,isAbsolute,resolve,sep}from'node:path';import{CliErrors}from'../../errors.js';import{normalizeSkillRelativePath}from'./local-files.js';export function resolveManagedFilePath(_0x2d1891,_0x37ae3d){const _0x515024=a150_0x4c4a,_0x11d5e3=normalizeSkillRelativePath(_0x37ae3d),_0x400f1e=realOrResolved(_0x2d1891),_0x35599c=resolve(_0x400f1e,..._0x11d5e3[_0x515024(0x166)]('/'));if(!isPathInside(_0x35599c,_0x400f1e))throw CliErrors[_0x515024(0x169)](_0x515024(0x161)+_0x37ae3d);return ensureNoSymlinkInManagedPath(_0x400f1e,_0x11d5e3),_0x35599c;}export function ensureNoSymlinkInManagedPath(_0x2190e8,_0x5d1e3f){const _0xe5c0ac=a150_0x4c4a;let _0x4bedd3=_0x2190e8;for(const _0xf3372e of _0x5d1e3f[_0xe5c0ac(0x166)]('/')){_0x4bedd3=resolve(_0x4bedd3,_0xf3372e);const _0x16a7d3=lstatIfPresent(_0x4bedd3);if(_0x16a7d3?.['isSymbolicLink']())throw CliErrors[_0xe5c0ac(0x169)](_0xe5c0ac(0x170)+_0x5d1e3f);}}export function isDanglingSymlink(_0xb54288){const _0x456981=a150_0x4c4a;try{return lstatSync(_0xb54288)[_0x456981(0x173)]();}catch{return![];}}export function resolveSymlinkTarget(_0x1c0878){const _0x6df33=readlinkSync(_0x1c0878);return isAbsolute(_0x6df33)?_0x6df33:resolve(dirname(_0x1c0878),_0x6df33);}function a150_0x3144(){const _0x56b341=['6696380LyePsU','.tmp','from','Refusing\x20to\x20write\x20through\x20Skill\x20symlink\x20path:\x20','4QPTJAw','108872KRFgAc','isSymbolicLink','2100777onzEFX','startsWith','Unsafe\x20Skill\x20file\x20path:\x20','stringify','14cTJENo','utf8','40JWCTPd','split','6405606HbbyHD','5323048lrqgzL','validation','1561456Fiosso','6528972tvXAnI','endsWith'];a150_0x3144=function(){return _0x56b341;};return a150_0x3144();}export function isPathInside(_0x5b2d15,_0x1727f8){const _0x5733ba=a150_0x4c4a,_0x2c7948=_0x5b2d15[_0x5733ba(0x16c)](sep)?_0x5b2d15:''+_0x5b2d15+sep,_0x4f3a82=_0x1727f8['endsWith'](sep)?_0x1727f8:''+_0x1727f8+sep;return _0x5b2d15===_0x1727f8||_0x2c7948[_0x5733ba(0x160)](_0x4f3a82);}export function realOrResolved(_0x102731){try{return realpathSync(_0x102731);}catch{return resolve(_0x102731);}}function a150_0x4c4a(_0x3bc8bf,_0x374d8e){_0x3bc8bf=_0x3bc8bf-0x160;const _0x314456=a150_0x3144();let _0x4c4a49=_0x314456[_0x3bc8bf];return _0x4c4a49;}export function lstatIfPresent(_0x50b9dd){try{return lstatSync(_0x50b9dd);}catch{return undefined;}}export function writeTextAtomic(_0x4ae29c,_0x446d2a,_0x4ece65){const _0x4c1ec5=a150_0x4c4a;writeBytesAtomic(_0x4ae29c,Buffer[_0x4c1ec5(0x16f)](_0x446d2a,_0x4c1ec5(0x164)),_0x4ece65);}export function writeBytesAtomic(_0x58469b,_0x10fb3e,_0x30c15c){const _0x52f0ca=a150_0x4c4a,_0x567406=_0x58469b+_0x52f0ca(0x16e);try{writeFileSync(_0x567406,_0x10fb3e,{'mode':_0x30c15c}),renameSync(_0x567406,_0x58469b);}catch(_0x3096e9){try{rmSync(_0x567406,{'force':!![]});}catch{}throw _0x3096e9;}}export function writeJsonAtomic(_0x3c7607,_0x58e8f5){const _0x50b40c=a150_0x4c4a;writeTextAtomic(_0x3c7607,JSON[_0x50b40c(0x162)](_0x58e8f5,null,0x2)+'\x0a',0x180);}
@@ -1 +1 @@
1
- (function(_0x3c1111,_0xe37ec8){const _0x281d80=a148_0x476c,_0x4590d2=_0x3c1111();while(!![]){try{const _0x51b916=-parseInt(_0x281d80(0xc9))/0x1+-parseInt(_0x281d80(0xcb))/0x2+parseInt(_0x281d80(0xc6))/0x3*(-parseInt(_0x281d80(0xcc))/0x4)+-parseInt(_0x281d80(0xce))/0x5+-parseInt(_0x281d80(0xc4))/0x6*(parseInt(_0x281d80(0xc5))/0x7)+parseInt(_0x281d80(0xc7))/0x8*(-parseInt(_0x281d80(0xd1))/0x9)+parseInt(_0x281d80(0xcf))/0xa;if(_0x51b916===_0xe37ec8)break;else _0x4590d2['push'](_0x4590d2['shift']());}catch(_0x406135){_0x4590d2['push'](_0x4590d2['shift']());}}}(a148_0x33c4,0x3c813));import{createHash}from'node:crypto';import{fileContent,normalizeManifestFiles}from'./local-files.js';export function contentHash(_0x22f471){const _0x1ccfc2=a148_0x476c;return createHash(_0x1ccfc2(0xc8))[_0x1ccfc2(0xca)](_0x22f471)['digest']('hex');}function a148_0x476c(_0x5e0a78,_0x32d6ae){_0x5e0a78=_0x5e0a78-0xc3;const _0x33c46e=a148_0x33c4();let _0x476c5b=_0x33c46e[_0x5e0a78];return _0x476c5b;}function a148_0x33c4(){const _0x28970e=['size','533920PNCJwz','16182410IMqQiS','path','1026990xhwCjM','digest','498eTVzhO','29603Vcvwmg','36euTHIE','16qjzRUS','sha256','225800NDCAPQ','update','297598LyQIMK','103268ImtNRZ'];a148_0x33c4=function(){return _0x28970e;};return a148_0x33c4();}export function fileHash(_0x35fe76){return bufferSha256(fileContent(_0x35fe76));}export function bufferSha256(_0x2955be){const _0xa5123c=a148_0x476c;return createHash(_0xa5123c(0xc8))[_0xa5123c(0xca)](_0x2955be)[_0xa5123c(0xc3)]('hex');}export function fileTreeHash(_0x1d3f53){const _0x5628f6=a148_0x476c,_0x463e90=createHash('sha256');for(const _0x1c4618 of normalizeManifestFiles(_0x1d3f53)){_0x463e90[_0x5628f6(0xca)](_0x1c4618[_0x5628f6(0xd0)]),_0x463e90[_0x5628f6(0xca)]('\x00'),_0x463e90[_0x5628f6(0xca)](_0x1c4618[_0x5628f6(0xc8)]),_0x463e90[_0x5628f6(0xca)]('\x00'),_0x463e90[_0x5628f6(0xca)](String(_0x1c4618[_0x5628f6(0xcd)])),_0x463e90[_0x5628f6(0xca)]('\x00');}return _0x463e90['digest']('hex');}
1
+ (function(_0x5e8d6f,_0x1be30f){const _0x5c3b1d=a151_0x2862,_0x1ef553=_0x5e8d6f();while(!![]){try{const _0x586512=parseInt(_0x5c3b1d(0x127))/0x1*(-parseInt(_0x5c3b1d(0x125))/0x2)+-parseInt(_0x5c3b1d(0x12a))/0x3*(-parseInt(_0x5c3b1d(0x12b))/0x4)+-parseInt(_0x5c3b1d(0x120))/0x5+-parseInt(_0x5c3b1d(0x126))/0x6*(-parseInt(_0x5c3b1d(0x122))/0x7)+parseInt(_0x5c3b1d(0x129))/0x8+parseInt(_0x5c3b1d(0x11d))/0x9+-parseInt(_0x5c3b1d(0x121))/0xa;if(_0x586512===_0x1be30f)break;else _0x1ef553['push'](_0x1ef553['shift']());}catch(_0x4886b4){_0x1ef553['push'](_0x1ef553['shift']());}}}(a151_0x6d94,0x766ff));import{createHash}from'node:crypto';import{fileContent,normalizeManifestFiles}from'./local-files.js';export function contentHash(_0x591776){const _0x39ae37=a151_0x2862;return createHash(_0x39ae37(0x12c))[_0x39ae37(0x11e)](_0x591776)[_0x39ae37(0x123)](_0x39ae37(0x11f));}export function fileHash(_0x292efc){return bufferSha256(fileContent(_0x292efc));}function a151_0x6d94(){const _0x136870=['8evBfJC','sha256','6846867boeKVB','update','hex','3194510xXlJEh','5123810bKyYyB','441PIYVRa','digest','size','531820xNNrLw','15528dnvNSE','3XlRZRh','path','4599192DyZczA','1403139MmgggE'];a151_0x6d94=function(){return _0x136870;};return a151_0x6d94();}export function bufferSha256(_0x4e89e2){const _0x373a60=a151_0x2862;return createHash('sha256')[_0x373a60(0x11e)](_0x4e89e2)[_0x373a60(0x123)](_0x373a60(0x11f));}function a151_0x2862(_0x33dac0,_0x10a7b2){_0x33dac0=_0x33dac0-0x11d;const _0x6d9434=a151_0x6d94();let _0x2862a2=_0x6d9434[_0x33dac0];return _0x2862a2;}export function fileTreeHash(_0x2e8126){const _0x4a585d=a151_0x2862,_0xb8af32=createHash(_0x4a585d(0x12c));for(const _0x2f68d9 of normalizeManifestFiles(_0x2e8126)){_0xb8af32[_0x4a585d(0x11e)](_0x2f68d9[_0x4a585d(0x128)]),_0xb8af32[_0x4a585d(0x11e)]('\x00'),_0xb8af32[_0x4a585d(0x11e)](_0x2f68d9[_0x4a585d(0x12c)]),_0xb8af32[_0x4a585d(0x11e)]('\x00'),_0xb8af32['update'](String(_0x2f68d9[_0x4a585d(0x124)])),_0xb8af32[_0x4a585d(0x11e)]('\x00');}return _0xb8af32[_0x4a585d(0x123)](_0x4a585d(0x11f));}
@@ -1 +1 @@
1
- const a149_0x3d54af=a149_0x1a2d;function a149_0x2788(){const _0x10fa0b=['3921687OkfWfa','10221444kvUaBl','freeze','499121eSujtY','.agents','9ljMRPQ','skills','global','55716hSsYbA','1245500wRKmzx','965jOCziX','15hVMOQP','13074BJBnEw','appCode','8Mzeiaz','project','229904olzFoV','2YBTNlu','cwd'];a149_0x2788=function(){return _0x10fa0b;};return a149_0x2788();}function a149_0x1a2d(_0x282c35,_0x29c7ba){_0x282c35=_0x282c35-0x7f;const _0x278823=a149_0x2788();let _0x1a2dc0=_0x278823[_0x282c35];return _0x1a2dc0;}(function(_0x49d068,_0x572526){const _0xfdd89c=a149_0x1a2d,_0x35d305=_0x49d068();while(!![]){try{const _0x4ec15e=-parseInt(_0xfdd89c(0x85))/0x1*(-parseInt(_0xfdd89c(0x8f))/0x2)+parseInt(_0xfdd89c(0x7f))/0x3*(parseInt(_0xfdd89c(0x84))/0x4)+parseInt(_0xfdd89c(0x91))/0x5*(-parseInt(_0xfdd89c(0x80))/0x6)+parseInt(_0xfdd89c(0x8a))/0x7*(-parseInt(_0xfdd89c(0x82))/0x8)+parseInt(_0xfdd89c(0x8c))/0x9*(-parseInt(_0xfdd89c(0x90))/0xa)+-parseInt(_0xfdd89c(0x87))/0xb+parseInt(_0xfdd89c(0x88))/0xc;if(_0x4ec15e===_0x572526)break;else _0x35d305['push'](_0x35d305['shift']());}catch(_0x12ac76){_0x35d305['push'](_0x35d305['shift']());}}}(a149_0x2788,0x3630e));import{resolve}from'node:path';import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';export function resolveRuntimeSkillInstallTarget(_0x42849f,_0x4029a2=a149_0x3d54af(0x8e),_0x52e103={}){const _0x3e4ef5=a149_0x3d54af,_0x548031=resolveSkillSyncPaths(_0x52e103),_0x12cdf9=safePathSegment(_0x42849f,_0x3e4ef5(0x81)),_0x333fde=_0x4029a2===_0x3e4ef5(0x83)?[resolve(_0x52e103[_0x3e4ef5(0x86)]??process[_0x3e4ef5(0x86)](),_0x3e4ef5(0x8b),_0x3e4ef5(0x8d))]:runtimeAgentSkillRoots(_0x548031);return Object[_0x3e4ef5(0x89)]({'scope':_0x4029a2,'appCode':_0x12cdf9,'skillRoots':Object[_0x3e4ef5(0x89)](_0x333fde),'managedRoot':_0x548031['managedRoot']});}
1
+ (function(_0x84279f,_0x532616){const _0x1d95f5=a152_0x2653,_0x527ff2=_0x84279f();while(!![]){try{const _0x4b06dc=parseInt(_0x1d95f5(0x118))/0x1*(-parseInt(_0x1d95f5(0x119))/0x2)+-parseInt(_0x1d95f5(0x115))/0x3*(-parseInt(_0x1d95f5(0x11a))/0x4)+-parseInt(_0x1d95f5(0x113))/0x5*(parseInt(_0x1d95f5(0x11b))/0x6)+-parseInt(_0x1d95f5(0x10c))/0x7+parseInt(_0x1d95f5(0x11c))/0x8+-parseInt(_0x1d95f5(0x117))/0x9*(parseInt(_0x1d95f5(0x111))/0xa)+parseInt(_0x1d95f5(0x10b))/0xb*(parseInt(_0x1d95f5(0x116))/0xc);if(_0x4b06dc===_0x532616)break;else _0x527ff2['push'](_0x527ff2['shift']());}catch(_0x59c299){_0x527ff2['push'](_0x527ff2['shift']());}}}(a152_0x2845,0xaaa26));import{resolve}from'node:path';function a152_0x2845(){const _0x13107e=['1087146fydNGM','273mzdHWU','7696NDSaOK','1809308ExbaqQ','10980MRnkWe','9394480JGuRQP','skills','14648425akilMg','1186052fMhLWO','cwd','.agents','managedRoot','freeze','10xbxQRJ','appCode','2510jiZfex','project','3IGoEAb','12NzlAus'];a152_0x2845=function(){return _0x13107e;};return a152_0x2845();}function a152_0x2653(_0x509135,_0xdef196){_0x509135=_0x509135-0x10b;const _0x2845a1=a152_0x2845();let _0x265318=_0x2845a1[_0x509135];return _0x265318;}import{resolveSkillSyncPaths,runtimeAgentSkillRoots,safePathSegment}from'./paths.js';export function resolveRuntimeSkillInstallTarget(_0x175e59,_0x37ec0e='global',_0x3b9503={}){const _0x4c7c64=a152_0x2653,_0xdb0a94=resolveSkillSyncPaths(_0x3b9503),_0x59fb78=safePathSegment(_0x175e59,_0x4c7c64(0x112)),_0x1be098=_0x37ec0e===_0x4c7c64(0x114)?[resolve(_0x3b9503[_0x4c7c64(0x10d)]??process[_0x4c7c64(0x10d)](),_0x4c7c64(0x10e),_0x4c7c64(0x11d))]:runtimeAgentSkillRoots(_0xdb0a94);return Object[_0x4c7c64(0x110)]({'scope':_0x37ec0e,'appCode':_0x59fb78,'skillRoots':Object[_0x4c7c64(0x110)](_0x1be098),'managedRoot':_0xdb0a94[_0x4c7c64(0x10f)]});}
@@ -1 +1 @@
1
- function a150_0x397c(){const _0x4ab375=['skipped','managedRoot','appCode','dir','isDirectory','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','1967090GuoWvT','lovrabet','Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20','metadataPath','105604oNtxyc','protectedLinkRoots','unchanged','validation','get','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','updated','pruneSkillCodes','12lEOjaj','removed','linked-from-protected-root','contentHash','28RSBzxT','builtin','Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20','scope','personal','external-symlink','109543xNrkWn','110oVwNqZ','239031vEGDsq','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','trim','filter','scopes','76318fGaOVq','name','104GIeXTV','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','isSymbolicLink','has','project','Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20','company','Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20','skillRoots','477256DMdcqt','22818CUHewr','push','slice','Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20','startsWith','created','skillCode','map','skill'];a150_0x397c=function(){return _0x4ab375;};return a150_0x397c();}const a150_0x4f07da=a150_0x32dc;(function(_0x1306c6,_0x5cb470){const _0x5cd2d3=a150_0x32dc,_0x194f31=_0x1306c6();while(!![]){try{const _0x86e34b=parseInt(_0x5cd2d3(0xb6))/0x1+parseInt(_0x5cd2d3(0xc8))/0x2+parseInt(_0x5cd2d3(0xac))/0x3*(-parseInt(_0x5cd2d3(0xdc))/0x4)+parseInt(_0x5cd2d3(0xd8))/0x5+parseInt(_0x5cd2d3(0xc9))/0x6*(-parseInt(_0x5cd2d3(0xb0))/0x7)+-parseInt(_0x5cd2d3(0xbf))/0x8*(parseInt(_0x5cd2d3(0xb8))/0x9)+parseInt(_0x5cd2d3(0xb7))/0xa*(-parseInt(_0x5cd2d3(0xbd))/0xb);if(_0x86e34b===_0x5cb470)break;else _0x194f31['push'](_0x194f31['shift']());}catch(_0x56991d){_0x194f31['push'](_0x194f31['shift']());}}}(a150_0x397c,0x30a14));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a150_0x463601 from'fs-extra';import{CliErrors}from'../../errors.js';function a150_0x32dc(_0x59b3ec,_0x1b870d){_0x59b3ec=_0x59b3ec-0xa7;const _0x397c32=a150_0x397c();let _0x32dc54=_0x397c32[_0x59b3ec];return _0x32dc54;}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}=a150_0x463601,RESERVED_PROJECT_SKILL_CODES=new Set([a150_0x4f07da(0xd9),'runtime-observe','secret-retriever']);export function linkEffectiveRuntimeSkills(_0x312ddc,_0x3821fc){const _0x146d03=a150_0x4f07da,_0x2b8b05=new Map();for(const _0x13722c of _0x312ddc){const _0x111366=_0x13722c[_0x146d03(0xd1)]['skillCode'];if(!_0x111366)continue;const _0x189b3d=_0x2b8b05[_0x146d03(0xa8)](_0x111366);(!_0x189b3d||_0x13722c[_0x146d03(0xb3)]==='personal')&&_0x2b8b05['set'](_0x111366,_0x13722c);}const _0x5d727c=[];for(const _0x5ba75 of _0x2b8b05['values']()){const _0x3c1ab5=requireSkillCode(_0x5ba75[_0x146d03(0xd1)]),_0x215856=readMetadataIfPresent(_0x5ba75[_0x146d03(0xdb)]);if(_0x215856?.[_0x146d03(0xd4)]!==_0x3821fc['appCode']||_0x215856[_0x146d03(0xcf)]!==_0x3c1ab5)throw CliErrors[_0x146d03(0xa7)](_0x146d03(0xd7)+_0x3821fc['appCode']+':\x20'+_0x5ba75[_0x146d03(0xdb)]);const _0x2e0252=runtimeSkillLinkName(_0x3821fc,_0x3c1ab5);for(const _0x164d3b of _0x3821fc[_0x146d03(0xc7)]){_0x5d727c[_0x146d03(0xca)](ensureManagedSymlink(resolve(_0x164d3b,_0x2e0252),_0x5ba75['dir'],_0x3821fc,_0x3c1ab5));}}return _0x5d727c;}export function pruneStaleRuntimeSkillLinks(_0x3cf453,_0xaea8f5,_0x40c75d){const _0x2bc093=a150_0x4f07da,_0x396605=new Set([..._0xaea8f5][_0x2bc093(0xd0)](_0x1aaf67=>_0x1aaf67[_0x2bc093(0xba)]())[_0x2bc093(0xbb)](Boolean)),_0x3ce94d=_0x40c75d?new Set([..._0x40c75d][_0x2bc093(0xd0)](_0x4bc385=>_0x4bc385[_0x2bc093(0xba)]())[_0x2bc093(0xbb)](Boolean)):undefined,_0x11e011=[];for(const _0x272205 of _0x3cf453[_0x2bc093(0xc7)]){for(const _0x526d3a of managedTargetSkillLinkPaths(_0x272205,_0x3cf453)){const _0x148a67=runtimeSkillCodeFromLink(_0x3cf453,_0x526d3a);if(_0x3ce94d&&!_0x3ce94d['has'](_0x148a67))continue;if(_0x396605[_0x2bc093(0xc2)](_0x148a67))continue;_0x11e011[_0x2bc093(0xca)](removeManagedSkillLink(_0x526d3a,_0x3cf453,_0x148a67));}}return _0x11e011;}export function pruneStaleRuntimeSkillCache(_0x2c02e5,_0x42cbb2={}){const _0x270336=a150_0x4f07da,_0x13bf17=new Set([..._0x2c02e5['activeSkillCodes']][_0x270336(0xd0)](_0x56a6c5=>_0x56a6c5['trim']())[_0x270336(0xbb)](Boolean)),_0x4c3cea=_0x2c02e5['pruneSkillCodes']?new Set([..._0x2c02e5[_0x270336(0xab)]][_0x270336(0xd0)](_0x4ee4df=>_0x4ee4df[_0x270336(0xba)]())[_0x270336(0xbb)](Boolean)):undefined,_0x54af8a=_0x2c02e5[_0x270336(0xbc)]??[_0x270336(0xb4),_0x270336(0xc5)],_0x47556c=resolve(getRuntimeSkillCacheRoot(_0x2c02e5['env'],_0x2c02e5['accessKey'],_0x42cbb2),safePathSegment(_0x2c02e5[_0x270336(0xd4)],_0x270336(0xd4))),_0x4a75f9=[];for(const _0x53dfa1 of _0x54af8a){const _0x598979=resolve(_0x47556c,_0x53dfa1);if(!existsSync(_0x598979))continue;for(const _0x5896d4 of readdirSync(_0x598979,{'withFileTypes':!![]})){if(!_0x5896d4[_0x270336(0xd6)]())continue;const _0x29250f=_0x5896d4[_0x270336(0xbe)];if(_0x4c3cea&&!_0x4c3cea[_0x270336(0xc2)](_0x29250f))continue;if(_0x13bf17[_0x270336(0xc2)](_0x29250f))continue;const _0xb4c3f6=resolve(_0x598979,_0x29250f),_0x2e841a=readMetadataIfPresent(resolve(_0xb4c3f6,METADATA_FILE));if(_0x2e841a?.[_0x270336(0xd4)]!==_0x2c02e5['appCode']||_0x2e841a['scope']!==_0x53dfa1||_0x2e841a[_0x270336(0xcf)]!==_0x29250f){_0x4a75f9['push']({'path':_0xb4c3f6,'action':_0x270336(0xd2),'reason':'metadata-mismatch'});continue;}if(isLinkedFromAnyRoot(_0xb4c3f6,_0x2c02e5[_0x270336(0xdd)]??[])){_0x4a75f9[_0x270336(0xca)]({'path':_0xb4c3f6,'action':_0x270336(0xd2),'reason':_0x270336(0xae)});continue;}removeSync(_0xb4c3f6),_0x4a75f9[_0x270336(0xca)]({'path':_0xb4c3f6,'action':_0x270336(0xad)});}}return _0x4a75f9;}export function linkGlobalRuntimeSkills(_0x5107b8,_0x427b32={}){const _0x3e0f6d=a150_0x4f07da,_0x57bfff=resolveSkillSyncPaths(_0x427b32),_0x376ae3=[];for(const _0x32805a of _0x5107b8){if(_0x32805a[_0x3e0f6d(0xb3)]!=='builtin')throw CliErrors[_0x3e0f6d(0xa7)](_0x3e0f6d(0xcc)+_0x32805a['scope']);const _0x197844=requireSkillCode(_0x32805a[_0x3e0f6d(0xd1)]),_0x821592=copyManagedSkillDirectory(_0x32805a['dir'],resolve(_0x57bfff['agentsSkillsDir'],_0x197844));_0x376ae3[_0x3e0f6d(0xca)]({..._0x821592,'contentHash':_0x32805a['contentHash']});}return _0x376ae3;}function ensureManagedSymlink(_0x22c6eb,_0x4bed13,_0x5efdf2,_0x2d9a68){const _0x322395=a150_0x4f07da;mkdirSync(dirname(_0x22c6eb),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x22c6eb)||isDanglingSymlink(_0x22c6eb)){const _0x24c84c=lstatSync(_0x22c6eb);if(!_0x24c84c[_0x322395(0xc1)]())throw CliErrors[_0x322395(0xa7)](_0x322395(0xb9)+_0x22c6eb);const _0x2616ab=resolveSymlinkTarget(_0x22c6eb);if(!isPathInside(realOrResolved(_0x2616ab),realOrResolved(_0x5efdf2[_0x322395(0xd3)])))throw CliErrors['validation'](_0x322395(0xb2)+_0x22c6eb);if(realOrResolved(_0x2616ab)===realOrResolved(_0x4bed13))return{'path':_0x22c6eb,'target':_0x4bed13,'action':_0x322395(0xde)};const _0x1c7b39=readMetadataIfPresent(resolve(_0x2616ab,METADATA_FILE));if(_0x5efdf2[_0x322395(0xb3)]===_0x322395(0xc3)&&(_0x1c7b39?.[_0x322395(0xd4)]!==_0x5efdf2[_0x322395(0xd4)]||_0x1c7b39[_0x322395(0xcf)]!==_0x2d9a68))throw CliErrors[_0x322395(0xa7)](_0x322395(0xc4)+_0x22c6eb);return unlinkSync(_0x22c6eb),symlinkSync(_0x4bed13,_0x22c6eb,_0x322395(0xd5)),{'path':_0x22c6eb,'target':_0x4bed13,'action':'updated'};}return symlinkSync(_0x4bed13,_0x22c6eb,_0x322395(0xd5)),{'path':_0x22c6eb,'target':_0x4bed13,'action':'created'};}function managedTargetSkillLinkPaths(_0x1fdb5f,_0xa633da){const _0x43874c=a150_0x4f07da;if(!existsSync(_0x1fdb5f))return[];const _0xccfe3c=_0xa633da[_0x43874c(0xd4)]+'--';return readdirSync(_0x1fdb5f,{'withFileTypes':!![]})[_0x43874c(0xbb)](_0x28d049=>_0xa633da[_0x43874c(0xb3)]===_0x43874c(0xc3)||_0x28d049[_0x43874c(0xbe)][_0x43874c(0xcd)](_0xccfe3c))[_0x43874c(0xd0)](_0x32b191=>resolve(_0x1fdb5f,_0x32b191[_0x43874c(0xbe)]));}function removeManagedSkillLink(_0x5ce108,_0x169115,_0x17bbf3){const _0x6567e1=a150_0x4f07da,_0x30e504=lstatIfPresent(_0x5ce108);if(!_0x30e504?.[_0x6567e1(0xc1)]())return{'path':_0x5ce108,'action':_0x6567e1(0xd2),'reason':'not-managed-symlink'};const _0x4dbc08=resolveSymlinkTarget(_0x5ce108);if(!isPathInside(realOrResolved(_0x4dbc08),realOrResolved(_0x169115[_0x6567e1(0xd3)])))return{'path':_0x5ce108,'action':_0x6567e1(0xd2),'reason':_0x6567e1(0xb5)};const _0x1757d2=readMetadataIfPresent(resolve(_0x4dbc08,METADATA_FILE));if(_0x169115['scope']==='project'&&(_0x1757d2?.[_0x6567e1(0xd4)]!==_0x169115[_0x6567e1(0xd4)]||_0x1757d2['skillCode']!==_0x17bbf3))return{'path':_0x5ce108,'action':'skipped','reason':'metadata-mismatch'};return unlinkSync(_0x5ce108),{'path':_0x5ce108,'action':_0x6567e1(0xad)};}function isLinkedFromAnyRoot(_0x4c143b,_0x3844a8){const _0x3d744a=a150_0x4f07da,_0x2700ae=realOrResolved(_0x4c143b);for(const _0x3ebb57 of _0x3844a8){if(!existsSync(_0x3ebb57))continue;for(const _0x57da05 of readdirSync(_0x3ebb57,{'withFileTypes':!![]})){if(!_0x57da05[_0x3d744a(0xc1)]())continue;const _0x1de91b=resolve(_0x3ebb57,_0x57da05[_0x3d744a(0xbe)]);if(realOrResolved(resolveSymlinkTarget(_0x1de91b))===_0x2700ae)return!![];}}return![];}function runtimeSkillLinkName(_0x40a54f,_0x4c9fa9){const _0x360500=a150_0x4f07da,_0x13b13b=safePathSegment(_0x4c9fa9,'skillCode');if(_0x40a54f[_0x360500(0xb3)]===_0x360500(0xc3)&&RESERVED_PROJECT_SKILL_CODES['has'](_0x13b13b))throw CliErrors[_0x360500(0xa7)](_0x360500(0xa9)+_0x13b13b);return _0x40a54f[_0x360500(0xb3)]===_0x360500(0xc3)?_0x13b13b:_0x40a54f[_0x360500(0xd4)]+'--'+_0x13b13b;}function runtimeSkillCodeFromLink(_0x203787,_0x986549){const _0x28b482=a150_0x4f07da,_0x34e48a=basename(_0x986549);return _0x203787[_0x28b482(0xb3)]===_0x28b482(0xc3)?_0x34e48a:_0x34e48a[_0x28b482(0xcb)]((_0x203787['appCode']+'--')['length']);}export function copyManagedSkillDirectory(_0xfe4e7e,_0x46dbe3){const _0x5f46ec=a150_0x4f07da,_0x2a50d7=resolve(_0x46dbe3,METADATA_FILE),_0x1d5631=existsSync(_0x46dbe3);if(_0x1d5631){const _0x176223=lstatSync(_0x46dbe3);if(_0x176223[_0x5f46ec(0xc1)]())throw CliErrors[_0x5f46ec(0xa7)](_0x5f46ec(0xc6)+_0x46dbe3);if(!_0x176223[_0x5f46ec(0xd6)]())throw CliErrors[_0x5f46ec(0xa7)]('Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20'+_0x46dbe3);const _0x5e75d6=readMetadataIfPresent(_0x2a50d7);if(_0x5e75d6?.[_0x5f46ec(0xb3)]!==_0x5f46ec(0xb1))throw CliErrors[_0x5f46ec(0xa7)](_0x5f46ec(0xda)+_0x46dbe3);}ensureDirSync(dirname(_0x46dbe3));const _0x15702b=_0x1d5631?readMetadataIfPresent(_0x2a50d7)?.[_0x5f46ec(0xaf)]:undefined,_0x30bcca=readMetadataIfPresent(resolve(_0xfe4e7e,METADATA_FILE))?.['contentHash'];return _0x1d5631&&removeSync(_0x46dbe3),copySkillDirectory(_0xfe4e7e,_0x46dbe3),{'path':_0x46dbe3,'target':_0xfe4e7e,'action':!_0x1d5631?_0x5f46ec(0xce):_0x15702b===_0x30bcca?'unchanged':_0x5f46ec(0xaa)};}function copySkillDirectory(_0x10c86c,_0x467aab){copySync(_0x10c86c,_0x467aab,{'dereference':![],'overwrite':!![],'filter'(_0x3a7003){const _0x146eea=a150_0x32dc;if(lstatSync(_0x3a7003)[_0x146eea(0xc1)]())throw CliErrors[_0x146eea(0xa7)](_0x146eea(0xc0)+_0x3a7003);return!![];}});}
1
+ const a153_0x5c4f35=a153_0xafb7;(function(_0x3c9144,_0x24edc6){const _0x16989e=a153_0xafb7,_0x49f983=_0x3c9144();while(!![]){try{const _0x46a0a7=-parseInt(_0x16989e(0x183))/0x1+-parseInt(_0x16989e(0x174))/0x2*(parseInt(_0x16989e(0x17f))/0x3)+-parseInt(_0x16989e(0x17a))/0x4*(parseInt(_0x16989e(0x169))/0x5)+parseInt(_0x16989e(0x15e))/0x6+-parseInt(_0x16989e(0x16e))/0x7*(-parseInt(_0x16989e(0x16f))/0x8)+parseInt(_0x16989e(0x186))/0x9+-parseInt(_0x16989e(0x162))/0xa*(parseInt(_0x16989e(0x155))/0xb);if(_0x46a0a7===_0x24edc6)break;else _0x49f983['push'](_0x49f983['shift']());}catch(_0x49d730){_0x49f983['push'](_0x49f983['shift']());}}}(a153_0x4230,0x8096a));import{existsSync,lstatSync,mkdirSync,readdirSync,symlinkSync,unlinkSync}from'node:fs';import{basename,dirname,resolve}from'node:path';import a153_0x211ddb 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 a153_0x4230(){const _0x50651b=['created','trim','push','filter','Refusing\x20to\x20overwrite\x20global\x20Skill\x20path:\x20','6134328xHDRuh','removed','skillRoots','Refusing\x20to\x20copy\x20Skill\x20symlink:\x20','20cdNuLG','appCode','linked-from-protected-root','scope','runtime-observe','dir','get','30qzjSpn','length','Refusing\x20to\x20link\x20Skill\x20metadata\x20outside\x20target\x20','builtin','project','7zcqzfc','4724528fkETAz','accessKey','Refusing\x20to\x20overwrite\x20unmanaged\x20path:\x20','skill','metadataPath','316wyPdVu','contentHash','lovrabet','not-managed-symlink','unchanged','name','409588FhERsT','protectedLinkRoots','isSymbolicLink','managedRoot','env','3165wavxVE','metadata-mismatch','skillCode','company','322011amlisz','set','Only\x20builtin\x20Skills\x20can\x20be\x20linked\x20into\x20the\x20global\x20Skill\x20root:\x20','6037119oILWpq','skipped','has','validation','slice','startsWith','external-symlink','Refusing\x20to\x20shadow\x20reserved\x20Agent\x20Skill\x20in\x20project\x20scope:\x20','Refusing\x20to\x20overwrite\x20global\x20Skill\x20symlink:\x20','3596802rgywpl','updated','map','personal'];a153_0x4230=function(){return _0x50651b;};return a153_0x4230();}import{readMetadataIfPresent,requireSkillCode}from'./metadata.js';import{getRuntimeSkillCacheRoot,resolveSkillSyncPaths,safePathSegment}from'./paths.js';const {copySync,ensureDirSync,removeSync}=a153_0x211ddb,RESERVED_PROJECT_SKILL_CODES=new Set([a153_0x5c4f35(0x176),a153_0x5c4f35(0x166),'secret-retriever']);export function linkEffectiveRuntimeSkills(_0xa42c1,_0x5202fa){const _0x5110ed=a153_0x5c4f35,_0x12cad4=new Map();for(const _0x467ef7 of _0xa42c1){const _0x2d97a4=_0x467ef7[_0x5110ed(0x172)]['skillCode'];if(!_0x2d97a4)continue;const _0x278980=_0x12cad4[_0x5110ed(0x168)](_0x2d97a4);(!_0x278980||_0x467ef7[_0x5110ed(0x165)]==='personal')&&_0x12cad4[_0x5110ed(0x184)](_0x2d97a4,_0x467ef7);}const _0x4ff8ee=[];for(const _0x4cc8fc of _0x12cad4['values']()){const _0x2fde3b=requireSkillCode(_0x4cc8fc[_0x5110ed(0x172)]),_0x6bee99=readMetadataIfPresent(_0x4cc8fc[_0x5110ed(0x173)]);if(_0x6bee99?.[_0x5110ed(0x163)]!==_0x5202fa[_0x5110ed(0x163)]||_0x6bee99[_0x5110ed(0x181)]!==_0x2fde3b)throw CliErrors[_0x5110ed(0x189)](_0x5110ed(0x16b)+_0x5202fa[_0x5110ed(0x163)]+':\x20'+_0x4cc8fc['metadataPath']);const _0x243387=runtimeSkillLinkName(_0x5202fa,_0x2fde3b);for(const _0x32a755 of _0x5202fa['skillRoots']){_0x4ff8ee['push'](ensureManagedSymlink(resolve(_0x32a755,_0x243387),_0x4cc8fc[_0x5110ed(0x167)],_0x5202fa,_0x2fde3b));}}return _0x4ff8ee;}function a153_0xafb7(_0x5c2790,_0x15e405){_0x5c2790=_0x5c2790-0x150;const _0x42309f=a153_0x4230();let _0xafb77d=_0x42309f[_0x5c2790];return _0xafb77d;}export function pruneStaleRuntimeSkillLinks(_0x152d9b,_0xf77387,_0x482e30){const _0x5eb8fc=a153_0x5c4f35,_0x57d308=new Set([..._0xf77387][_0x5eb8fc(0x157)](_0x13d56a=>_0x13d56a[_0x5eb8fc(0x15a)]())[_0x5eb8fc(0x15c)](Boolean)),_0xd85c3a=_0x482e30?new Set([..._0x482e30][_0x5eb8fc(0x157)](_0x9ee4d8=>_0x9ee4d8['trim']())[_0x5eb8fc(0x15c)](Boolean)):undefined,_0x2ab1b6=[];for(const _0x4e98b8 of _0x152d9b[_0x5eb8fc(0x160)]){for(const _0x4a9a54 of managedTargetSkillLinkPaths(_0x4e98b8,_0x152d9b)){const _0x1bacc1=runtimeSkillCodeFromLink(_0x152d9b,_0x4a9a54);if(_0xd85c3a&&!_0xd85c3a[_0x5eb8fc(0x188)](_0x1bacc1))continue;if(_0x57d308['has'](_0x1bacc1))continue;_0x2ab1b6[_0x5eb8fc(0x15b)](removeManagedSkillLink(_0x4a9a54,_0x152d9b,_0x1bacc1));}}return _0x2ab1b6;}export function pruneStaleRuntimeSkillCache(_0x46a213,_0x132973={}){const _0x20b833=a153_0x5c4f35,_0x319078=new Set([..._0x46a213['activeSkillCodes']][_0x20b833(0x157)](_0x169ea8=>_0x169ea8[_0x20b833(0x15a)]())[_0x20b833(0x15c)](Boolean)),_0xd9e8d7=_0x46a213['pruneSkillCodes']?new Set([..._0x46a213['pruneSkillCodes']]['map'](_0x4ef440=>_0x4ef440[_0x20b833(0x15a)]())['filter'](Boolean)):undefined,_0x306618=_0x46a213['scopes']??[_0x20b833(0x158),_0x20b833(0x182)],_0x4f2970=resolve(getRuntimeSkillCacheRoot(_0x46a213[_0x20b833(0x17e)],_0x46a213[_0x20b833(0x170)],_0x132973),safePathSegment(_0x46a213[_0x20b833(0x163)],'appCode')),_0x29b8b8=[];for(const _0x2decea of _0x306618){const _0x1097da=resolve(_0x4f2970,_0x2decea);if(!existsSync(_0x1097da))continue;for(const _0x21bebe of readdirSync(_0x1097da,{'withFileTypes':!![]})){if(!_0x21bebe['isDirectory']())continue;const _0x18f007=_0x21bebe[_0x20b833(0x179)];if(_0xd9e8d7&&!_0xd9e8d7[_0x20b833(0x188)](_0x18f007))continue;if(_0x319078[_0x20b833(0x188)](_0x18f007))continue;const _0x1f4d08=resolve(_0x1097da,_0x18f007),_0x30ec4e=readMetadataIfPresent(resolve(_0x1f4d08,METADATA_FILE));if(_0x30ec4e?.[_0x20b833(0x163)]!==_0x46a213['appCode']||_0x30ec4e[_0x20b833(0x165)]!==_0x2decea||_0x30ec4e['skillCode']!==_0x18f007){_0x29b8b8[_0x20b833(0x15b)]({'path':_0x1f4d08,'action':_0x20b833(0x187),'reason':_0x20b833(0x180)});continue;}if(isLinkedFromAnyRoot(_0x1f4d08,_0x46a213[_0x20b833(0x17b)]??[])){_0x29b8b8[_0x20b833(0x15b)]({'path':_0x1f4d08,'action':'skipped','reason':_0x20b833(0x164)});continue;}removeSync(_0x1f4d08),_0x29b8b8[_0x20b833(0x15b)]({'path':_0x1f4d08,'action':_0x20b833(0x15f)});}}return _0x29b8b8;}export function linkGlobalRuntimeSkills(_0x3a83c3,_0x53b78d={}){const _0x5bc40b=a153_0x5c4f35,_0x59c782=resolveSkillSyncPaths(_0x53b78d),_0x3a72f1=[];for(const _0x5ec13f of _0x3a83c3){if(_0x5ec13f['scope']!==_0x5bc40b(0x16c))throw CliErrors[_0x5bc40b(0x189)](_0x5bc40b(0x185)+_0x5ec13f[_0x5bc40b(0x165)]);const _0x10506a=requireSkillCode(_0x5ec13f[_0x5bc40b(0x172)]),_0x5abd4c=copyManagedSkillDirectory(_0x5ec13f[_0x5bc40b(0x167)],resolve(_0x59c782['agentsSkillsDir'],_0x10506a));_0x3a72f1[_0x5bc40b(0x15b)]({..._0x5abd4c,'contentHash':_0x5ec13f[_0x5bc40b(0x175)]});}return _0x3a72f1;}function ensureManagedSymlink(_0x254920,_0x4e5003,_0x2df6b7,_0x35309f){const _0x1980f0=a153_0x5c4f35;mkdirSync(dirname(_0x254920),{'recursive':!![],'mode':0x1c0});if(existsSync(_0x254920)||isDanglingSymlink(_0x254920)){const _0x4636c7=lstatSync(_0x254920);if(!_0x4636c7['isSymbolicLink']())throw CliErrors[_0x1980f0(0x189)](_0x1980f0(0x171)+_0x254920);const _0x21bb36=resolveSymlinkTarget(_0x254920);if(!isPathInside(realOrResolved(_0x21bb36),realOrResolved(_0x2df6b7[_0x1980f0(0x17d)])))throw CliErrors[_0x1980f0(0x189)]('Refusing\x20to\x20overwrite\x20unmanaged\x20symlink:\x20'+_0x254920);if(realOrResolved(_0x21bb36)===realOrResolved(_0x4e5003))return{'path':_0x254920,'target':_0x4e5003,'action':_0x1980f0(0x178)};const _0x19e8d6=readMetadataIfPresent(resolve(_0x21bb36,METADATA_FILE));if(_0x2df6b7[_0x1980f0(0x165)]===_0x1980f0(0x16d)&&(_0x19e8d6?.[_0x1980f0(0x163)]!==_0x2df6b7[_0x1980f0(0x163)]||_0x19e8d6[_0x1980f0(0x181)]!==_0x35309f))throw CliErrors['validation']('Refusing\x20to\x20overwrite\x20managed\x20Skill\x20link\x20owned\x20by\x20another\x20app\x20or\x20code:\x20'+_0x254920);return unlinkSync(_0x254920),symlinkSync(_0x4e5003,_0x254920,'dir'),{'path':_0x254920,'target':_0x4e5003,'action':'updated'};}return symlinkSync(_0x4e5003,_0x254920,_0x1980f0(0x167)),{'path':_0x254920,'target':_0x4e5003,'action':_0x1980f0(0x159)};}function managedTargetSkillLinkPaths(_0x42e37b,_0x153a2e){const _0xf61a85=a153_0x5c4f35;if(!existsSync(_0x42e37b))return[];const _0x14d167=_0x153a2e[_0xf61a85(0x163)]+'--';return readdirSync(_0x42e37b,{'withFileTypes':!![]})[_0xf61a85(0x15c)](_0x4462c1=>_0x153a2e[_0xf61a85(0x165)]===_0xf61a85(0x16d)||_0x4462c1[_0xf61a85(0x179)][_0xf61a85(0x151)](_0x14d167))[_0xf61a85(0x157)](_0x37539f=>resolve(_0x42e37b,_0x37539f[_0xf61a85(0x179)]));}function removeManagedSkillLink(_0x4e39f9,_0x2065f0,_0x29767e){const _0x124bf7=a153_0x5c4f35,_0x3af73f=lstatIfPresent(_0x4e39f9);if(!_0x3af73f?.[_0x124bf7(0x17c)]())return{'path':_0x4e39f9,'action':_0x124bf7(0x187),'reason':_0x124bf7(0x177)};const _0x12ce8b=resolveSymlinkTarget(_0x4e39f9);if(!isPathInside(realOrResolved(_0x12ce8b),realOrResolved(_0x2065f0['managedRoot'])))return{'path':_0x4e39f9,'action':_0x124bf7(0x187),'reason':_0x124bf7(0x152)};const _0x646c92=readMetadataIfPresent(resolve(_0x12ce8b,METADATA_FILE));if(_0x2065f0[_0x124bf7(0x165)]==='project'&&(_0x646c92?.[_0x124bf7(0x163)]!==_0x2065f0[_0x124bf7(0x163)]||_0x646c92[_0x124bf7(0x181)]!==_0x29767e))return{'path':_0x4e39f9,'action':'skipped','reason':_0x124bf7(0x180)};return unlinkSync(_0x4e39f9),{'path':_0x4e39f9,'action':'removed'};}function isLinkedFromAnyRoot(_0x2d60c2,_0x2ff361){const _0x5814d2=a153_0x5c4f35,_0x1ceb81=realOrResolved(_0x2d60c2);for(const _0x4a702b of _0x2ff361){if(!existsSync(_0x4a702b))continue;for(const _0x1950de of readdirSync(_0x4a702b,{'withFileTypes':!![]})){if(!_0x1950de[_0x5814d2(0x17c)]())continue;const _0x3db22a=resolve(_0x4a702b,_0x1950de[_0x5814d2(0x179)]);if(realOrResolved(resolveSymlinkTarget(_0x3db22a))===_0x1ceb81)return!![];}}return![];}function runtimeSkillLinkName(_0x2d83d3,_0xeb6da1){const _0x1ac70f=a153_0x5c4f35,_0x4f177f=safePathSegment(_0xeb6da1,_0x1ac70f(0x181));if(_0x2d83d3[_0x1ac70f(0x165)]===_0x1ac70f(0x16d)&&RESERVED_PROJECT_SKILL_CODES['has'](_0x4f177f))throw CliErrors[_0x1ac70f(0x189)](_0x1ac70f(0x153)+_0x4f177f);return _0x2d83d3['scope']===_0x1ac70f(0x16d)?_0x4f177f:_0x2d83d3[_0x1ac70f(0x163)]+'--'+_0x4f177f;}function runtimeSkillCodeFromLink(_0x24492a,_0x5e6660){const _0xa8976e=a153_0x5c4f35,_0x313d48=basename(_0x5e6660);return _0x24492a[_0xa8976e(0x165)]===_0xa8976e(0x16d)?_0x313d48:_0x313d48[_0xa8976e(0x150)]((_0x24492a['appCode']+'--')[_0xa8976e(0x16a)]);}export function copyManagedSkillDirectory(_0x4ffa54,_0x1a2fe0){const _0x52eb5e=a153_0x5c4f35,_0x9e1c4f=resolve(_0x1a2fe0,METADATA_FILE),_0x20b9ca=existsSync(_0x1a2fe0);if(_0x20b9ca){const _0x312827=lstatSync(_0x1a2fe0);if(_0x312827[_0x52eb5e(0x17c)]())throw CliErrors['validation'](_0x52eb5e(0x154)+_0x1a2fe0);if(!_0x312827['isDirectory']())throw CliErrors[_0x52eb5e(0x189)](_0x52eb5e(0x15d)+_0x1a2fe0);const _0x5ddd27=readMetadataIfPresent(_0x9e1c4f);if(_0x5ddd27?.[_0x52eb5e(0x165)]!==_0x52eb5e(0x16c))throw CliErrors[_0x52eb5e(0x189)]('Refusing\x20to\x20overwrite\x20unmanaged\x20global\x20Skill\x20directory:\x20'+_0x1a2fe0);}ensureDirSync(dirname(_0x1a2fe0));const _0x4de112=_0x20b9ca?readMetadataIfPresent(_0x9e1c4f)?.[_0x52eb5e(0x175)]:undefined,_0x5e5bcf=readMetadataIfPresent(resolve(_0x4ffa54,METADATA_FILE))?.[_0x52eb5e(0x175)];return _0x20b9ca&&removeSync(_0x1a2fe0),copySkillDirectory(_0x4ffa54,_0x1a2fe0),{'path':_0x1a2fe0,'target':_0x4ffa54,'action':!_0x20b9ca?'created':_0x4de112===_0x5e5bcf?_0x52eb5e(0x178):_0x52eb5e(0x156)};}function copySkillDirectory(_0x2b5628,_0x1ae5b9){copySync(_0x2b5628,_0x1ae5b9,{'dereference':![],'overwrite':!![],'filter'(_0x340225){const _0x1d6510=a153_0xafb7;if(lstatSync(_0x340225)[_0x1d6510(0x17c)]())throw CliErrors[_0x1d6510(0x189)](_0x1d6510(0x161)+_0x340225);return!![];}});}