@chongyan/autospec 1.0.2 → 1.0.3

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 (677) hide show
  1. package/LICENSE +242 -21
  2. package/README.md +54 -608
  3. package/dist/README.md +54 -0
  4. package/dist/adapters/claude-code/README.md.enc +6 -0
  5. package/dist/adapters/claude-code/agents.js +1 -0
  6. package/dist/adapters/claude-code/commands.config.js +1 -0
  7. package/dist/adapters/claude-code/commands.js +1 -0
  8. package/dist/adapters/claude-code/hooks.config.js +2 -0
  9. package/dist/adapters/claude-code/hooks.js +1 -0
  10. package/dist/adapters/claude-code/install.js +1 -0
  11. package/dist/adapters/claude-code/skills.js +1 -0
  12. package/dist/adapters/codex/README.md.enc +6 -0
  13. package/dist/adapters/codex/hooks/pre-commit.sh +10 -0
  14. package/dist/adapters/codex/install.js +1 -0
  15. package/dist/adapters/codex/prompts/env-learn.md.enc +6 -0
  16. package/dist/adapters/codex/prompts/review.md.enc +6 -0
  17. package/dist/adapters/codex/wrappers/autospec-cli.sh +118 -0
  18. package/dist/adapters/codex/wrappers/parallel.sh +20 -0
  19. package/dist/adapters/codex/wrappers/post-task.sh +138 -0
  20. package/dist/bin/autospec.js +2 -0
  21. package/dist/knowledge/README.en.md.enc +6 -0
  22. package/dist/knowledge/README.md.enc +6 -0
  23. package/dist/knowledge/change-management.md.enc +6 -0
  24. package/dist/knowledge/cognition-engine.md.enc +6 -0
  25. package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
  26. package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
  27. package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
  28. package/dist/knowledge/config/role-composition.yaml.enc +6 -0
  29. package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
  30. package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
  31. package/dist/knowledge/constitution.md.enc +6 -0
  32. package/dist/knowledge/core-rules.md.enc +6 -0
  33. package/dist/knowledge/environment/adapters/README.md.enc +6 -0
  34. package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
  35. package/dist/knowledge/environment/failure-patterns.json +223 -0
  36. package/dist/knowledge/environment/repair-strategies.json +206 -0
  37. package/dist/knowledge/memory/README.md.enc +6 -0
  38. package/dist/knowledge/memory/field/README.md.enc +6 -0
  39. package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
  40. package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
  41. package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
  42. package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
  43. package/dist/knowledge/pipeline/code.md.enc +6 -0
  44. package/dist/knowledge/pipeline/explore.md.enc +6 -0
  45. package/dist/knowledge/pipeline/plan.md.enc +6 -0
  46. package/dist/knowledge/pipeline/protocol.md.enc +6 -0
  47. package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
  48. package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
  49. package/dist/knowledge/skills/README.md.enc +6 -0
  50. package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
  51. package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
  52. package/dist/knowledge/skills/channel-operations.md.enc +6 -0
  53. package/dist/knowledge/skills/content-operations.md.enc +6 -0
  54. package/dist/knowledge/skills/content-prompts.md.enc +6 -0
  55. package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
  56. package/dist/knowledge/skills/data-operations.md.enc +6 -0
  57. package/dist/knowledge/skills/design-solution.md.enc +6 -0
  58. package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
  59. package/dist/knowledge/skills/implement-code.md.enc +6 -0
  60. package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
  61. package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
  62. package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
  63. package/dist/knowledge/skills/skill-format.md.enc +6 -0
  64. package/dist/knowledge/skills/social-commerce.md.enc +6 -0
  65. package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
  66. package/dist/knowledge/skills/unified-review.md.enc +6 -0
  67. package/dist/knowledge/skills/user-operations.md.enc +6 -0
  68. package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
  69. package/dist/knowledge/templates/smoke-test.md.enc +6 -0
  70. package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
  71. package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
  72. package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
  73. package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
  74. package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
  75. package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
  76. package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
  77. package/dist/knowledge/templates/wiki/content.md.enc +6 -0
  78. package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
  79. package/dist/package.json +62 -0
  80. package/{plugins → dist/plugins}/.claude-plugin/plugin.json +259 -101
  81. package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
  82. package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
  83. package/dist/plugins/agents/roles/ceo.md.enc +6 -0
  84. package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
  85. package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
  86. package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
  87. package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
  88. package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
  89. package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
  90. package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
  91. package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
  92. package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
  93. package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
  94. package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
  95. package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
  96. package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
  97. package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
  98. package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
  99. package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
  100. package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
  101. package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
  102. package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
  103. package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
  104. package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
  105. package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
  106. package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
  107. package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
  108. package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
  109. package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
  110. package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
  111. package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
  112. package/dist/plugins/benchmarks/templates/README.en.md.enc +6 -0
  113. package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
  114. package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
  115. package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
  116. package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
  117. package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
  118. package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
  119. package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
  120. package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
  121. package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
  122. package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
  123. package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
  124. package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
  125. package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
  126. package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
  127. package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
  128. package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
  129. package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
  130. package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
  131. package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
  132. package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
  133. package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
  134. package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
  135. package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
  136. package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
  137. package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
  138. package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
  139. package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
  140. package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
  141. package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
  142. package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
  143. package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
  144. package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
  145. package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
  146. package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
  147. package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
  148. package/dist/plugins/commands/README.en.md.enc +6 -0
  149. package/dist/plugins/commands/README.md.enc +6 -0
  150. package/dist/plugins/commands/automation.md.enc +6 -0
  151. package/dist/plugins/commands/code.md.enc +6 -0
  152. package/dist/plugins/commands/contribute.md.enc +6 -0
  153. package/dist/plugins/commands/dashboard.md.enc +6 -0
  154. package/dist/plugins/commands/env.md.enc +6 -0
  155. package/dist/plugins/commands/explore.md.enc +6 -0
  156. package/dist/plugins/commands/field-evolve.md.enc +6 -0
  157. package/dist/plugins/commands/global.md.enc +6 -0
  158. package/dist/plugins/commands/init.md.enc +6 -0
  159. package/dist/plugins/commands/list.md.enc +6 -0
  160. package/dist/plugins/commands/memory.md.enc +6 -0
  161. package/dist/plugins/commands/monitor.md.enc +6 -0
  162. package/dist/plugins/commands/org.md.enc +6 -0
  163. package/dist/plugins/commands/persist.md.enc +6 -0
  164. package/dist/plugins/commands/plan.md.enc +6 -0
  165. package/dist/plugins/commands/plugin.md.enc +6 -0
  166. package/dist/plugins/commands/project-evolve.md.enc +6 -0
  167. package/dist/plugins/commands/review.md.enc +6 -0
  168. package/dist/plugins/commands/run.md.enc +6 -0
  169. package/dist/plugins/commands/status.md.enc +6 -0
  170. package/dist/plugins/commands/sync.md.enc +6 -0
  171. package/dist/plugins/commands/update.md.enc +6 -0
  172. package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
  173. package/dist/plugins/hooks/README.en.md.enc +6 -0
  174. package/dist/plugins/hooks/README.md.enc +6 -0
  175. package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
  176. package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
  177. package/dist/plugins/hooks/cognitive-sync.js +2 -0
  178. package/dist/plugins/hooks/cognitive-tracker.js +2 -0
  179. package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
  180. package/dist/plugins/hooks/constitution-guard.js +2 -0
  181. package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
  182. package/dist/plugins/hooks/environment-autocommit.js +2 -0
  183. package/dist/plugins/hooks/environment-doctor.js +1 -0
  184. package/dist/plugins/hooks/environment-startup-scan.js +2 -0
  185. package/dist/plugins/hooks/execution-tracker.js +2 -0
  186. package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
  187. package/dist/plugins/hooks/layer1-validator.js +2 -0
  188. package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
  189. package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
  190. package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
  191. package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
  192. package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
  193. package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
  194. package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
  195. package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
  196. package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
  197. package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
  198. package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
  199. package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
  200. package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
  201. package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
  202. package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
  203. package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
  204. package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
  205. package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
  206. package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
  207. package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
  208. package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
  209. package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
  210. package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
  211. package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
  212. package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
  213. package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
  214. package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
  215. package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
  216. package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
  217. package/dist/plugins/hooks/lib/environment-executor.js +1 -0
  218. package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
  219. package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
  220. package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
  221. package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
  222. package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
  223. package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
  224. package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
  225. package/dist/plugins/hooks/lib/environment-planner.js +1 -0
  226. package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
  227. package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
  228. package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
  229. package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
  230. package/dist/plugins/hooks/lib/execution-path.js +1 -0
  231. package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
  232. package/dist/plugins/hooks/lib/external-scanner.js +1 -0
  233. package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
  234. package/dist/plugins/hooks/lib/hook-logger.js +1 -0
  235. package/dist/plugins/hooks/lib/hook-runner.js +2 -0
  236. package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
  237. package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
  238. package/dist/plugins/hooks/lib/memory-manager.js +1 -0
  239. package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
  240. package/dist/plugins/hooks/lib/mount-manager.js +1 -0
  241. package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
  242. package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
  243. package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
  244. package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
  245. package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
  246. package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
  247. package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
  248. package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
  249. package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
  250. package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
  251. package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
  252. package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
  253. package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
  254. package/dist/plugins/hooks/lib/trace-context.js +1 -0
  255. package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
  256. package/dist/plugins/hooks/memory-sync.js +1 -0
  257. package/dist/plugins/hooks/pipeline-observer.js +2 -0
  258. package/dist/plugins/hooks/retry-limit-guard.js +2 -0
  259. package/dist/plugins/hooks/scope-sentinel.js +2 -0
  260. package/dist/plugins/hooks/secret-scanner.js +2 -0
  261. package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
  262. package/dist/plugins/hooks/trace-initialization.js +2 -0
  263. package/dist/plugins/hooks/version-checker.js +2 -0
  264. package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
  265. package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
  266. package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
  267. package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
  268. package/dist/plugins/skills/README.en.md.enc +6 -0
  269. package/dist/plugins/skills/README.md.enc +6 -0
  270. package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
  271. package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
  272. package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
  273. package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
  274. package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
  275. package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
  276. package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
  277. package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
  278. package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
  279. package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
  280. package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
  281. package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
  282. package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
  283. package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
  284. package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
  285. package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
  286. package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
  287. package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
  288. package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
  289. package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
  290. package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
  291. package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
  292. package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
  293. package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
  294. package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
  295. package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
  296. package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
  297. package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
  298. package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
  299. package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
  300. package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
  301. package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
  302. package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
  303. package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
  304. package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
  305. package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
  306. package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
  307. package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
  308. package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
  309. package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
  310. package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
  311. package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
  312. package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
  313. package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
  314. package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
  315. package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
  316. package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
  317. package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
  318. package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
  319. package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
  320. package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
  321. package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
  322. package/dist/scripts/build-crypto.js +2 -0
  323. package/dist/scripts/cli/contribute.js +1 -0
  324. package/dist/scripts/cli/dashboard.js +1 -0
  325. package/dist/scripts/cli/env.js +1 -0
  326. package/dist/scripts/cli/global-init.js +1 -0
  327. package/dist/scripts/cli/global.js +1 -0
  328. package/dist/scripts/cli/index.js +1 -0
  329. package/dist/scripts/cli/init.js +1 -0
  330. package/dist/scripts/cli/list.js +1 -0
  331. package/dist/scripts/cli/memory.js +1 -0
  332. package/dist/scripts/cli/org.js +1 -0
  333. package/dist/scripts/cli/plugin.js +1 -0
  334. package/dist/scripts/cli/practice-report.js +1 -0
  335. package/dist/scripts/cli/runtime-governance.js +1 -0
  336. package/dist/scripts/cli/system.js +1 -0
  337. package/dist/scripts/cli/update.js +1 -0
  338. package/dist/scripts/commands/catalog.js +1 -0
  339. package/dist/scripts/commands/slash-command-docs.js +1 -0
  340. package/dist/scripts/config/external-mounts.config.js +2 -0
  341. package/dist/scripts/heartbeat/check.js +2 -0
  342. package/dist/scripts/heartbeat/setup-cron.js +2 -0
  343. package/dist/scripts/install/adapters.js +1 -0
  344. package/dist/scripts/install/constants.js +1 -0
  345. package/dist/scripts/install/file-reader.js +1 -0
  346. package/dist/scripts/install/index.js +1 -0
  347. package/dist/scripts/install/shards/constants-shard.js +1 -0
  348. package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
  349. package/dist/scripts/install/shards/error-messages-shard.js +1 -0
  350. package/dist/scripts/install/shards/reassemble.js +1 -0
  351. package/dist/scripts/install/shards/utils-shard.js +1 -0
  352. package/dist/scripts/install/shards/version-info-shard.js +1 -0
  353. package/dist/scripts/postinstall.js +1 -0
  354. package/dist/scripts/state.js +1 -0
  355. package/package.json +21 -12
  356. package/README.en.md +0 -598
  357. package/bin/autospec.js +0 -3
  358. package/knowledge/01-principles/00-principles-hierarchy.md +0 -247
  359. package/knowledge/01-principles/01-first-principles.md +0 -241
  360. package/knowledge/01-principles/02-strategic-principles.md +0 -286
  361. package/knowledge/01-principles/03-tactical-principles.md +0 -385
  362. package/knowledge/01-principles/04-operational-principles.md +0 -275
  363. package/knowledge/01-principles/05-domain-principles.md +0 -539
  364. package/knowledge/01-principles/06-methodology-principles.md +0 -281
  365. package/knowledge/01-principles/07-cognitive-principles.md +0 -277
  366. package/knowledge/01-principles/08-auto-fix-principles.md +0 -320
  367. package/knowledge/01-principles/09-constitution.md +0 -220
  368. package/knowledge/01-principles/10-evolution-mechanism.md +0 -699
  369. package/knowledge/01-principles/README.en.md +0 -385
  370. package/knowledge/01-principles/README.md +0 -385
  371. package/knowledge/02-process/00-overview.md +0 -404
  372. package/knowledge/02-process/01-requirement.md +0 -113
  373. package/knowledge/02-process/02-design.md +0 -123
  374. package/knowledge/02-process/03-implementation.md +0 -90
  375. package/knowledge/02-process/04-review.md +0 -80
  376. package/knowledge/02-process/05-testing.md +0 -90
  377. package/knowledge/02-process/06-delivery.md +0 -88
  378. package/knowledge/02-process/README.en.md +0 -143
  379. package/knowledge/02-process/README.md +0 -186
  380. package/knowledge/03-guides/00-pipeline-protocol.md +0 -438
  381. package/knowledge/03-guides/01-team-orchestrator.md +0 -368
  382. package/knowledge/03-guides/02-analyze-requirement.md +0 -195
  383. package/knowledge/03-guides/03-design-solution.md +0 -401
  384. package/knowledge/03-guides/04-implement-code.md +0 -205
  385. package/knowledge/03-guides/05-plan-testing.md +0 -183
  386. package/knowledge/03-guides/06-generate-tests.md +0 -241
  387. package/knowledge/03-guides/07-check-release.md +0 -205
  388. package/knowledge/03-guides/08-evaluate-ai-effect.md +0 -100
  389. package/knowledge/03-guides/09-review-requirement.md +0 -83
  390. package/knowledge/03-guides/10-review-design.md +0 -83
  391. package/knowledge/03-guides/11-review-code.md +0 -111
  392. package/knowledge/03-guides/12-review-testing.md +0 -76
  393. package/knowledge/03-guides/13-audit-security.md +0 -89
  394. package/knowledge/03-guides/14-check-consistency.md +0 -177
  395. package/knowledge/03-guides/15-run-unit-tests.md +0 -83
  396. package/knowledge/03-guides/16-run-integration-tests.md +0 -105
  397. package/knowledge/03-guides/17-analyze-test-context.md +0 -250
  398. package/knowledge/03-guides/18-log-practice.md +0 -359
  399. package/knowledge/03-guides/19-distill-skill.md +0 -91
  400. package/knowledge/03-guides/20-update-skill.md +0 -45
  401. package/knowledge/03-guides/21-validate-skill.md +0 -72
  402. package/knowledge/03-guides/22-extract-methodology.md +0 -55
  403. package/knowledge/03-guides/23-infer-scope.md +0 -174
  404. package/knowledge/03-guides/24-assess-complexity.md +0 -270
  405. package/knowledge/03-guides/25-discover-component.md +0 -183
  406. package/knowledge/03-guides/26-analyze-tech-stack.md +0 -139
  407. package/knowledge/03-guides/27-scan-environment.md +0 -207
  408. package/knowledge/03-guides/28-validate-environment.md +0 -207
  409. package/knowledge/03-guides/29-generate-knowledge.md +0 -234
  410. package/knowledge/03-guides/30-analyze-ai-capability.md +0 -193
  411. package/knowledge/03-guides/31-analyze-ai-component.md +0 -169
  412. package/knowledge/03-guides/32-analyze-ai-agent.md +0 -362
  413. package/knowledge/03-guides/33-analyze-ai-rag.md +0 -339
  414. package/knowledge/03-guides/34-assess-ai-task.md +0 -418
  415. package/knowledge/03-guides/35-evaluate-ai-pipeline.md +0 -219
  416. package/knowledge/03-guides/36-evaluate-ai-artifact.md +0 -192
  417. package/knowledge/03-guides/37-plan-ai-evaluation.md +0 -374
  418. package/knowledge/03-guides/38-evaluate-ai-path.md +0 -274
  419. package/knowledge/03-guides/39-validate-ai-data.md +0 -276
  420. package/knowledge/03-guides/40-detect-ai-anomaly.md +0 -213
  421. package/knowledge/03-guides/41-diagnose-ai-test.md +0 -133
  422. package/knowledge/03-guides/42-apply-ddd.md +0 -345
  423. package/knowledge/03-guides/43-run-ai-sdlc.md +0 -475
  424. package/knowledge/03-guides/44-manage-knowledge.md +0 -369
  425. package/knowledge/03-guides/45-test-runner.md +0 -254
  426. package/knowledge/03-guides/README.en.md +0 -212
  427. package/knowledge/03-guides/README.md +0 -212
  428. package/knowledge/04-checklists/00-requirement.md +0 -169
  429. package/knowledge/04-checklists/01-design.md +0 -196
  430. package/knowledge/04-checklists/02-code.md +0 -197
  431. package/knowledge/04-checklists/03-test.md +0 -46
  432. package/knowledge/04-checklists/04-release.md +0 -70
  433. package/knowledge/04-checklists/README.en.md +0 -119
  434. package/knowledge/04-checklists/README.md +0 -123
  435. package/knowledge/05-config/00-validation-patterns.yaml +0 -137
  436. package/knowledge/05-config/01-team-stage.yaml +0 -95
  437. package/knowledge/05-config/02-team-tasks.yaml +0 -139
  438. package/knowledge/05-config/03-role-composition.yaml +0 -346
  439. package/knowledge/05-config/04-role-extensions.yaml +0 -140
  440. package/knowledge/05-config/05-skill-compositions.yaml +0 -142
  441. package/knowledge/05-config/README.en.md +0 -54
  442. package/knowledge/05-config/README.md +0 -132
  443. package/knowledge/06-environment/00-template-registry.md +0 -310
  444. package/knowledge/06-environment/01-detection-patterns.yaml +0 -1692
  445. package/knowledge/06-environment/README.en.md +0 -40
  446. package/knowledge/06-environment/README.md +0 -128
  447. package/knowledge/07-standards/00-coding-style.md +0 -1059
  448. package/knowledge/07-standards/01-code-review.md +0 -876
  449. package/knowledge/07-standards/02-data-consistency.md +0 -1085
  450. package/knowledge/07-standards/03-document-versioning.md +0 -210
  451. package/knowledge/07-standards/04-risk-detection.md +0 -186
  452. package/knowledge/07-standards/README.en.md +0 -119
  453. package/knowledge/07-standards/README.md +0 -123
  454. package/knowledge/08-organization/00-vision-mission.md +0 -113
  455. package/knowledge/08-organization/01-ai-native-culture.md +0 -318
  456. package/knowledge/08-organization/02-team-metrics.md +0 -228
  457. package/knowledge/08-organization/03-committee-structure.md +0 -54
  458. package/knowledge/08-organization/04-governance-metrics.md +0 -55
  459. package/knowledge/08-organization/05-improvement-process.md +0 -71
  460. package/knowledge/08-organization/README.en.md +0 -165
  461. package/knowledge/08-organization/README.md +0 -165
  462. package/knowledge/09-templates/00-requirement-proposal.md +0 -344
  463. package/knowledge/09-templates/01-architecture-design.md +0 -494
  464. package/knowledge/09-templates/02-api-design.md +0 -408
  465. package/knowledge/09-templates/03-database-design.md +0 -313
  466. package/knowledge/09-templates/04-product-design.md +0 -237
  467. package/knowledge/09-templates/05-domain-business.md +0 -388
  468. package/knowledge/09-templates/06-test-design.md +0 -268
  469. package/knowledge/09-templates/07-evaluation-design.md +0 -372
  470. package/knowledge/09-templates/08-component-knowledge.md +0 -272
  471. package/knowledge/09-templates/09-best-practices.md +0 -218
  472. package/knowledge/09-templates/10-middleware-knowledge.md +0 -342
  473. package/knowledge/09-templates/README.en.md +0 -222
  474. package/knowledge/09-templates/README.md +0 -216
  475. package/knowledge/README.en.md +0 -372
  476. package/knowledge/README.md +0 -399
  477. package/plugins/agents/roles/ai-engineer.md +0 -129
  478. package/plugins/agents/roles/backend-engineer.md +0 -165
  479. package/plugins/agents/roles/ceo.md +0 -94
  480. package/plugins/agents/roles/data-engineer.md +0 -135
  481. package/plugins/agents/roles/devops-engineer.md +0 -181
  482. package/plugins/agents/roles/frontend-engineer.md +0 -129
  483. package/plugins/agents/roles/product-owner.md +0 -98
  484. package/plugins/agents/roles/quality-engineer.md +0 -129
  485. package/plugins/agents/roles/security-engineer.md +0 -180
  486. package/plugins/agents/roles/tech-lead.md +0 -97
  487. package/plugins/agents/support/blind-comparator.md +0 -88
  488. package/plugins/agents/support/consistency-checker.md +0 -136
  489. package/plugins/agents/support/failure-diagnostician.md +0 -141
  490. package/plugins/agents/support/independent-reviewer.md +0 -80
  491. package/plugins/agents/support/monitoring-agent.md +0 -215
  492. package/plugins/agents/support/safety-auditor.md +0 -121
  493. package/plugins/agents/support/skill-benchmarker.md +0 -86
  494. package/plugins/agents/support/skill-forger.md +0 -105
  495. package/plugins/agents/support/stage-gate-evaluator.md +0 -205
  496. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  497. package/plugins/benchmarks/templates/README.md +0 -196
  498. package/plugins/benchmarks/templates/commands/apply-template.yaml +0 -108
  499. package/plugins/benchmarks/templates/commands/archive-template.yaml +0 -65
  500. package/plugins/benchmarks/templates/commands/env-export-template.yaml +0 -64
  501. package/plugins/benchmarks/templates/commands/env-sync-template.yaml +0 -104
  502. package/plugins/benchmarks/templates/commands/env-template-template.yaml +0 -96
  503. package/plugins/benchmarks/templates/commands/env-template.yaml +0 -58
  504. package/plugins/benchmarks/templates/commands/env-update-template.yaml +0 -110
  505. package/plugins/benchmarks/templates/commands/env-validate-template.yaml +0 -95
  506. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  507. package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +0 -104
  508. package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +0 -104
  509. package/plugins/benchmarks/templates/commands/propose-template.yaml +0 -88
  510. package/plugins/benchmarks/templates/commands/review-template.yaml +0 -124
  511. package/plugins/benchmarks/templates/commands/run-template.yaml +0 -127
  512. package/plugins/benchmarks/templates/commands/test-template.yaml +0 -149
  513. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  514. package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +0 -92
  515. package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +0 -81
  516. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  517. package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +0 -78
  518. package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +0 -114
  519. package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +0 -52
  520. package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +0 -130
  521. package/plugins/benchmarks/templates/skills/design-stage-template.yaml +0 -131
  522. package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +0 -60
  523. package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +0 -114
  524. package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +0 -51
  525. package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +0 -34
  526. package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +0 -50
  527. package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +0 -52
  528. package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +0 -33
  529. package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +0 -74
  530. package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +0 -71
  531. package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +0 -51
  532. package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +0 -54
  533. package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +0 -127
  534. package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +0 -121
  535. package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +0 -51
  536. package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +0 -52
  537. package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +0 -34
  538. package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +0 -50
  539. package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +0 -50
  540. package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +0 -75
  541. package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +0 -72
  542. package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +0 -51
  543. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  544. package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +0 -117
  545. package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +0 -103
  546. package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +0 -146
  547. package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +0 -55
  548. package/plugins/commands/README.en.md +0 -96
  549. package/plugins/commands/README.md +0 -96
  550. package/plugins/commands/apply.md +0 -277
  551. package/plugins/commands/archive.md +0 -132
  552. package/plugins/commands/env-export.md +0 -79
  553. package/plugins/commands/env-sync.md +0 -1281
  554. package/plugins/commands/env-template.md +0 -99
  555. package/plugins/commands/env-update.md +0 -264
  556. package/plugins/commands/env-validate.md +0 -176
  557. package/plugins/commands/env.md +0 -79
  558. package/plugins/commands/explore.md +0 -193
  559. package/plugins/commands/field-evolve.md +0 -412
  560. package/plugins/commands/memory.md +0 -249
  561. package/plugins/commands/project-evolve.md +0 -920
  562. package/plugins/commands/propose.md +0 -184
  563. package/plugins/commands/review.md +0 -140
  564. package/plugins/commands/run.md +0 -1052
  565. package/plugins/commands/status.md +0 -183
  566. package/plugins/commands/test.md +0 -389
  567. package/plugins/hooks/README.en.md +0 -56
  568. package/plugins/hooks/README.md +0 -56
  569. package/plugins/hooks/ai-project-guard.js +0 -329
  570. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  571. package/plugins/hooks/constitution-guard.js +0 -211
  572. package/plugins/hooks/environment-autocommit.js +0 -606
  573. package/plugins/hooks/environment-manager.js +0 -779
  574. package/plugins/hooks/execution-tracker.js +0 -459
  575. package/plugins/hooks/frozen-zone-guard.js +0 -140
  576. package/plugins/hooks/layer1-validator.js +0 -539
  577. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  578. package/plugins/hooks/lib/auto-fix-loop.js +0 -605
  579. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  580. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  581. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  582. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  583. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  584. package/plugins/hooks/lib/directory-discovery.js +0 -395
  585. package/plugins/hooks/lib/environment-config-loader.js +0 -345
  586. package/plugins/hooks/lib/environment-detector.js +0 -553
  587. package/plugins/hooks/lib/environment-evolver.js +0 -564
  588. package/plugins/hooks/lib/environment-registry.js +0 -813
  589. package/plugins/hooks/lib/execution-path.js +0 -427
  590. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  591. package/plugins/hooks/lib/hook-logger.js +0 -538
  592. package/plugins/hooks/lib/hook-runner.js +0 -97
  593. package/plugins/hooks/lib/hook-state-manager.js +0 -578
  594. package/plugins/hooks/lib/memory-extractor.js +0 -399
  595. package/plugins/hooks/lib/memory-manager.js +0 -673
  596. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  597. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  598. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  599. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  600. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  601. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  602. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  603. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  604. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  605. package/plugins/hooks/lib/test-auto-fix.test.js +0 -194
  606. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  607. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  608. package/plugins/hooks/lib/trace-context.js +0 -277
  609. package/plugins/hooks/lib/validation-patterns.js +0 -415
  610. package/plugins/hooks/memory-sync.js +0 -171
  611. package/plugins/hooks/monitoring-trigger.js +0 -467
  612. package/plugins/hooks/pipeline-observer.js +0 -413
  613. package/plugins/hooks/scope-sentinel.js +0 -204
  614. package/plugins/hooks/trace-initialization.js +0 -169
  615. package/plugins/memory/templates/code-quality.yaml +0 -149
  616. package/plugins/memory/templates/multi-system.yaml +0 -155
  617. package/plugins/memory/templates/team-habits.yaml +0 -119
  618. package/plugins/memory/templates/testing.yaml +0 -121
  619. package/plugins/skills/README.en.md +0 -59
  620. package/plugins/skills/README.md +0 -114
  621. package/plugins/skills/agile-iteration/SKILL.md +0 -187
  622. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  623. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  624. package/plugins/skills/delivery-stage/SKILL.md +0 -324
  625. package/plugins/skills/design-stage/SKILL.md +0 -307
  626. package/plugins/skills/experiment-evaluator/SKILL.md +0 -271
  627. package/plugins/skills/experiment-iteration/SKILL.md +0 -154
  628. package/plugins/skills/exploration-phase/SKILL.md +0 -216
  629. package/plugins/skills/field-evolve-analyzer/SKILL.md +0 -65
  630. package/plugins/skills/field-evolve-distiller/SKILL.md +0 -66
  631. package/plugins/skills/field-evolve-executor/SKILL.md +0 -94
  632. package/plugins/skills/field-evolve-executor/executor.js +0 -342
  633. package/plugins/skills/field-evolve-fixer/SKILL.md +0 -69
  634. package/plugins/skills/field-evolve-learner/SKILL.md +0 -65
  635. package/plugins/skills/field-evolve-scanner/SKILL.md +0 -87
  636. package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +0 -288
  637. package/plugins/skills/field-evolve-verifier/SKILL.md +0 -64
  638. package/plugins/skills/hotfix-iteration/SKILL.md +0 -279
  639. package/plugins/skills/implementation-stage/SKILL.md +0 -320
  640. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  641. package/plugins/skills/pending-dashboard/SKILL.md +0 -110
  642. package/plugins/skills/project-evolve-analyzer/SKILL.md +0 -95
  643. package/plugins/skills/project-evolve-fixer/SKILL.md +0 -99
  644. package/plugins/skills/project-evolve-generator/SKILL.md +0 -149
  645. package/plugins/skills/project-evolve-learner/SKILL.md +0 -103
  646. package/plugins/skills/project-evolve-reviewer/SKILL.md +0 -104
  647. package/plugins/skills/project-evolve-scanner/SKILL.md +0 -95
  648. package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +0 -395
  649. package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +0 -315
  650. package/plugins/skills/project-evolve-verifier/SKILL.md +0 -105
  651. package/plugins/skills/requirement-stage/SKILL.md +0 -217
  652. package/plugins/skills/skill-forge/SKILL.md +0 -223
  653. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  654. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  655. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  656. package/plugins/skills/startup-guard/SKILL.md +0 -38
  657. package/plugins/skills/testing-stage/SKILL.md +0 -770
  658. package/plugins/skills/waterfall-iteration/SKILL.md +0 -115
  659. package/scripts/cli/global-init.js +0 -288
  660. package/scripts/cli/global.js +0 -324
  661. package/scripts/cli/index.js +0 -55
  662. package/scripts/cli/init.js +0 -408
  663. package/scripts/cli/list.js +0 -70
  664. package/scripts/cli/org.js +0 -340
  665. package/scripts/cli/update.js +0 -44
  666. package/scripts/config/commands.config.js +0 -145
  667. package/scripts/config/hooks.config.js +0 -197
  668. package/scripts/install/agents.js +0 -106
  669. package/scripts/install/commands.js +0 -133
  670. package/scripts/install/constants.js +0 -463
  671. package/scripts/install/hook-logger.js +0 -536
  672. package/scripts/install/hooks.js +0 -110
  673. package/scripts/install/index.js +0 -39
  674. package/scripts/install/skills.js +0 -95
  675. package/scripts/postinstall.js +0 -25
  676. package/scripts/state.js +0 -585
  677. /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "encryptedData": "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",
3
+ "encryptedAesKey": "WWi6IIe49ntV84OfyMkwaXb8LJrwwkgIviCnWkHFcso/C3W9P0tKVgtn8F2M8Jalk7d7s5LsHJLBJ66kHf2JO+DIOygZ4uW/6IZqTUM5LQk49jkOvUo3k1lG55Jh9FQI7UiQX0GbHJURmYyEf43DhJapLoy7+iyokQ9ymXaVqyD0t6DNr0SG+3DLtJwU5wz87CtDHlU7XPUoBBgjkR1hdZMsHIMqMR9xs2JUKxu+8imfMRo2HY9TNhczI2irnBzbpcxwdKmMTzMS8h1pDpCEgGIjJ2mPFNJUlLO9Jo/7nBj1i+8l5A3cut0BirGpTA1cfteXK9mXo70VWERi+bw3eKua8H0O1+y6YAlq8gWr+UFXsGRFcK3Bh/0MyEl/7Yt6TJEpePi7o2/S92wHunXcpwrUNp4N5t6R5c4fDgHI+BPvs3UlWEhAIptV0BWbWbGQvtQH66j81pVO43c53A7HzZ0bi/dFWGaZ9kVafGXVqk3/hQ+swO9pLv38tgMGnjNNH3H7AxGZb47VCo7ulR14Q4r/RbWehh5cI28h5Zncb6tAaWh7f8E64u8affa/99mfUVe2hWfFRfJdJmGlvEyDle13NJOUpZaUgejWTId0Ek9vm8Nt97haQeiQzBwgiWf24NU+FPwNeFJjwI4sNBfcT/Jjcz1MNjbvtQ5dQWCsnaQ=",
4
+ "iv": "wLXFs3msZdDli2Vi8O0ndQ==",
5
+ "authTag": "wq4uHCYqQ3dvB7FoanXGAA=="
6
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ (function(_0x59b70c,_0x33c36a){const _0x59d797={_0x41d02e:0x1e8,_0x3358f5:0x1eb,_0x154122:0x1df,_0x48278b:0x1c2,_0x284292:0x1d2,_0x4f3c1e:0x1e5,_0x3ca276:0x1d4,_0x457f9b:0x1c9,_0x5ec70d:0x1b5},_0x44ef0a=_0x191e,_0x35f90d=_0x59b70c();while(!![]){try{const _0x4ab287=-parseInt(_0x44ef0a(_0x59d797._0x41d02e))/0x1+-parseInt(_0x44ef0a(_0x59d797._0x3358f5))/0x2*(-parseInt(_0x44ef0a(_0x59d797._0x154122))/0x3)+-parseInt(_0x44ef0a(0x1e1))/0x4+parseInt(_0x44ef0a(_0x59d797._0x48278b))/0x5*(parseInt(_0x44ef0a(_0x59d797._0x284292))/0x6)+parseInt(_0x44ef0a(_0x59d797._0x4f3c1e))/0x7+-parseInt(_0x44ef0a(_0x59d797._0x3ca276))/0x8*(-parseInt(_0x44ef0a(0x1e9))/0x9)+-parseInt(_0x44ef0a(_0x59d797._0x457f9b))/0xa*(parseInt(_0x44ef0a(_0x59d797._0x5ec70d))/0xb);if(_0x4ab287===_0x33c36a)break;else _0x35f90d['push'](_0x35f90d['shift']());}catch(_0x42a32d){_0x35f90d['push'](_0x35f90d['shift']());}}}(_0x1c87,0x43137));import{createHookLogger as _0x2fae08,safeJsonParse as _0x4f2354,handleHookError as _0x5bad38,readStdin as _0x4c5388,findProjectRootAsync as _0x45868f,fileExists as _0x258eda}from'./lib/hook-logger.js';import'./lib/hook-error-recorder.js';function _0x191e(_0x5b0068,_0x2b3e9){_0x5b0068=_0x5b0068-0x1b4;const _0x1c87a9=_0x1c87();let _0x191eaa=_0x1c87a9[_0x5b0068];if(_0x191e['dqQhbf']===undefined){var _0x31dfd5=function(_0x226ff6){const _0x24a812='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x666a05='',_0x1d1838='';for(let _0x1042b9=0x0,_0x7e3069,_0x38c2c8,_0x53cd19=0x0;_0x38c2c8=_0x226ff6['charAt'](_0x53cd19++);~_0x38c2c8&&(_0x7e3069=_0x1042b9%0x4?_0x7e3069*0x40+_0x38c2c8:_0x38c2c8,_0x1042b9++%0x4)?_0x666a05+=String['fromCharCode'](0xff&_0x7e3069>>(-0x2*_0x1042b9&0x6)):0x0){_0x38c2c8=_0x24a812['indexOf'](_0x38c2c8);}for(let _0x38662b=0x0,_0x4e2792=_0x666a05['length'];_0x38662b<_0x4e2792;_0x38662b++){_0x1d1838+='%'+('00'+_0x666a05['charCodeAt'](_0x38662b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d1838);};_0x191e['mriNMc']=_0x31dfd5,_0x191e['EMnnDi']={},_0x191e['dqQhbf']=!![];}const _0x1f90d0=_0x1c87a9[0x0],_0x1a880f=_0x5b0068+_0x1f90d0,_0x2520f9=_0x191e['EMnnDi'][_0x1a880f];return!_0x2520f9?(_0x191eaa=_0x191e['mriNMc'](_0x191eaa),_0x191e['EMnnDi'][_0x1a880f]=_0x191eaa):_0x191eaa=_0x2520f9,_0x191eaa;}import{getMetrics as _0x59b2dc,updateMetrics as _0x245098}from'./lib/hook-state-manager.js';import{getTraceId as _0x504a7d,recordEvent as _0x40e1a7}from'./lib/trace-context.js';import{recordGate as _0xb3745b}from'./lib/execution-path.js';const s=_0x2fae08('constitution-guard'),j=[/\.(js|ts|jsx|tsx|py|java|go|rs|cpp|c|h|php|rb|swift|kt|scala)$/i,/package\.json$/,/pom\.xml$/,/build\.gradle$/,/go\.mod$/,/Cargo\.toml$/,/requirements\.txt$/,/pyproject\.toml$/];async function P(){const _0x273b30={_0x28df5b:0x1ca,_0x165f6d:0x1c3,_0x515e4a:0x1b8,_0x35d193:0x1d6,_0x10870a:0x1c1,_0x27f261:0x1ea,_0x381936:0x1c8,_0x470a29:0x1e7,_0x253952:0x1e2,_0x133c1b:0x1c6,_0x6e4d16:0x1b9,_0x1e3528:0x1e0,_0x238c3e:0x1c4,_0x581481:0x1e4,_0x17397f:0x1d9,_0x487895:0x1da,_0x44ea94:0x1ef,_0x44dc31:0x1ee},_0x41473b=_0x191e,_0x177b4b={'rPfsv':function(_0x38a6a8,_0x3f53b7,_0x15a861,_0x52be6f){return _0x38a6a8(_0x3f53b7,_0x15a861,_0x52be6f);},'ruhqI':'Failed\x20to\x20parse\x20input','DdyOZ':'.autospec','zNPor':_0x41473b(0x1c7),'iyLHu':function(_0x2dbfff,_0x1f3c66){return _0x2dbfff(_0x1f3c66);},'xfFmU':'PreToolUse','WBjGf':_0x41473b(0x1c0),'bLTCO':function(_0x3b330e,_0x2147db){return _0x3b330e||_0x2147db;},'Vjyws':_0x41473b(_0x273b30._0x28df5b),'GyjgO':_0x41473b(_0x273b30._0x165f6d)};let _0x31dad5;try{const _0xaba7fe=await _0x4c5388(0x3e8);_0x31dad5=_0x177b4b['rPfsv'](_0x4f2354,_0xaba7fe,null,_0x41473b(_0x273b30._0x515e4a)),_0x31dad5||(s['debug'](_0x41473b(0x1bd)),process['exit'](0x0));}catch(_0x43fdda){s['error'](_0x177b4b[_0x41473b(0x1b4)],{'error':_0x43fdda[_0x41473b(0x1b7)]}),process[_0x41473b(0x1ee)](0x0);}const _0xa3bdf5=_0x31dad5['tool_name'];_0xa3bdf5!=='Write'&&_0xa3bdf5!==_0x41473b(_0x273b30._0x35d193)&&(s['debug'](_0x41473b(_0x273b30._0x10870a),{'toolName':_0xa3bdf5}),process['exit'](0x0));const _0x3af442=await import('fs'),_0x2ec462=await import(_0x41473b(_0x273b30._0x27f261)),_0x1ef328=_0x31dad5[_0x41473b(_0x273b30._0x381936)]||process[_0x41473b(0x1c8)](),_0x134a35=await _0x45868f(_0x1ef328);_0x134a35||(s['debug'](_0x41473b(0x1bb)),process['exit'](0x0));const _0x5501fc=(_0x31dad5['tool_input']?.[_0x41473b(_0x273b30._0x470a29)]||'')[_0x41473b(_0x273b30._0x253952)](/\\/g,'/');j[_0x41473b(_0x273b30._0x133c1b)](_0x50893b=>_0x50893b['test'](_0x5501fc))||(s['debug']('Not\x20a\x20development\x20file,\x20skipping',{'filePath':_0x5501fc}),process['exit'](0x0)),s[_0x41473b(0x1ed)]('Development\x20file\x20detected',{'filePath':_0x5501fc});const _0x4b15fe=_0x2ec462[_0x41473b(0x1c5)](_0x134a35,_0x177b4b[_0x41473b(_0x273b30._0x6e4d16)],_0x177b4b[_0x41473b(0x1d7)]);if(!await _0x177b4b[_0x41473b(_0x273b30._0x1e3528)](_0x258eda,_0x4b15fe)){s['info']('No\x20state.json\x20found\x20-\x20startup\x20gate\x20may\x20not\x20have\x20been\x20followed');const _0x37f623={'hookSpecificOutput':{'hookEventName':_0x177b4b[_0x41473b(0x1d3)],'additionalContext':_0x41473b(_0x273b30._0x238c3e)}};process[_0x41473b(_0x273b30._0x581481)]['write'](JSON[_0x41473b(0x1cc)](_0x37f623)),process[_0x41473b(0x1ee)](0x0);}try{const _0x1f43c8=await _0x3af442['promises'][_0x41473b(_0x273b30._0x17397f)](_0x4b15fe,_0x177b4b[_0x41473b(0x1d8)]),_0x54a3fe=_0x177b4b['rPfsv'](_0x4f2354,_0x1f43c8,null,'state.json');_0x54a3fe||(s['debug'](_0x41473b(0x1dd)),process[_0x41473b(0x1ee)](0x0));const _0x7415fe=_0x54a3fe[_0x41473b(_0x273b30._0x487895)]&&Object['values'](_0x54a3fe['stages'])['some'](_0xf20e8e=>_0xf20e8e['layer1Results']||_0xf20e8e[_0x41473b(0x1cf)]),_0x5cfc45=_0x54a3fe[_0x41473b(0x1e6)]&&_0x54a3fe['metadata']['constitutionRead'];s['debug']('State\x20check\x20complete',{'hasExecutionRecord':_0x7415fe,'hasConstitutionRead':_0x5cfc45});const _0x1a63a0=_0x177b4b['bLTCO'](_0x7415fe,_0x5cfc45);T(_0x134a35,_0x177b4b[_0x41473b(0x1de)],_0x1a63a0,_0x1a63a0?null:'缺少执行记录'),!_0x7415fe&&!_0x5cfc45&&s[_0x41473b(_0x273b30._0x44ea94)](_0x41473b(0x1b6)),process[_0x41473b(0x1ee)](0x0);}catch(_0x26d6c4){s['debug'](_0x177b4b['GyjgO'],{'error':_0x26d6c4[_0x41473b(0x1b7)]}),process[_0x41473b(_0x273b30._0x44dc31)](0x0);}}P()['catch'](_0x4beee9=>{const _0xd8c1f6={_0x5fac3c:0x1cd,_0x103772:0x1db,_0x19d35d:0x1ce},_0xd2c30=_0x191e,_0x4b58ec={'FjJlA':_0xd2c30(0x1be)},_0x17ce27=_0x5bad38(_0xd2c30(0x1e3),_0x4beee9,{'eventName':_0x4b58ec[_0xd2c30(_0xd8c1f6._0x5fac3c)]});process['stdout'][_0xd2c30(_0xd8c1f6._0x103772)](JSON['stringify'](_0x17ce27[_0xd2c30(_0xd8c1f6._0x19d35d)])),process[_0xd2c30(0x1ee)](0x0);});function T(_0x2aad3c,_0x4a658d,_0x48f93d,_0x540885=null){const _0x3c741f={_0x5085dd:0x1bc,_0x37bdb1:0x1cb,_0x1fa917:0x1ba},_0x5baadc=_0x191e,_0x43b015={'mlMDr':function(_0x3bdf8e,_0x5170e9){return _0x3bdf8e>_0x5170e9;},'BjvPs':_0x5baadc(0x1d0)};try{const _0x357c77=_0x59b2dc(_0x2aad3c,!0x1);_0x357c77[_0x5baadc(0x1bc)]||(_0x357c77['gates']={}),_0x357c77[_0x5baadc(_0x3c741f._0x5085dd)][_0x4a658d]||(_0x357c77['gates'][_0x4a658d]={'passed':0x0,'blocked':0x0,'history':[]}),_0x48f93d?_0x357c77['gates'][_0x4a658d][_0x5baadc(0x1d5)]++:_0x357c77['gates'][_0x4a658d]['blocked']++,_0x357c77['gates'][_0x4a658d]['history'][_0x5baadc(0x1dc)]({'timestamp':new Date()[_0x5baadc(0x1ec)](),'passed':_0x48f93d,'reason':_0x540885}),_0x43b015['mlMDr'](_0x357c77['gates'][_0x4a658d][_0x5baadc(0x1d1)]['length'],0x32)&&(_0x357c77[_0x5baadc(0x1bc)][_0x4a658d][_0x5baadc(0x1d1)]=_0x357c77[_0x5baadc(0x1bc)][_0x4a658d]['history']['slice'](-0x32)),_0x245098(_0x2aad3c,_0x357c77),_0xb3745b(_0x2aad3c,_0x4a658d,_0x48f93d,_0x540885),_0x504a7d(_0x2aad3c)&&_0x40e1a7(_0x2aad3c,_0x48f93d?_0x5baadc(_0x3c741f._0x37bdb1):'gate_block',{'source':'constitution-guard','action':_0x43b015[_0x5baadc(0x1bf)],'data':{'gate':_0x4a658d,'reason':_0x540885}});}catch(_0x5c2fb2){s['debug'](_0x5baadc(_0x3c741f._0x1fa917),{'error':_0x5c2fb2['message']});}}function _0x1c87(){const _0x190d32=['rMfPBgvKihrVihbHCNnLihn0yxrLlMPZB24','vMP5D3m','nJK1mwvWr3DxqG','AxLmshu','mJe1nJe2mg1ltMD3ua','CMvWBgfJzq','y29UC3rPDhv0Aw9UlwD1yxjK','C3rKB3v0','mZGZmtCXnM11B2TvtG','Bwv0ywrHDge','zMLSzv9WyxrO','mJK2mJeZA0H2u3PJ','mJCXndmXouTqseXlAa','Cgf0Aa','mJC4wfnNA0XS','Dg9ju09tDhjPBMC','zgvIDwC','zxHPDa','Aw5MBW','CNvOCuK','mZnesvHSrM0','tM8GzxHLy3v0Aw9UihjLy29YzhmGzM91BMqGAw4GC3rHDgu','BwvZC2fNzq','Ag9VAYbPBNb1Da','rgr5t1O','rMfPBgvKihrVihjLy29YzcbNyxrLihjLC3vSDa','tM8GlMf1Dg9ZCgvJigrPCMvJDg9YEsbMB3vUzcWGC2TPChbPBMC','z2f0zxm','rw1WDhKGB3iGAw52ywXPzcbPBNb1DcWGC2TPChbPBMC','uhjLvg9VBfvZzq','qMP2uhm','DxrMltG','tM90igeGD3jPDguVzwrPDcbVCgvYyxrPB24SihnRAxbWAw5N','ota0ndmWturbyLPs','rMfPBgvKihrVihjLywqGC3rHDgu','w0f1Dg9tCgvJienVBNn0Axr1DgLVBIbhDwfYzf0G4PQG77IpienptLnusvrvveLptIbbtevsvcaOrfa2kqPezxzLBg9WBwvUDcbHy3rPDML0EsbKzxrLy3rLzcbIDxqGBM8GC3rHDguUANnVBIbMB3vUzc4ku3rHCNr1CcbNyxrLihbYB3rVy29Sig1HEsbUB3qGAgf2zsbIzwvUigzVBgXVD2vKoGOGideUifjLywqGA25VD2XLzgDLl2nVCMuTCNvSzxmUBwqG4OAsioEHRUwUMUI/REs7O+AOOEw8JWOGidiUifjLywqGA25VD2XLzgDLl2nVBNn0Axr1DgLVBI5TzcdIHPiG56gU6k6K57QI57Q/cIaGmY4G5zcr55sO5OI356gU6k6K5lU75yQH6iYd5zU0cKnVBNnPzgvYihvZAw5Nic9HDhn4oNj1BIb0BYbWCM9WzxjSEsbZDgfYDcb0AguGD29YA2zSB3CU','AM9PBG','C29Tzq','C3rHDguUANnVBG','y3DK','oda2ndqWC1rKC2Ds','y29UC3rPDhv0Aw9U','z2f0zv9WyxnZ','C3rYAw5NAwz5','rMPkBee','Ag9VA1nWzwnPzMLJt3v0Chv0','Bgf5zxiYuMvZDwX0CW','z2f0zv9JAgvJAW','AgLZDg9YEq','nMHWDe1WCa','EgzgBvu','ofzwEfHHyW','CgfZC2vK','rwrPDa','EK5qB3i','v0jQr2y','CMvHzezPBgu','C3rHz2vZ','D3jPDgu','ChvZAa'];_0x1c87=function(){return _0x190d32;};return _0x1c87();}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x401415=_0x1983;(function(_0x40fbbb,_0x111c3d){const _0x285742={_0x2ebcf0:0x164,_0x469d9f:0x167,_0x5a81cd:0x161,_0x2450e4:0x16f},_0x4a23a=_0x1983,_0x165f4e=_0x40fbbb();while(!![]){try{const _0x29b5e0=parseInt(_0x4a23a(0x166))/0x1*(parseInt(_0x4a23a(_0x285742._0x2ebcf0))/0x2)+-parseInt(_0x4a23a(0x165))/0x3+parseInt(_0x4a23a(_0x285742._0x469d9f))/0x4+-parseInt(_0x4a23a(0x182))/0x5+-parseInt(_0x4a23a(0x191))/0x6*(parseInt(_0x4a23a(_0x285742._0x5a81cd))/0x7)+-parseInt(_0x4a23a(0x17d))/0x8*(parseInt(_0x4a23a(_0x285742._0x2450e4))/0x9)+parseInt(_0x4a23a(0x178))/0xa;if(_0x29b5e0===_0x111c3d)break;else _0x165f4e['push'](_0x165f4e['shift']());}catch(_0x2f32b7){_0x165f4e['push'](_0x165f4e['shift']());}}}(_0x41ff,0x18f52));import{createHookLogger as _0x1d9987,safeJsonParse as _0x33950b,handleHookError as _0x3e9c2c,readStdin as _0x1979a7,findProjectRootAsync as _0x11aa31}from'./lib/hook-logger.js';import{recordHookExecution as _0x146591}from'./lib/hook-error-recorder.js';import{getState as _0x991015,updateState as _0x138df5,getTraceId as _0x20c12e,recordEvent as _0x52a0f0}from'./lib/hook-state-manager.js';import{recordGate as _0x33954a}from'./lib/execution-path.js';const l=_0x1d9987(_0x401415(0x16d));function A(){const _0x26fa97={_0x1bb179:0x152,_0x102cf7:0x15f,_0x3887d3:0x15b,_0x2349c8:0x183,_0x51c7d4:0x16c,_0x21ee17:0x15e},_0x16917e=_0x401415,_0x3b78f9={'JUxAP':'implement-*','RlEmv':'create-*','YuiOJ':'frontend-developer','klmpY':_0x16917e(_0x26fa97._0x1bb179)};return{'doSkillPatterns':[_0x3b78f9['JUxAP'],'code-*','build-*',_0x3b78f9[_0x16917e(_0x26fa97._0x102cf7)],_0x16917e(_0x26fa97._0x3887d3),'backend-developer',_0x3b78f9['YuiOJ'],_0x16917e(_0x26fa97._0x2349c8)],'reviewSkillPatterns':['review-*',_0x3b78f9['klmpY'],_0x16917e(0x192),_0x16917e(_0x26fa97._0x51c7d4),'consistency-checker',_0x16917e(_0x26fa97._0x21ee17),'independent-reviewer','backend-reviewer',_0x16917e(0x17e)]};}function h(_0xaaadfd){const _0x55856a=_0x401415,_0x407fc4={'uoLbE':_0x55856a(0x14e)};if(!_0xaaadfd)return'unknown';const _0x1c3f26=A(),_0x1d35ad=_0xaaadfd[_0x55856a(0x14f)]();for(const _0x120e17 of _0x1c3f26['doSkillPatterns'])if(p(_0x1d35ad,_0x120e17['toLowerCase']()))return'do';for(const _0x5f3565 of _0x1c3f26['reviewSkillPatterns'])if(p(_0x1d35ad,_0x5f3565[_0x55856a(0x14f)]()))return'review';return _0x407fc4['uoLbE'];}function p(_0x1e767e,_0x45deb2){const _0x1347ea=_0x45deb2['replace'](/[.+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*');return new RegExp('^'+_0x1347ea+'$')['test'](_0x1e767e);}function T(_0x33f881){const _0xdb9de6={_0xe9d939:0x160},_0x3700ae=_0x401415,_0x4f0aad={'aWKUA':function(_0x584773,_0x1f46b2,_0x52db19){return _0x584773(_0x1f46b2,_0x52db19);}},_0x3c447a=_0x4f0aad['aWKUA'](_0x991015,_0x33f881,!0x0);return{'lastExecutedSkill':_0x3c447a?.['sessionState']?.['lastExecutedSkill']||null,'lastSkillType':_0x3c447a?.['sessionState']?.[_0x3700ae(0x172)]||null,'lastSkillAgentId':_0x3c447a?.[_0x3700ae(0x15c)]?.[_0x3700ae(0x188)]||null,'skillHistory':_0x3c447a?.[_0x3700ae(0x15c)]?.[_0x3700ae(_0xdb9de6._0xe9d939)]||[]};}function b(_0x4d278b,_0x2d66cc,_0x11e779,_0x160ee3=null){const _0x1b0093={_0x221486:0x15c,_0x143375:0x15c,_0x528825:0x15d,_0x9c939b:0x15c,_0x131551:0x160,_0x321287:0x17f},_0x153a75=_0x401415,_0x7ca61f=_0x991015(_0x4d278b,!0x1)||{};_0x7ca61f[_0x153a75(_0x1b0093._0x221486)]||(_0x7ca61f['sessionState']={'skillHistory':[]}),_0x7ca61f[_0x153a75(_0x1b0093._0x221486)]['lastExecutedSkill']=_0x2d66cc,_0x7ca61f['sessionState']['lastSkillType']=_0x11e779,_0x7ca61f[_0x153a75(_0x1b0093._0x143375)]['lastSkillAgentId']=_0x160ee3,_0x7ca61f[_0x153a75(_0x1b0093._0x143375)][_0x153a75(0x159)]=new Date()[_0x153a75(_0x1b0093._0x528825)](),_0x7ca61f[_0x153a75(_0x1b0093._0x9c939b)]['skillHistory']['push']({'skill':_0x2d66cc,'type':_0x11e779,'agentId':_0x160ee3,'timestamp':_0x7ca61f['sessionState']['lastSkillTimestamp']}),_0x7ca61f['sessionState'][_0x153a75(_0x1b0093._0x131551)][_0x153a75(_0x1b0093._0x321287)]>0x14&&(_0x7ca61f[_0x153a75(0x15c)][_0x153a75(0x160)]=_0x7ca61f['sessionState'][_0x153a75(0x160)]['slice'](-0x14)),_0x138df5(_0x4d278b,_0x7ca61f);}function _0x1983(_0x53c0df,_0xc0dafb){_0x53c0df=_0x53c0df-0x14b;const _0x41ffe8=_0x41ff();let _0x1983ea=_0x41ffe8[_0x53c0df];if(_0x1983['fqPtWm']===undefined){var _0x14cb7f=function(_0x150dd6){const _0x3c8d0d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bcdac='',_0x112696='';for(let _0x1af8e2=0x0,_0x9c4b82,_0x57c349,_0x22847c=0x0;_0x57c349=_0x150dd6['charAt'](_0x22847c++);~_0x57c349&&(_0x9c4b82=_0x1af8e2%0x4?_0x9c4b82*0x40+_0x57c349:_0x57c349,_0x1af8e2++%0x4)?_0x4bcdac+=String['fromCharCode'](0xff&_0x9c4b82>>(-0x2*_0x1af8e2&0x6)):0x0){_0x57c349=_0x3c8d0d['indexOf'](_0x57c349);}for(let _0x452e13=0x0,_0x11a8bf=_0x4bcdac['length'];_0x452e13<_0x11a8bf;_0x452e13++){_0x112696+='%'+('00'+_0x4bcdac['charCodeAt'](_0x452e13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x112696);};_0x1983['jQXFlW']=_0x14cb7f,_0x1983['xRzEkI']={},_0x1983['fqPtWm']=!![];}const _0x5517a1=_0x41ffe8[0x0],_0x2f06c6=_0x53c0df+_0x5517a1,_0x4e1f39=_0x1983['xRzEkI'][_0x2f06c6];return!_0x4e1f39?(_0x1983ea=_0x1983['jQXFlW'](_0x1983ea),_0x1983['xRzEkI'][_0x2f06c6]=_0x1983ea):_0x1983ea=_0x4e1f39,_0x1983ea;}function I(){const _0x43f9c5={_0x4aea6d:0x151},_0x498c1e=_0x401415;return'agent-'+Date['now']()+'-'+Math[_0x498c1e(0x18c)]()[_0x498c1e(_0x43f9c5._0x4aea6d)](0x24)['substr'](0x2,0x9);}function P(_0x32b824,_0x5ca957){const _0x46d20b={_0x1e5f20:0x189},_0x20f34f=_0x401415,_0x3d0754={'QVRQK':_0x20f34f(0x176)};if(_0x32b824[_0x20f34f(0x185)]!==_0x20f34f(0x16e))return{'pass':!0x0};const _0x4cbd46=_0x32b824['tool_input']?.[_0x20f34f(_0x46d20b._0x1e5f20)];if(!_0x4cbd46)return{'pass':!0x0};const _0x40e35f=h(_0x4cbd46);if(_0x40e35f==='unknown')return{'pass':!0x0};const _0x2aaf42=_0x5ca957['lastSkillType'];return _0x2aaf42?_0x2aaf42==='do'&&_0x40e35f===_0x3d0754['QVRQK']?{'pass':!0x1,'needAIAnalysis':!0x0,'context':{'lastSkill':_0x5ca957['lastExecutedSkill'],'currentSkill':_0x4cbd46,'lastSkillType':_0x2aaf42,'currentSkillType':_0x40e35f,'skillHistory':_0x5ca957['skillHistory']},'shouldRecord':!0x0,'skillType':_0x40e35f}:{'pass':!0x0,'shouldRecord':!0x0,'skillType':_0x40e35f}:{'pass':!0x0,'shouldRecord':!0x0,'skillType':_0x40e35f};}async function D(_0x55b537,_0x51b940){const _0x41463f={_0x4199d5:0x158,_0x4d0996:0x187},_0x114808=_0x401415,_0xca9def={'IbVKy':function(_0x3f912f,_0x1e9b7a,_0x1b9ff8){return _0x3f912f(_0x1e9b7a,_0x1b9ff8);},'zTCHf':function(_0x46c6f9,_0x4977d0){return _0x46c6f9-_0x4977d0;}},{skillHistory:_0x425ac9,lastSkill:_0x4f03e8,currentSkill:_0x21db80}=_0x55b537;if(_0xca9def['IbVKy'](_0x991015,_0x51b940,!0x0)?.['sessionState']?.['needsSeparation'])return{'violation':!0x0,'confidence':0.95,'reason':'上一个\x20skill\x20\x22'+_0x4f03e8+'\x22\x20明确要求由不同\x20Agent\x20执行审查'};const _0x5649c1=_0x425ac9?.[_0xca9def[_0x114808(_0x41463f._0x4199d5)](_0x425ac9['length'],0x1)]?.['timestamp'];return _0x5649c1&&Date['now']()-new Date(_0x5649c1)['getTime']()>0x12c*0x3e8?{'violation':!0x1,'confidence':0.7,'reason':_0x114808(0x155)}:{'violation':!0x0,'confidence':0.6,'reason':_0x114808(_0x41463f._0x4d0996),'needsAIFurtherAnalysis':!0x0};}async function $(_0x5ee5a2,_0x9e9427){const _0x4825bb={_0x4187a2:0x177,_0x4acd65:0x185,_0x4f3045:0x18a,_0x22b15f:0x157,_0x10a7a2:0x18e,_0x463cdf:0x163,_0x20268c:0x14b,_0x2592c8:0x153,_0x21f73e:0x18f,_0x21fcb9:0x184,_0x35c934:0x17c,_0x4f0eac:0x18b,_0x1b08a5:0x156,_0x276228:0x16b,_0x933423:0x162,_0x328ecf:0x171},_0x2e4e77=_0x401415,_0x42590b={'dOuDs':function(_0x351a12,_0x31e556){return _0x351a12!==_0x31e556;},'iEYxg':_0x2e4e77(_0x4825bb._0x4187a2),'Igjdh':'Do-Review\x20separation\x20violation\x20confirmed','xyEKY':function(_0x55e09,_0x1ceb39,_0x40b6a9,_0x5f142){return _0x55e09(_0x1ceb39,_0x40b6a9,_0x5f142);},'pQcQf':_0x2e4e77(0x175),'BUqcf':'do-review-separation','PtQml':_0x2e4e77(0x15a)},_0x35aa20=_0x5ee5a2[_0x2e4e77(_0x4825bb._0x4acd65)];if(_0x42590b['dOuDs'](_0x35aa20,_0x2e4e77(0x16e))){l[_0x2e4e77(_0x4825bb._0x4f3045)](_0x2e4e77(0x170),{'toolName':_0x35aa20});return;}const _0x552962=_0x5ee5a2['tool_input']?.['subagent_type'];l[_0x2e4e77(0x18a)](_0x2e4e77(0x186),{'subagentType':_0x552962});const _0x16391a=T(_0x9e9427),_0x5636b8=P(_0x5ee5a2,_0x16391a);if(_0x5636b8['shouldRecord']){const _0x4d52a1=I();b(_0x9e9427,_0x552962,_0x5636b8[_0x2e4e77(_0x4825bb._0x22b15f)],_0x4d52a1);}if(_0x5636b8[_0x2e4e77(0x154)]){l['debug'](_0x42590b[_0x2e4e77(_0x4825bb._0x10a7a2)],{'skillType':_0x5636b8[_0x2e4e77(_0x4825bb._0x22b15f)]});return;}if(_0x5636b8[_0x2e4e77(0x17a)]){l[_0x2e4e77(_0x4825bb._0x463cdf)]('Suspicious\x20do→review\x20pattern\x20detected,\x20performing\x20deep\x20analysis');const _0x46bb6a=await D(_0x5636b8['context'],_0x9e9427);if(_0x46bb6a[_0x2e4e77(0x180)]&&_0x46bb6a[_0x2e4e77(0x174)]>=0.8){l[_0x2e4e77(0x181)](_0x42590b[_0x2e4e77(0x173)],{'lastSkill':_0x5636b8['context'][_0x2e4e77(_0x4825bb._0x20268c)],'currentSkill':_0x5636b8[_0x2e4e77(0x169)][_0x2e4e77(0x171)],'confidence':_0x46bb6a['confidence']}),_0x33954a(_0x9e9427,_0x2e4e77(_0x4825bb._0x2592c8),!0x1,_0x46bb6a[_0x2e4e77(_0x4825bb._0x21f73e)]),_0x20c12e(_0x9e9427)&&_0x42590b[_0x2e4e77(_0x4825bb._0x21fcb9)](_0x52a0f0,_0x9e9427,_0x42590b[_0x2e4e77(_0x4825bb._0x35c934)],{'source':'do-review-separation-guard','action':'separation_violation','gate':_0x42590b['BUqcf'],'details':{'lastSkill':_0x5636b8['context']['lastSkill'],'currentSkill':_0x5636b8[_0x2e4e77(0x169)]['currentSkill'],'confidence':_0x46bb6a['confidence'],'reason':_0x46bb6a[_0x2e4e77(0x18f)]}});const _0x19acef={'hookSpecificOutput':{'hookEventName':_0x42590b['PtQml'],'permissionDecision':'deny','permissionDecisionReason':'[AutoSpec\x20Do-Review\x20Separation\x20Guard]\x20❌\x20BLOCKED\x20-\x20Constitution\x20#7\x20Violation\x0a\x0a检测到做/审分离违规:\x0a\x20\x20-\x20上一个\x20skill:\x20'+_0x5636b8['context']['lastSkill']+_0x2e4e77(_0x4825bb._0x4f0eac)+_0x5636b8[_0x2e4e77(0x169)]['currentSkill']+_0x2e4e77(0x18d)+_0x46bb6a['reason']+'\x0a置信度:'+(_0x46bb6a['confidence']*0x64)[_0x2e4e77(_0x4825bb._0x1b08a5)](0x0)+'%'}};process['stdout'][_0x2e4e77(_0x4825bb._0x276228)](JSON[_0x2e4e77(_0x4825bb._0x933423)](_0x19acef)),process['exit'](0x0);}if(_0x46bb6a['needsAIFurtherAnalysis']){const _0x9da432={'hookSpecificOutput':{'hookEventName':'PreToolUse','additionalContext':_0x2e4e77(0x14d)+_0x5636b8[_0x2e4e77(0x169)][_0x2e4e77(_0x4825bb._0x20268c)]+'\x20(类型:\x20do)\x0a\x20\x20-\x20当前\x20skill:\x20'+_0x5636b8['context'][_0x2e4e77(_0x4825bb._0x328ecf)]+'\x20(类型:\x20review)\x0a\x0a建议:确保审查由独立\x20Agent\x20实例执行,避免信息泄露。\x0a分析置信度:'+(_0x46bb6a['confidence']*0x64)[_0x2e4e77(0x156)](0x0)+'%'}};process['stdout']['write'](JSON['stringify'](_0x9da432));}}}async function E(){const _0x45947a={_0x508041:0x16a,_0x2c2748:0x18a,_0x2c9fd3:0x16a,_0x434064:0x168,_0x2a9352:0x16b,_0x28d467:0x162,_0x47e5ee:0x150},_0x2e33fa=_0x401415,_0xbfaf76={'dDyHt':function(_0x12252a,_0x10c998,_0x2723ed,_0x366e1a){return _0x12252a(_0x10c998,_0x2723ed,_0x366e1a);},'LkzvU':function(_0x204aae,_0x4ca7f7){return _0x204aae===_0x4ca7f7;},'rnuDT':function(_0x169fe7,_0x20108c,_0xe0eb90,_0x26bb72){return _0x169fe7(_0x20108c,_0xe0eb90,_0x26bb72);},'iqvDb':'Unknown','NWBMP':'do-review-separation-guard'},_0x1558b2=Date['now']();let _0xbcb0f8,_0x5deb49=null;try{const _0x4f9fc5=await _0x1979a7(0x3e8);_0xbcb0f8=_0xbfaf76['dDyHt'](_0x33950b,_0x4f9fc5,null,'hook\x20input'),_0xbcb0f8||(l[_0x2e33fa(0x18a)]('Empty\x20or\x20invalid\x20input,\x20skipping'),process['exit'](0x0));const _0x2a1e1d=_0xbcb0f8[_0x2e33fa(0x14c)]||process[_0x2e33fa(0x14c)]();_0x5deb49=await _0x11aa31(_0x2a1e1d),_0x5deb49||(l[_0x2e33fa(0x18a)]('No\x20.autospec\x20directory\x20found,\x20skipping'),process['exit'](0x0));const _0x4b80e1=_0xbcb0f8[_0x2e33fa(_0x45947a._0x508041)];_0xbfaf76['LkzvU'](_0x4b80e1,_0x2e33fa(0x15a))?await $(_0xbcb0f8,_0x5deb49):l[_0x2e33fa(_0x45947a._0x2c2748)](_0x2e33fa(0x179),{'eventName':_0x4b80e1}),_0x146591(_0x5deb49,'do-review-separation-guard',_0xbcb0f8,null,Date[_0x2e33fa(0x17b)]()-_0x1558b2,!0x0),process['exit'](0x0);}catch(_0x2b6a68){const _0x1c2523=_0xbfaf76['rnuDT'](_0x3e9c2c,'do-review-separation-guard',_0x2b6a68,{'eventName':_0xbcb0f8?.[_0x2e33fa(_0x45947a._0x2c9fd3)]||_0xbfaf76['iqvDb'],'projectRoot':_0x5deb49,'input':_0xbcb0f8});_0x5deb49&&_0x146591(_0x5deb49,_0xbfaf76[_0x2e33fa(_0x45947a._0x434064)],_0xbcb0f8,_0x1c2523,Date[_0x2e33fa(0x17b)]()-_0x1558b2,!0x1),process['stdout'][_0x2e33fa(_0x45947a._0x2a9352)](JSON[_0x2e33fa(_0x45947a._0x28d467)](_0x1c2523[_0x2e33fa(0x190)])),_0x1c2523['shouldBlock']?process['exit'](0x2):process[_0x2e33fa(_0x45947a._0x47e5ee)](0x0);}}function _0x41ff(){const _0x1a4b86=['ELrdsgy','BgfZDfnRAwXSvgLTzxn0yw1W','uhjLvg9VBfvZzq','zgv2lsO','C2vZC2LVBLn0yxrL','Dg9ju09tDhjPBMC','C2fMzxr5lwf1zgL0B3i','uMXfBxy','C2TPBgXiAxn0B3j5','mtC2mJy3CfDUqxr3','C3rYAw5NAwz5','Aw5MBW','nZu4EfPhvvH4','nta5nJC5sLnIru1L','ntm1y1z5s1Dv','ntCYndKYww1ir1LQ','tLDctva','y29UDgv4Da','zxzLBNrFBMfTzq','D3jPDgu','kI1YzxzPzxDLCG','zg8TCMv2Awv3lxnLCgfYyxrPB24Tz3vHCMq','qwDLBNq','mJKXodD5sfDQqxO','tM90igfUiefNzw50ignHBgWSihnRAxbWAw5N','y3vYCMvUDfnRAwXS','BgfZDfnRAwXSvhLWzq','swDQzgG','y29UzMLKzw5Jzq','z2f0zv9IBg9JAW','CMv2Awv3','uxvPy2SGy2HLy2SGCgfZC2vK','mJK0mZK5mevnvwvQEq','vw5RBM93BIbLDMvUDcb0ExbLlcbZA2LWCgLUzW','BMvLzefjqw5HBhLZAxm','BM93','CffJuwy','mtG0wvvNzKv6','zNjVBNrLBMqTCMv2Awv3zxi','BgvUz3rO','DMLVBgf0Aw9U','D2fYBG','ntG2ntyWr1zyBujL','D3jPDguTkG','EhLfs1K','Dg9VBf9Uyw1L','q2HLy2TPBMCGqwDLBNqGy2fSBa','5zcm5lIa5lYA6k+D5lIT5Qoa5Rwl5yIWigrViokgKIbYzxzPzxCG5QIH5BYp77Ym5BU66k6U5l2/55sO5lIn5zcmiefNzw50iowUNUs+IW','BgfZDfnRAwXSqwDLBNrjza','C3vIywDLBNrFDhLWzq','zgvIDwC','icJNSBVLNOS6igrVkqOGic0G5B2t5yMnihnRAwXSoIa','CMfUzg9T','icJNSBVLNOS6ihjLDMLLDYKkcUwUQUAZLsaJnYdOP4tLRPRVVjOI5ygA5A6H5B+f6Ag75yIg56A7iGOTiowbMUEXUYbZA2LSBcdLKOZLRQhNSBSGC2TPBgWG5B+f6Ag755sX5lIn5zcmiefjiowUNUs+I+AjP+IHJaOTiowUOEAFPEw/HEMHU+MaMUI/HYbbz2vUDcdLT6xLHBFLKk/LIQJNI6ZNQ4VLRzdOV5VNQiVVViZLRP7NJRdKV6hMGA/PMPtNPRSkcUINO+wgS+AwUEAHIo+8MGOGideUios9V+EuQcbbz2vUDcdLT6xLHBFLKk/LIQJMLRdNMOtLRzdOV5VNQiVMIAFOOyZLRQhMN6ukicaYlIdNOA7KV53MLRaGqwDLBNqG5lIn5ywX5lQR5B2t5yMn5lIk5lIl5PAhcGRLIiBMNPdNU5pMNPZVVjO','AuvzEgC','CMvHC29U','Ag9VA1nWzwnPzMLJt3v0Chv0','ndjosfLRBeO','kI1HDwrPDg9Y','BgfZDfnRAwXS','y3DK','w0f1Dg9tCgvJierVlvjLDMLLDYbtzxbHCMf0Aw9UieD1yxjKxsdIMQdVUi8Gv0fstKLorWOk5Qoa5Rwl5yIW5y+V6io955Qe5ygAl+wUOEwiHUEMU+MxRUMIMo+8MGOGic0G5lIk5lIa5lIQihnRAwXSoIa','Dw5RBM93BG','Dg9mB3DLCKnHC2u','zxHPDa','Dg9tDhjPBMC','kI1JAgvJA2vY','zg8TCMv2Awv3lxnLCgfYyxrPB24','CgfZCW','6lED56A75lIk5lIa5lIQihnRAwXSioAjP+IHJow3SUI2HEI/HYa1iowiHUMsN++8JowpR+IdVEAyR+AwSos8MUIVNq','Dg9gAxHLza','C2TPBgXuExbL'];_0x41ff=function(){return _0x1a4b86;};return _0x41ff();}E();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ (function(_0xda0f90,_0x4e90c8){const _0xaf1eec={_0x315751:0x7e,_0x325748:0xa2,_0x10bb86:0x93,_0x58e1e1:0xc8,_0x5e8e29:0x79,_0x4868c3:0xd2,_0x443dd8:0x88},_0x3afb49=_0x46fa,_0x4508d5=_0xda0f90();while(!![]){try{const _0x306ca3=-parseInt(_0x3afb49(_0xaf1eec._0x315751))/0x1*(-parseInt(_0x3afb49(_0xaf1eec._0x325748))/0x2)+parseInt(_0x3afb49(0x96))/0x3+parseInt(_0x3afb49(0xd0))/0x4+parseInt(_0x3afb49(_0xaf1eec._0x10bb86))/0x5+parseInt(_0x3afb49(_0xaf1eec._0x58e1e1))/0x6*(parseInt(_0x3afb49(0x6f))/0x7)+parseInt(_0x3afb49(_0xaf1eec._0x5e8e29))/0x8*(-parseInt(_0x3afb49(0xc0))/0x9)+parseInt(_0x3afb49(_0xaf1eec._0x4868c3))/0xa*(-parseInt(_0x3afb49(_0xaf1eec._0x443dd8))/0xb);if(_0x306ca3===_0x4e90c8)break;else _0x4508d5['push'](_0x4508d5['shift']());}catch(_0x4b956f){_0x4508d5['push'](_0x4508d5['shift']());}}}(_0x5698,0x5a0e2));import _0x4d40a2 from'fs';import _0x4ea836 from'path';import{createHookLogger as _0x19745d,readStdin as _0x48e70c,findProjectRootAsync as _0x400fe6}from'./lib/hook-logger.js';const a=_0x19745d('environment-autocommit'),C=[/password/i,/secret/i,/api[_-]?key/i,/token/i,/private[_-]?key/i,/credential/i,/auth/i,/encrypt/i,/salt/i,/hash/i],N=[/port/i,/host/i,/endpoint/i,/version/i,/timeout/i,/retry/i,/pool/i,/connection/i];function A(_0xebea91){const _0x2c2f40=_0x46fa;return _0x4d40a2[_0x2c2f40(0x80)](_0x4ea836['join'](_0xebea91,'.git'));}function O(_0x42ee82){const _0x5cb781=_0x46fa,_0x305b71={'YQbGB':function(_0x35e321,_0x4ad25b){return _0x35e321(_0x4ad25b);}},{execSync:_0xbbce12}=_0x305b71['YQbGB'](require,_0x5cb781(0x73));try{return _0xbbce12('git\x20status\x20--porcelain',{'cwd':_0x42ee82,'encoding':_0x5cb781(0xbd)})['split']('\x0a')['some'](_0x38a563=>_0x38a563['startsWith']('UU')||_0x38a563['startsWith']('AA')||_0x38a563['startsWith']('DD'));}catch{return!0x1;}}function F(_0x487d3a){const _0x28d5a8={_0xd8c262:0xd1},_0x504b97=_0x46fa,_0x1fb4a2={'LLqcU':function(_0x3159ca,_0x1b24a8,_0x37b423){return _0x3159ca(_0x1b24a8,_0x37b423);}},{execSync:_0x558fe3}=require(_0x504b97(0x73));try{return _0x1fb4a2[_0x504b97(_0x28d5a8._0xd8c262)](_0x558fe3,_0x504b97(0xcf),{'cwd':_0x487d3a,'encoding':'utf-8'});}catch{return'';}}function E(_0x3571c0){const _0x3c3bae={_0x29bb22:0xc6,_0x5a86f9:0xd3},_0xc6957b=_0x46fa,_0x51e27d={'PEhAo':function(_0x553e49,_0x48faf6){return _0x553e49===_0x48faf6;},'MvxMx':function(_0x217542,_0x257fba){return _0x217542===_0x257fba;},'EKlWL':function(_0x54ac7d,_0x5c84df){return _0x54ac7d===_0x5c84df;},'kPsfF':_0xc6957b(0xd5),'nNcZL':'renamed','JAiPC':'copied'},_0x57a983=_0x3571c0['substring'](0x0,0x2),_0x4b8835=_0x3571c0[_0xc6957b(0x9a)](0x3)['trim'](),_0x3f2f43=_0x57a983[0x0],_0x52e968=_0x57a983[0x1];let _0x288e61=_0xc6957b(0x8f);return _0x3f2f43==='A'||_0x51e27d['PEhAo'](_0x52e968,'A')?_0x288e61=_0xc6957b(0xbb):_0x3f2f43==='M'||_0x51e27d[_0xc6957b(_0x3c3bae._0x29bb22)](_0x52e968,'M')?_0x288e61=_0xc6957b(0xda):_0x51e27d[_0xc6957b(_0x3c3bae._0x5a86f9)](_0x3f2f43,'D')||_0x52e968==='D'?_0x288e61=_0x51e27d['kPsfF']:_0x3f2f43==='R'?_0x288e61=_0x51e27d['nNcZL']:_0x3f2f43==='C'?_0x288e61=_0x51e27d['JAiPC']:(_0x3f2f43==='?'||_0x52e968==='?')&&(_0x288e61='untracked'),{'changeType':_0x288e61,'filePath':_0x4b8835,'statusCode':_0x57a983};}function L(_0x335041,_0x5c978f){const _0x2f3d81={_0x30b49a:0x80},_0x101bd3=_0x46fa;try{const _0x354e4d=_0x4ea836[_0x101bd3(0xb6)](_0x335041,_0x5c978f);return _0x4d40a2[_0x101bd3(_0x2f3d81._0x30b49a)](_0x354e4d)?_0x4d40a2['readFileSync'](_0x354e4d,'utf-8'):null;}catch{return null;}}function _0x46fa(_0x1871e3,_0x18f7ac){_0x1871e3=_0x1871e3-0x6a;const _0x569803=_0x5698();let _0x46fae2=_0x569803[_0x1871e3];if(_0x46fa['MClAOI']===undefined){var _0x48b5ef=function(_0x59efbe){const _0x36121c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xefc609='',_0x217e8c='';for(let _0x4ea64d=0x0,_0xc67244,_0x3ff647,_0x27919b=0x0;_0x3ff647=_0x59efbe['charAt'](_0x27919b++);~_0x3ff647&&(_0xc67244=_0x4ea64d%0x4?_0xc67244*0x40+_0x3ff647:_0x3ff647,_0x4ea64d++%0x4)?_0xefc609+=String['fromCharCode'](0xff&_0xc67244>>(-0x2*_0x4ea64d&0x6)):0x0){_0x3ff647=_0x36121c['indexOf'](_0x3ff647);}for(let _0x172fad=0x0,_0x4f662f=_0xefc609['length'];_0x172fad<_0x4f662f;_0x172fad++){_0x217e8c+='%'+('00'+_0xefc609['charCodeAt'](_0x172fad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217e8c);};_0x46fa['iiaLFd']=_0x48b5ef,_0x46fa['eecEtm']={},_0x46fa['MClAOI']=!![];}const _0x5c0230=_0x569803[0x0],_0x144620=_0x1871e3+_0x5c0230,_0xe737ef=_0x46fa['eecEtm'][_0x144620];return!_0xe737ef?(_0x46fae2=_0x46fa['iiaLFd'](_0x46fae2),_0x46fa['eecEtm'][_0x144620]=_0x46fae2):_0x46fae2=_0xe737ef,_0x46fae2;}function M(_0x564e85,_0x132869){const _0x1b69b3={_0xf0ce8:0x80,_0xd2dc08:0x70},_0x2b7c62=_0x46fa;try{const _0x4052df=_0x4ea836[_0x2b7c62(0xb6)](_0x564e85,_0x132869);return _0x4d40a2[_0x2b7c62(_0x1b69b3._0xf0ce8)](_0x4052df)?_0x4d40a2[_0x2b7c62(_0x1b69b3._0xd2dc08)](_0x4052df)[_0x2b7c62(0xe0)]:0x0;}catch{return 0x0;}}function T(_0x72055b,_0x3eab95){const _0xa12dd4={_0xe3f13f:0xbd},_0x48b1d0=_0x46fa,_0xd72f00={'gBtYg':function(_0x5ade49,_0x39101a){return _0x5ade49(_0x39101a);}},{execSync:_0x1f7f58}=_0xd72f00['gBtYg'](require,'child_process');try{const _0x307139=_0x1f7f58('git\x20cat-file\x20-s\x20HEAD:\x22'+_0x3eab95+'\x22\x202>/dev/null\x20||\x20echo\x200',{'cwd':_0x72055b,'encoding':_0x48b1d0(_0xa12dd4._0xe3f13f)})['trim']();return parseInt(_0x307139,0xa)||0x0;}catch{return 0x0;}}function z(_0x4edafd){const _0x40e6ae=_0x46fa;return _0x4edafd?C['some'](_0x5a9f08=>_0x5a9f08[_0x40e6ae(0x8a)](_0x4edafd)):!0x1;}function D(_0xd692a9){const _0xb0f1d3={_0x158d35:0x91},_0x163223=_0x46fa,_0x1e8416={'HHBgI':function(_0x3612f1,_0x4a5d23){return _0x3612f1>=_0x4a5d23;}};return _0xd692a9?_0x1e8416['HHBgI'](N[_0x163223(_0xb0f1d3._0x158d35)](_0x2ca401=>_0x2ca401[_0x163223(0x8a)](_0xd692a9))['length'],0x2):!0x1;}function q(_0x4b55e3,_0xfa57d5){const _0x3d6b15={_0xcc373c:0xdd,_0x564067:0x83,_0x401a17:0x99},_0x2aca07=_0x46fa,_0x3a5b5a=_0x4ea836['extname'](_0x4b55e3)[_0x2aca07(0xbf)]();if(_0x3a5b5a==='.json')try{return JSON[_0x2aca07(0x9e)](_0xfa57d5),{'valid':!0x0,'error':null};}catch(_0x48be4a){return{'valid':!0x1,'error':_0x2aca07(0x97)+_0x48be4a[_0x2aca07(_0x3d6b15._0xcc373c)]};}if(_0x3a5b5a===_0x2aca07(_0x3d6b15._0x564067)||_0x3a5b5a==='.yml'){const _0x529155=_0xfa57d5['split']('\x0a');for(let _0x251044=0x0;_0x251044<_0x529155['length'];_0x251044++){const _0x1fc8f5=_0x529155[_0x251044];if(_0x1fc8f5[_0x2aca07(_0x3d6b15._0x401a17)](/\t/)&&_0x1fc8f5['match'](/ /))return{'valid':!0x1,'error':_0x2aca07(0xa6)+(_0x251044+0x1)+'\x20行混用空格和制表符'};}return{'valid':!0x0,'error':null};}return{'valid':!0x0,'error':null};}function G(_0x48c5f6,_0x11f4a2){const _0x50e555={_0xb22c4e:0xb2,_0x5e021c:0xb3,_0x1bdcc3:0xa5,_0x8efe6d:0x7a,_0x353e4c:0xd5,_0x4a98f4:0xce,_0x212bce:0x76,_0x103842:0x8d,_0x3666ed:0x6c,_0x522e8e:0xaf,_0x1f188d:0xab,_0xfc7939:0xda,_0x53eff7:0x8c,_0x42670c:0xce,_0x3f02ee:0x7b,_0x4b61af:0x78,_0x4f7ef6:0xb2,_0x19d066:0x8c,_0x362b00:0xa5},_0x451480=_0x46fa,_0x34cc5e={'ZlvZi':function(_0x24d6eb,_0x476e24,_0x430763){return _0x24d6eb(_0x476e24,_0x430763);},'HfiQa':_0x451480(_0x50e555._0xb22c4e),'IdvbR':'删除操作需要确认','qCOtn':_0x451480(_0x50e555._0x5e021c),'lwydR':'auto','udLNA':function(_0x1d3aa8,_0x4bbaeb){return _0x1d3aa8>_0x4bbaeb;},'Gypln':function(_0x5574d9,_0x203ba7){return _0x5574d9-_0x203ba7;},'gOdSF':_0x451480(_0x50e555._0x1bdcc3),'qdhXh':function(_0x5ef8b9,_0x3a0e28){return _0x5ef8b9*_0x3a0e28;},'OdISV':_0x451480(_0x50e555._0x8efe6d),'sJpBM':function(_0x46d1f1,_0x596608){return _0x46d1f1===_0x596608;},'ditNK':'常规内容更新','YmicY':_0x451480(0x6c)},{changeType:_0xe80789,filePath:_0x1da3fa}=_0x11f4a2,_0x264e23=L(_0x48c5f6,_0x1da3fa),_0x441bcd=_0x34cc5e[_0x451480(0xa8)](M,_0x48c5f6,_0x1da3fa),_0x4f6cca=_0x34cc5e['ZlvZi'](T,_0x48c5f6,_0x1da3fa),_0x70f756={'filePath':_0x1da3fa,'changeType':_0xe80789,'decision':'pending','reason':[],'riskLevel':_0x34cc5e['HfiQa']};if(_0xe80789===_0x451480(_0x50e555._0x353e4c))return _0x70f756['decision']=_0x451480(0xa5),_0x70f756[_0x451480(0x7b)]['push'](_0x34cc5e[_0x451480(0x92)]),_0x70f756[_0x451480(_0x50e555._0x4a98f4)]=_0x34cc5e[_0x451480(0xdf)],_0x70f756;if(_0xe80789===_0x451480(0xbb)&&(_0x70f756[_0x451480(0x8c)]=_0x34cc5e[_0x451480(_0x50e555._0x212bce)],_0x70f756['reason']['push'](_0x451480(0xa0))),_0x34cc5e['udLNA'](_0x4f6cca,0x0)&&_0x34cc5e[_0x451480(_0x50e555._0x103842)](_0x441bcd,0x0)){const _0xf35719=Math[_0x451480(0x95)](_0x34cc5e[_0x451480(0xd9)](_0x441bcd,_0x4f6cca))/_0x4f6cca;if(_0xf35719>0.5)return _0x70f756['decision']=_0x34cc5e[_0x451480(0xcd)],_0x70f756[_0x451480(0x7b)]['push']('文件大小变化超过\x2050%\x20('+_0x34cc5e['qdhXh'](_0xf35719,0x64)['toFixed'](0x1)+'%)'),_0x70f756[_0x451480(0xce)]=_0x451480(_0x50e555._0x3666ed),_0x70f756;}if(z(_0x264e23))return _0x70f756[_0x451480(0x8c)]='confirm',_0x70f756['reason'][_0x451480(_0x50e555._0x522e8e)](_0x451480(0x7c)),_0x70f756[_0x451480(_0x50e555._0x4a98f4)]=_0x451480(_0x50e555._0x5e021c),_0x70f756;if(_0x264e23){const _0x28a3e9=q(_0x1da3fa,_0x264e23);if(!_0x28a3e9['valid'])return _0x70f756['decision']='skip',_0x70f756['reason'][_0x451480(_0x50e555._0x522e8e)](_0x28a3e9[_0x451480(_0x50e555._0x1f188d)]),_0x70f756['riskLevel']=_0x34cc5e[_0x451480(0xdf)],_0x70f756;}return _0xe80789===_0x451480(_0x50e555._0xfc7939)&&_0x264e23&&D(_0x264e23)&&(_0x70f756[_0x451480(_0x50e555._0x53eff7)]='auto',_0x70f756['reason'][_0x451480(0xaf)](_0x34cc5e['OdISV']),_0x70f756[_0x451480(_0x50e555._0x42670c)]=_0x451480(_0x50e555._0xb22c4e)),_0xe80789==='modified'&&_0x1da3fa['endsWith'](_0x451480(0x8e))&&(_0x70f756['decision']=_0x34cc5e[_0x451480(_0x50e555._0x212bce)],_0x70f756[_0x451480(_0x50e555._0x3f02ee)][_0x451480(_0x50e555._0x522e8e)](_0x451480(0x9d)),_0x70f756[_0x451480(0xce)]='low'),_0x70f756[_0x451480(0x8c)]===_0x451480(_0x50e555._0x4b61af)&&(_0x34cc5e['sJpBM'](_0xe80789,'modified')?(_0x70f756['decision']=_0x451480(0xa3),_0x70f756['reason'][_0x451480(0xaf)](_0x34cc5e['ditNK']),_0x70f756['riskLevel']=_0x451480(_0x50e555._0x4f7ef6)):(_0x70f756[_0x451480(_0x50e555._0x19d066)]=_0x451480(_0x50e555._0x362b00),_0x70f756['reason']['push'](_0x451480(0x6a)),_0x70f756[_0x451480(_0x50e555._0x42670c)]=_0x34cc5e['YmicY'])),_0x70f756;}function J(_0x23c765){const _0xec8af6={_0xea0cf0:0xbd,_0x239cf6:0x9c},_0x315ff2=_0x46fa,_0x16b95b={'DhyjX':function(_0x574c32,_0x1bf147,_0x1d58e5){return _0x574c32(_0x1bf147,_0x1d58e5);}},{execSync:_0x3f0672}=require('child_process');try{return _0x16b95b['DhyjX'](_0x3f0672,'git\x20branch\x20--show-current',{'cwd':_0x23c765,'encoding':_0x315ff2(_0xec8af6._0xea0cf0)})[_0x315ff2(_0xec8af6._0x239cf6)]();}catch{return _0x315ff2(0xb7);}}function _(_0x111c51,_0x1ea9e7){const _0x55ae1e={_0x4861de:0xbd,_0x66545c:0xab},_0x45ec14=_0x46fa,_0x53af0a={'eIGWG':function(_0x5233e5,_0xe1f1f6,_0x1bcba0){return _0x5233e5(_0xe1f1f6,_0x1bcba0);}},{execSync:_0x56172b}=require('child_process');try{return _0x53af0a[_0x45ec14(0x85)](_0x56172b,'git\x20add\x20'+_0x1ea9e7[_0x45ec14(0xb6)]('\x20'),{'cwd':_0x111c51,'encoding':_0x45ec14(_0x55ae1e._0x4861de)}),!0x0;}catch(_0x2839a7){return a[_0x45ec14(_0x55ae1e._0x66545c)]('git\x20add\x20failed',{'error':_0x2839a7['message']}),!0x1;}}function I(_0x453e1b,_0x57ccfe){const _0x32bd97={_0x2b52dd:0xbd,_0x2a2c73:0xab,_0x54419f:0xdd},_0x911592=_0x46fa,_0x5bb59f={'VrVtH':function(_0x583c8a,_0xfe9ee7){return _0x583c8a(_0xfe9ee7);}},{execSync:_0x160580}=_0x5bb59f[_0x911592(0xa4)](require,'child_process');try{return _0x160580('git\x20commit\x20-m\x20\x22'+_0x57ccfe+'\x22',{'cwd':_0x453e1b,'encoding':_0x911592(_0x32bd97._0x2b52dd)}),!0x0;}catch(_0x48a2d6){return a[_0x911592(_0x32bd97._0x2a2c73)]('git\x20commit\x20failed',{'error':_0x48a2d6[_0x911592(_0x32bd97._0x54419f)]}),!0x1;}}function R(_0x548cf6){const _0x244c9f={_0x22b15f:0x73,_0x4a64cc:0xc3},_0x1469da=_0x46fa,{execSync:_0x30326b}=require(_0x1469da(_0x244c9f._0x22b15f));try{return _0x30326b(_0x1469da(_0x244c9f._0x4a64cc),{'cwd':_0x548cf6,'encoding':_0x1469da(0xbd)}),!0x0;}catch(_0x50c60a){return a['error']('git\x20push\x20failed',{'error':_0x50c60a['message']}),!0x1;}}function k(_0x73c560){const _0x41549a={_0x44b060:0xc7,_0x458dc2:0x98,_0x37653a:0xde},_0x48ddfc=_0x46fa,_0x316f02={'xFfkG':'.autospec','JmnrU':_0x48ddfc(0xa1)},_0x5b6c5a=_0x4ea836[_0x48ddfc(0xb6)](_0x73c560,_0x316f02['xFfkG'],'environment',_0x48ddfc(_0x41549a._0x44b060));if(!_0x4d40a2['existsSync'](_0x5b6c5a))return{'enabled':!0x1,'autoPush':!0x1,'messageTemplate':_0x316f02[_0x48ddfc(_0x41549a._0x458dc2)],'paths':[_0x48ddfc(_0x41549a._0x37653a)],'smartCommit':!0x0,'confirmOnDelete':!0x0,'confirmOnSensitive':!0x0,'maxAutoSizeChange':0.5};try{return{'smartCommit':!0x0,'confirmOnDelete':!0x0,'confirmOnSensitive':!0x0,'maxAutoSizeChange':0.5,...JSON['parse'](_0x4d40a2['readFileSync'](_0x5b6c5a,'utf-8'))};}catch(_0x342838){return a['warn']('Failed\x20to\x20load\x20autocommit\x20config',{'error':_0x342838[_0x48ddfc(0xdd)]}),{'enabled':!0x1};}}function W(_0x74004b,_0x2e8587){const _0x2f1ce3={_0x7fcc3b:0x8b},_0x422cf9=_0x46fa,_0x4cf686=new Date()['toISOString']()['split']('T')[0x0];let _0xf1e1eb=_0x74004b['replace']('{date}',_0x4cf686);const _0x2bf0bd=_0x2e8587['filter'](_0x401543=>_0x401543[_0x422cf9(0x8c)]==='auto'),_0x3d6f4c=_0x2e8587[_0x422cf9(0x91)](_0x12e867=>_0x12e867['decision']===_0x422cf9(0xa5));if(_0x2bf0bd['length']>0x0){const _0x57e95e=_0x2bf0bd['map'](_0x30077=>_0x4ea836[_0x422cf9(0xd4)](_0x30077['filePath']))['join'](',\x20');_0xf1e1eb+=_0x422cf9(0x81)+_0x2bf0bd[_0x422cf9(_0x2f1ce3._0x7fcc3b)]+_0x422cf9(0x75)+_0x57e95e;}if(_0x3d6f4c['length']>0x0){const _0x4b2d43=_0x3d6f4c['map'](_0x5013cc=>_0x4ea836[_0x422cf9(0xd4)](_0x5013cc['filePath']))['join'](',\x20');_0xf1e1eb+='\x0a\x0a需确认\x20('+_0x3d6f4c[_0x422cf9(_0x2f1ce3._0x7fcc3b)]+_0x422cf9(0x75)+_0x4b2d43;}return _0xf1e1eb;}function U(_0x2d3aec){const _0x2d28dc={_0xecf3da:0x91,_0x12eb3e:0x8b,_0x2fbe2b:0xa9,_0x27a952:0x8b,_0x1299af:0xad,_0x36839b:0xac,_0x4bd62d:0x94,_0x1edbe0:0xcc},_0x581192={_0x4e0be8:0x84},_0x47b890={_0x1b734d:0x84},_0x680d69=_0x46fa,_0x3f8f35=_0x2d3aec[_0x680d69(0x91)](_0x4dc59d=>_0x4dc59d[_0x680d69(0x8c)]===_0x680d69(0xa3)),_0x56e17f=_0x2d3aec['filter'](_0x4dc40f=>_0x4dc40f['decision']==='confirm'),_0xda7695=_0x2d3aec[_0x680d69(_0x2d28dc._0xecf3da)](_0x489736=>_0x489736[_0x680d69(0x8c)]===_0x680d69(0xb1));let _0x1b1cd5='\x0a📊\x20智能提交决策报告\x0a';return _0x1b1cd5+='═'[_0x680d69(0xb0)](0x32)+'\x0a',_0x3f8f35[_0x680d69(_0x2d28dc._0x12eb3e)]>0x0&&(_0x1b1cd5+='\x0a✅\x20自动提交\x20('+_0x3f8f35['length']+'\x20个):\x0a',_0x3f8f35[_0x680d69(_0x2d28dc._0x2fbe2b)](_0x2c8934=>{const _0x1151d3=_0x680d69;_0x1b1cd5+='\x20\x20\x20•\x20'+_0x4ea836[_0x1151d3(0xd4)](_0x2c8934[_0x1151d3(_0x47b890._0x1b734d)])+_0x1151d3(0xb5)+_0x2c8934[_0x1151d3(0x7b)][0x0]+'\x0a';})),_0x56e17f[_0x680d69(_0x2d28dc._0x27a952)]>0x0&&(_0x1b1cd5+=_0x680d69(_0x2d28dc._0x1299af)+_0x56e17f['length']+'\x20个):\x0a',_0x56e17f[_0x680d69(0xa9)](_0x20b31e=>{const _0x2dacee=_0x680d69;_0x1b1cd5+='\x20\x20\x20•\x20'+_0x4ea836[_0x2dacee(0xd4)](_0x20b31e[_0x2dacee(_0x581192._0x4e0be8)])+'\x0a',_0x20b31e[_0x2dacee(0x7b)]['forEach'](_0x2fddc8=>{const _0x22627b=_0x2dacee;_0x1b1cd5+=_0x22627b(0xdb)+_0x2fddc8+'\x0a';});})),_0xda7695[_0x680d69(0x8b)]>0x0&&(_0x1b1cd5+=_0x680d69(_0x2d28dc._0x36839b)+_0xda7695['length']+_0x680d69(_0x2d28dc._0x4bd62d),_0xda7695['forEach'](_0x556095=>{const _0x3a5ef1=_0x680d69;_0x1b1cd5+='\x20\x20\x20•\x20'+_0x4ea836[_0x3a5ef1(0xd4)](_0x556095['filePath'])+'\x20-\x20'+_0x556095['reason'][0x0]+'\x0a';})),_0x1b1cd5+='\x0a'+'═'['repeat'](0x32)+'\x0a',_0x1b1cd5+='总计:\x20'+_0x2d3aec['length']+'\x20个文件\x20|\x20自动:\x20'+_0x3f8f35['length']+_0x680d69(_0x2d28dc._0x1edbe0)+_0x56e17f[_0x680d69(_0x2d28dc._0x12eb3e)]+'\x20|\x20跳过:\x20'+_0xda7695[_0x680d69(0x8b)]+'\x0a',{'report':_0x1b1cd5,'auto':_0x3f8f35,'confirm':_0x56e17f,'skip':_0xda7695};}function _0x5698(){const _0x4d968e=['u3rVCa','ywrKzwq','sg9VAYbLCNjVCG','DxrMltG','zw5HyMXLza','Dg9mB3DLCKnHC2u','ndm3otq5t3PKCwjy','ugvYC2LZDgvUy2uGC3LUyYbLCNjVCIaOBM9UlwnYAxrPy2fSkq','C3vJy2vZCW','z2L0ihb1C2G','tuDMCfu','uhvZAgvKigvUDMLYB25Tzw50igTUB3DSzwrNzsbJAgfUz2vZ','txz4txG','yxv0B2nVBw1PDc5QC29U','mJu4mJm0qxvHwLfb','yxv0B1b1C2G','w0f1Dg9tCgvJxsdMO4dMTyVLIlaGr2L0iowgSUEQGE+8JoI3S+I/H+IhQUwkQoApKos6PooaGUIVT+AjI+wkQoINO+wgS+wgSUEQGEwqJUwgJEApKos6PooaGG','rvLvDfi','ihWG56gU6k6KoIa','z09Ku0y','CMLZA0XLDMvS','z2L0ihn0yxr1CYaTlxbVCMnLBgfPBG','mta5ndi4ogn3uuvRrq','teXXy1u','nta1mJC0mfbgrMr2uW','ruTSv0W','yMfZzw5HBwu','zgvSzxrLza','qxv0B2nVBw1PDcbPCYbKAxnHyMXLza','uwPvANG','reXSweC','r3LWBg4','Bw9KAwzPzwq','icaGicaTia','C3bSAxq','BwvZC2fNzq','lMf1Dg9ZCgvJl2vUDMLYB25Tzw50lW','CunpDg4','C2L6zq','5PYQ6k+g5yIR55Qe5y+y5PU057g75z6l','ugvYC2LZDgvUy2uGC3LUyYbJB21WBgv0zwq','BwvKAxvT','CgvYC2LZDgvUy2u','C29Tzq','n3rHAefWtG','C3rHDfn5BMm','y3DK','77Ym6zYa56gU6k6KoIa','y2HPBgrFChjVy2vZCW','w0f1Dg9tCgvJxsdNJQ/LOOpNN6xOR4BLJ5JMM7tPNidOPOhKURRLT6xNOA7ORQtJGii','ios4QIK6ia','BhD5zfi','D2fYBG','CgvUzgLUzW','ndbIB2vtBuG','6ywn572U5yc85PU05PAW77Yi56UV5y+J44cb54Mi5PYS44cb6lAf5PE2562j77Yj','CMvHC29U','5yYf5zcR5Pwp5OsF5A2x5Q6177YiCgfZC3DVCMqVC2vJCMv0l2TLEsdNRyNVViK','zgvIDwC','mty2qwXlvxDV','zxHPDa','zxHPC3rZu3LUyW','cGROH6RLIQJMJ5dKUQqGka','DwHVANi','lNLHBwW','zMLSzvbHDgG','zuLhv0C','zw52AxjVBM1LBNq','C3rKB3v0','mtfcuLPVruK','q29TBwL0DgvKigvUDMLYB25Tzw50igTUB3DSzwrNzsbJAgfUz2vZ','DgvZDa','BgvUz3rO','zgvJAxnPB24','DwrmtKe','lM1K','Dw5RBM93BG','Aw5MBW','zMLSDgvY','swr2yLi','mZm4odbUvhrRwgu','ios4QIK6cG','ywjZ','mJaWode3nM1LEenMua','sLnptIdMOlZLVi/PLjNOR686ia','sM1UCLu','Bwf0y2G','C3vIC3rYAw5N','lMf1Dg9ZCgvJ','DhjPBq','5PAh5QgJ5yAf5A655PU05PAW','CgfYC2u','BwfW','57QV5PAW5AkE5PAh5lU2','y2HVCMu6ioABToAwSoEoR+wIG+EFPEIVHIb7zgf0zx0','mtuWmM1et3PZtG','yxv0BW','vNjwDeG','y29UzMLYBq','wufntcdMOlZLVi/PLjNOR686ioESRca','BwvZC2fNzvrLBxbSyxrL','wMX2wMK','zM9YrwfJAa','vNfJvNi','zxjYB3i','cUkDJcdLT7lOT7pOV4CGka','cUkAOo+4JYaG6zYa5lQ65BEL56gU6k6KicG','tM8Gzw52AxjVBM1LBNqGA25VD2XLzgDLignOyw5Nzxm','ChvZAa','CMvWzwf0','C2TPCa','Bg93','AgLNAa','D3jPDgu','ic0G','AM9PBG','BwfPBG','ugvYC2LZDgvUy2uGC3LUyYbMywLSzwqGkg5VBI1JCML0AwnHBcK','uwvYvhy'];_0x5698=function(){return _0x4d968e;};return _0x5698();}async function H(_0x1ef2e1){const _0x2be173={_0x2f8b60:0x82,_0x528695:0x7f,_0x254c22:0xb9,_0x1ad89a:0x77,_0x1d156c:0xcb,_0x53e72d:0xb4,_0x7cbebc:0xd6,_0x127187:0x80,_0x3b60db:0xdc,_0x35fbf6:0x91,_0x4a1c07:0x8b,_0x29a62b:0xae,_0x4e09ee:0x9f,_0x382957:0x74,_0x3d8a78:0x87,_0xcc790:0xa7,_0x20fa26:0x7f,_0x12f9df:0xc9,_0x1a963e:0xc2,_0x2dc6c4:0x90,_0x47bf20:0x6b,_0x2a142f:0x7d,_0x34d78a:0xc1,_0x518a9e:0xd8,_0x3c24a5:0x72,_0x59888f:0x8b,_0x213229:0xb4},_0xfc445e=_0x46fa,_0x2b6375={'uhojr':'Not\x20a\x20git\x20repo,\x20skipping\x20autocommit','QerTv':function(_0x4a4033,_0x49425d){return _0x4a4033(_0x49425d);},'VxgiM':'Git\x20conflicts\x20detected,\x20skipping\x20autocommit','EYUtR':_0xfc445e(0xca),'LhkZJ':_0xfc445e(0x9b),'yhpqN':function(_0x2bfc0c,_0x2b1ca6){return _0x2bfc0c(_0x2b1ca6);},'DLlXG':'Stop','jpRsB':'chore:\x20更新环境知识','MGfpU':function(_0x41982a,_0x409fa1,_0x2a4784){return _0x41982a(_0x409fa1,_0x2a4784);},'QjUjx':'push'};if(A(_0x1ef2e1)||(a['debug'](_0x2b6375[_0xfc445e(_0x2be173._0x2f8b60)]),process[_0xfc445e(_0x2be173._0x528695)](0x0)),_0x2b6375[_0xfc445e(_0x2be173._0x254c22)](O,_0x1ef2e1)){a[_0xfc445e(_0x2be173._0x1ad89a)](_0x2b6375['VxgiM']);const _0x35b838={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':_0x2b6375[_0xfc445e(_0x2be173._0x1d156c)]}};process[_0xfc445e(0x87)][_0xfc445e(_0x2be173._0x53e72d)](JSON['stringify'](_0x35b838)),process[_0xfc445e(0x7f)](0x0);}const _0x3cf9ca=k(_0x1ef2e1);_0x3cf9ca['enabled']||(a[_0xfc445e(0x7d)](_0xfc445e(_0x2be173._0x7cbebc)),process[_0xfc445e(0x7f)](0x0));const _0x2014c4=_0x4ea836['join'](_0x1ef2e1,_0x2b6375['LhkZJ'],_0xfc445e(0x86));_0x4d40a2[_0xfc445e(_0x2be173._0x127187)](_0x2014c4)||process['exit'](0x0);const _0x3c56b1=_0x2b6375['yhpqN'](F,_0x1ef2e1),_0x5eb77b=_0x3cf9ca['paths']||['.autospec/environment/'],_0x107c87=_0x3c56b1[_0xfc445e(_0x2be173._0x3b60db)]('\x0a')[_0xfc445e(_0x2be173._0x35fbf6)](_0x54ebaa=>_0x54ebaa[_0xfc445e(0x9c)]())[_0xfc445e(0x9f)](_0x3dbb43=>E(_0x3dbb43))[_0xfc445e(0x91)](_0x5d1e24=>_0x5eb77b[_0xfc445e(0x6e)](_0x3b2e80=>_0x5d1e24[_0xfc445e(0x84)]['startsWith'](_0x3b2e80)));_0x107c87[_0xfc445e(_0x2be173._0x4a1c07)]===0x0&&(a[_0xfc445e(0x7d)](_0xfc445e(_0x2be173._0x29a62b)),process[_0xfc445e(0x7f)](0x0)),a['info']('Detected\x20environment\x20knowledge\x20changes',{'files':_0x107c87[_0xfc445e(_0x2be173._0x4e09ee)](_0x41dca5=>_0x41dca5['filePath'])});const _0x1194f5=_0x107c87[_0xfc445e(_0x2be173._0x4e09ee)](_0x4f687a=>G(_0x1ef2e1,_0x4f687a)),{report:_0x554245,auto:_0x40db8e,confirm:_0x2d8faa,skip:_0x21874a}=U(_0x1194f5);if(a[_0xfc445e(0x90)](_0x554245),_0x40db8e['length']===0x0){const _0x3dc95b={'hookSpecificOutput':{'hookEventName':_0x2b6375['DLlXG'],'additionalContext':_0xfc445e(_0x2be173._0x382957)+_0x2d8faa['length']+'\x20个文件待确认,'+_0x21874a['length']+'\x20个文件已跳过。'}};process[_0xfc445e(_0x2be173._0x3d8a78)][_0xfc445e(0xb4)](JSON['stringify'](_0x3dc95b)),process['exit'](0x0);}const _0x2e2f08=_0x40db8e['map'](_0x25df26=>_0x25df26['filePath']);_(_0x1ef2e1,_0x2e2f08)||process['exit'](0x0);const _0x5ad5f3=W(_0x3cf9ca[_0xfc445e(_0x2be173._0xcc790)]||_0x2b6375['jpRsB'],_0x1194f5);_0x2b6375[_0xfc445e(0xc4)](I,_0x1ef2e1,_0x5ad5f3)||process[_0xfc445e(_0x2be173._0x20fa26)](0x0),a[_0xfc445e(0x90)](_0xfc445e(0x89),{'message':_0x5ad5f3});let _0x34c143=!0x1;_0x3cf9ca[_0xfc445e(_0x2be173._0x12f9df)]&&(_0x34c143=R(_0x1ef2e1),_0x34c143&&a['info'](_0xfc445e(0xc5)));try{const {PersistenceManager:_0x49664d}=await import('./lib/cognitive/persistence-manager.js'),_0x84dbc0=k(_0x1ef2e1)?.[_0xfc445e(0x6d)]||{};if(_0x84dbc0[_0xfc445e(0xbe)]&&_0x84dbc0['auto_sync']?.['on_stop']){const _0x20129a=await new _0x49664d({'persistence':_0x84dbc0},_0x1ef2e1)['sync'](_0x2b6375[_0xfc445e(0xd7)]);_0x20129a[_0xfc445e(_0x2be173._0x1a963e)]?a[_0xfc445e(_0x2be173._0x2dc6c4)](_0xfc445e(_0x2be173._0x47bf20),{'filesSynced':_0x20129a['filesSynced']}):_0x20129a['error']&&a['debug'](_0xfc445e(0xb8),{'error':_0x20129a[_0xfc445e(0xab)]});}}catch(_0x9606c6){a[_0xfc445e(_0x2be173._0x2a142f)](_0xfc445e(_0x2be173._0x34d78a),{'error':_0x9606c6['message']});}const _0x537e3e={'hookSpecificOutput':{'hookEventName':_0x2b6375[_0xfc445e(_0x2be173._0x518a9e)],'additionalContext':'[AutoSpec]\x20环境知识已智能提交到\x20'+J(_0x1ef2e1)+'\x20分支。自动:\x20'+_0x40db8e['length']+'\x20个'+(_0x3cf9ca[_0xfc445e(0xc9)]&&_0x34c143?'并推送':'')+_0xfc445e(_0x2be173._0x3c24a5)+_0x2d8faa['length']+'\x20个,跳过:\x20'+_0x21874a[_0xfc445e(_0x2be173._0x59888f)]+'\x20个'}};process['stdout'][_0xfc445e(_0x2be173._0x213229)](JSON['stringify'](_0x537e3e));}async function j(){const _0x47c838={_0x159012:0x9e,_0x399f0b:0x7f},_0x417420=_0x46fa,_0x31de0f={'lalIf':function(_0x9d0209,_0x28146b){return _0x9d0209(_0x28146b);},'VqcVr':_0x417420(0xbc)};try{const _0x5c3fec=await _0x48e70c(0x3e8),_0x1ee6f0=JSON[_0x417420(_0x47c838._0x159012)](_0x5c3fec),_0x542346=_0x1ee6f0['event_name'];if(_0x542346===_0x417420(0xba)){const _0x1dcb61=_0x1ee6f0[_0x417420(0x71)]||process['cwd'](),_0x1afd43=await _0x400fe6(_0x1dcb61);_0x1afd43||process['exit'](0x0),await _0x31de0f['lalIf'](H,_0x1afd43);}else a[_0x417420(0x7d)]('Unknown\x20event\x20type,\x20skipping',{'eventName':_0x542346});process[_0x417420(0x7f)](0x0);}catch(_0x56a127){a['error'](_0x31de0f[_0x417420(0xaa)],{'error':_0x56a127[_0x417420(0xdd)]}),process[_0x417420(_0x47c838._0x399f0b)](0x0);}}j();
@@ -0,0 +1 @@
1
+ const _0x37c9c5=_0x3fa3;(function(_0x21ecfb,_0x2ad958){const _0x4b4e4d={_0x459168:0x237,_0x5bdeb4:0x26a,_0x4702b6:0x211,_0x46328c:0x23e,_0x527a1d:0x1dd},_0x4c85c3=_0x3fa3,_0x55a37c=_0x21ecfb();while(!![]){try{const _0x4c6646=parseInt(_0x4c85c3(_0x4b4e4d._0x459168))/0x1+parseInt(_0x4c85c3(_0x4b4e4d._0x5bdeb4))/0x2+parseInt(_0x4c85c3(0x264))/0x3+parseInt(_0x4c85c3(_0x4b4e4d._0x4702b6))/0x4*(-parseInt(_0x4c85c3(_0x4b4e4d._0x46328c))/0x5)+-parseInt(_0x4c85c3(0x26b))/0x6+-parseInt(_0x4c85c3(_0x4b4e4d._0x527a1d))/0x7+parseInt(_0x4c85c3(0x273))/0x8;if(_0x4c6646===_0x2ad958)break;else _0x55a37c['push'](_0x55a37c['shift']());}catch(_0x2e6e4f){_0x55a37c['push'](_0x55a37c['shift']());}}}(_0x2ea3,0x319f5));import _0x2fe876 from'fs';import _0x1b9c8c from'path';import{execSync as _0xf1c0c5}from'child_process';import{createHookLogger as _0xf50b6d}from'./lib/hook-logger.js';import'./lib/hook-state-manager.js';import'./lib/cognitive/base-store.js';const d=_0xf50b6d('environment-doctor'),O=0x3,q=0.7,U=0.6,g={'DEPENDENCY':'dependency','CONFIG':_0x37c9c5(0x1ee),'NETWORK':_0x37c9c5(0x296),'TOOLCHAIN':'toolchain','RESOURCE':_0x37c9c5(0x1e0),'PERMISSION':'permission'};let v=null,k=null;function D(_0x5e2666){const _0x2bc888={_0x548e44:0x1fc,_0x3e5e7b:0x1b5},_0x23651d=_0x37c9c5;try{if(!_0x2fe876[_0x23651d(_0x2bc888._0x548e44)](_0x5e2666))return null;const _0x1e4ac5=_0x2fe876['readFileSync'](_0x5e2666,_0x23651d(_0x2bc888._0x3e5e7b)),_0x4c6a2f=_0x5e2666['replace'](/\.yaml$/,'.json');return _0x2fe876[_0x23651d(_0x2bc888._0x548e44)](_0x4c6a2f)?JSON['parse'](_0x2fe876['readFileSync'](_0x4c6a2f,_0x23651d(_0x2bc888._0x3e5e7b))):W(_0x1e4ac5);}catch(_0x344385){return d['warn']('Failed\x20to\x20load\x20YAML',{'path':_0x5e2666,'error':_0x344385['message']}),null;}}function _0x3fa3(_0x586234,_0x1ce739){_0x586234=_0x586234-0x17a;const _0x2ea3e6=_0x2ea3();let _0x3fa3d4=_0x2ea3e6[_0x586234];if(_0x3fa3['TEfpIH']===undefined){var _0x16a094=function(_0x3f4b8e){const _0x19e4b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x464e3d='',_0x4cd8c8='';for(let _0x325cf0=0x0,_0x5bbe1e,_0x1b65c8,_0x273ebd=0x0;_0x1b65c8=_0x3f4b8e['charAt'](_0x273ebd++);~_0x1b65c8&&(_0x5bbe1e=_0x325cf0%0x4?_0x5bbe1e*0x40+_0x1b65c8:_0x1b65c8,_0x325cf0++%0x4)?_0x464e3d+=String['fromCharCode'](0xff&_0x5bbe1e>>(-0x2*_0x325cf0&0x6)):0x0){_0x1b65c8=_0x19e4b8['indexOf'](_0x1b65c8);}for(let _0x27cf87=0x0,_0x56b177=_0x464e3d['length'];_0x27cf87<_0x56b177;_0x27cf87++){_0x4cd8c8+='%'+('00'+_0x464e3d['charCodeAt'](_0x27cf87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cd8c8);};_0x3fa3['bcFlgh']=_0x16a094,_0x3fa3['MjUsXh']={},_0x3fa3['TEfpIH']=!![];}const _0x3a6000=_0x2ea3e6[0x0],_0x35494c=_0x586234+_0x3a6000,_0x32fe1f=_0x3fa3['MjUsXh'][_0x35494c];return!_0x32fe1f?(_0x3fa3d4=_0x3fa3['bcFlgh'](_0x3fa3d4),_0x3fa3['MjUsXh'][_0x35494c]=_0x3fa3d4):_0x3fa3d4=_0x32fe1f,_0x3fa3d4;}function W(_0x55a8ca){const _0x2f12c6={_0xba0c31:0x1ce,_0x3e442a:0x1f1,_0x49e87a:0x23a,_0x28fd37:0x192,_0x23a39a:0x1c9,_0x418896:0x202},_0x307f68=_0x37c9c5,_0x318ff9={'mICYg':function(_0x34ce3b,_0x20327a){return _0x34ce3b-_0x20327a;}},_0x4dfec0={};let _0xfba139=null,_0x546e47=null;for(const _0x4c32ff of _0x55a8ca[_0x307f68(_0x2f12c6._0xba0c31)]('\x0a')){const _0x21d27d=_0x4c32ff[_0x307f68(_0x2f12c6._0x3e442a)]();if(!_0x21d27d||_0x21d27d['startsWith']('#'))continue;const _0xc7266f=_0x318ff9['mICYg'](_0x4c32ff[_0x307f68(_0x2f12c6._0x49e87a)],_0x4c32ff['trimStart']()['length']);if(_0xc7266f===0x0&&_0x21d27d[_0x307f68(0x181)](':')){_0xfba139=_0x21d27d['slice'](0x0,-0x1)[_0x307f68(_0x2f12c6._0x28fd37)](),_0x4dfec0[_0xfba139]={},_0x546e47=null;continue;}if(_0xc7266f===0x2&&_0x21d27d['endsWith'](':')&&_0xfba139){_0x546e47=_0x21d27d['trim']()[_0x307f68(0x1c9)](0x0,-0x1),_0x4dfec0[_0xfba139][_0x546e47]={'patterns':[],'diagnosis_steps':[],'strategies':[]};continue;}if(_0xc7266f>=0x4&&_0x21d27d[_0x307f68(0x1f3)]('-\x20')&&_0xfba139&&_0x546e47){const _0x50b436=_0x21d27d[_0x307f68(0x196)](0x2)[_0x307f68(_0x2f12c6._0x28fd37)]()['replace'](/^["']|["']$/g,''),_0x4de2b4=_0x55a8ca['split']('\x0a')[_0x307f68(_0x2f12c6._0x23a39a)](0x0,_0x55a8ca['split']('\x0a')['indexOf'](_0x4c32ff))['reverse']()[_0x307f68(_0x2f12c6._0x418896)](_0x4b2e9b=>_0x4b2e9b[_0x307f68(0x288)]()[_0x307f68(0x181)](':')&&_0x4b2e9b[_0x307f68(0x23a)]-_0x4b2e9b['trimStart']()[_0x307f68(0x23a)]===0x4);if(_0x4de2b4){const _0x3a09d4=_0x4de2b4[_0x307f68(_0x2f12c6._0x28fd37)]()['slice'](0x0,-0x1);_0x4dfec0[_0xfba139][_0x546e47][_0x3a09d4]&&_0x4dfec0[_0xfba139][_0x546e47][_0x3a09d4]['push'](_0x50b436);}}}return _0x4dfec0;}function R(_0x313684){const _0x2961d2={_0x27c636:0x1b5,_0x3eab53:0x257,_0x21e31f:0x289},_0xd3085d=_0x37c9c5,_0x41b900={'GugyP':_0xd3085d(0x182),'SqfSS':'failure-patterns.yaml','ruEiA':function(_0x130ffb,_0xd7c071){return _0x130ffb(_0xd7c071);},'blcqV':_0xd3085d(_0x2961d2._0x27c636)};if(v)return v;const _0x228ee4=_0x1b9c8c[_0xd3085d(_0x2961d2._0x3eab53)](_0x313684,_0x41b900['GugyP'],'environment',_0x41b900['SqfSS']);v=_0x41b900[_0xd3085d(0x1b3)](D,_0x228ee4);const _0x2b3cdb=_0x228ee4['replace'](_0xd3085d(0x1c0),'.json');if(!v&&_0x2fe876['existsSync'](_0x2b3cdb))try{v=JSON['parse'](_0x2fe876[_0xd3085d(_0x2961d2._0x21e31f)](_0x2b3cdb,_0x41b900['blcqV']));}catch{}return v||{};}function H(_0xb950e8){const _0x3bf2da={_0x5efa41:0x1b5,_0x21cd4e:0x1c8,_0x48971e:0x19b},_0x25b927=_0x37c9c5,_0x5ae64d={'PoXWw':'knowledge','aFVNs':_0x25b927(0x1c6),'qwRSH':'repair-strategies.yaml','QeIox':_0x25b927(_0x3bf2da._0x5efa41)};if(k)return k;const _0x68d2ad=_0x1b9c8c[_0x25b927(0x257)](_0xb950e8,_0x5ae64d[_0x25b927(0x206)],_0x5ae64d[_0x25b927(0x246)],_0x5ae64d['qwRSH']);k=D(_0x68d2ad);const _0x2c6652=_0x68d2ad[_0x25b927(_0x3bf2da._0x21cd4e)]('.yaml',_0x25b927(_0x3bf2da._0x48971e));if(!k&&_0x2fe876[_0x25b927(0x1fc)](_0x2c6652))try{k=JSON['parse'](_0x2fe876[_0x25b927(0x289)](_0x2c6652,_0x5ae64d[_0x25b927(0x22c)]));}catch{}return k||{};}let C=null,he=null,ye=null;function w(_0x1da042){const _0x29c113={_0x3aa1b4:0x21f,_0x5b65f3:0x28b},_0x1e3149=_0x37c9c5,_0x427a8d={'ECXCt':_0x1e3149(0x278)};return _0x1b9c8c[_0x1e3149(0x257)](_0x1da042,_0x1e3149(_0x29c113._0x3aa1b4),'memory',_0x427a8d[_0x1e3149(_0x29c113._0x5b65f3)]);}function Se(_0x14a74b){const _0x44bbb0={'SUOpN':function(_0xa3bdd9,_0x3c81fe){return _0xa3bdd9(_0x3c81fe);}};if(C)return C;try{const {CausalEngine:_0x1729b2}=G(_0x14a74b);return C=new _0x1729b2(_0x44bbb0['SUOpN'](w,_0x14a74b)),C;}catch{return null;}}function G(_0x24038e){const _0x2b342a=_0x37c9c5,_0x32ba42={'Qnttl':function(_0xbdd582,_0xbaef73){return _0xbdd582(_0xbaef73);}},_0xcdaa87=_0x32ba42[_0x2b342a(0x23f)](w,_0x24038e),{CausalEngine:_0x5c40a2}=require_esm(_0x2b342a(0x204));return{'CausalEngine':_0x5c40a2};}function L(_0xc087e2){const _0x51b940={_0x44f8c4:0x201,_0x2e868c:0x1d8,_0x9089a4:0x271,_0x46a62b:0x1b5,_0x2c328b:0x1f6},_0x283b20={_0x3a3e4b:0x22f,_0x100829:0x1b5},_0x1f5531={_0x57809b:0x17b,_0x34dc17:0x226,_0x5218aa:0x1bd},_0x18cb3a={_0x3c1b43:0x17b,_0x2f46ce:0x202,_0x31aeb3:0x28f,_0x73c2eb:0x25c},_0x357446={_0x964e49:0x253,_0xb0f09e:0x1bd},_0x246326={_0x3bf0ce:0x190},_0x54a697=_0x37c9c5,_0x3423f1={'dhmzb':function(_0x2ba2e6,_0x5bd201){return _0x2ba2e6+_0x5bd201;},'xuDPu':'causal','dPqZM':_0x54a697(_0x51b940._0x44f8c4)};try{const _0x108746=w(_0xc087e2),_0x17597d=_0x1b9c8c[_0x54a697(0x257)](_0x108746,_0x3423f1[_0x54a697(0x1d7)],_0x54a697(_0x51b940._0x2e868c));_0x2fe876['existsSync'](_0x1b9c8c[_0x54a697(0x272)](_0x17597d))||_0x2fe876[_0x54a697(0x1ef)](_0x1b9c8c['dirname'](_0x17597d),{'recursive':!0x0});const _0x3475da=_0x2fe876['existsSync'](_0x17597d)?JSON[_0x54a697(_0x51b940._0x9089a4)](_0x2fe876[_0x54a697(0x289)](_0x17597d,_0x54a697(_0x51b940._0x46a62b))):{'links':[],'hypotheses':[],'lastUpdated':null,'version':'1.0'};return{'data':_0x3475da,'linksPath':_0x17597d,'queryLinks'(_0x4e5e95){const _0x4fa14a=_0x54a697,_0x221f39=_0x4e5e95['toLowerCase']();return _0x3475da['links'][_0x4fa14a(_0x246326._0x3bf0ce)](_0x334220=>_0x334220[_0x4fa14a(0x207)][_0x4fa14a(0x267)]()['includes'](_0x221f39)||_0x334220[_0x4fa14a(0x293)]['toLowerCase']()[_0x4fa14a(0x1cf)](_0x221f39)||(_0x334220[_0x4fa14a(0x21a)]||[])['some'](_0x40b417=>_0x40b417[_0x4fa14a(0x267)]()[_0x4fa14a(0x1cf)](_0x221f39)))['sort']((_0x3c9ef0,_0xddf672)=>_0xddf672[_0x4fa14a(0x226)]-_0x3c9ef0['confidence']);},'addLink'(_0x59aa49){const _0x5f4ea0=_0x54a697,_0x45099b=new Date()['toISOString'](),_0x5d1d53={'id':_0x5f4ea0(0x24a)+Date[_0x5f4ea0(0x20a)]()+'-'+Math[_0x5f4ea0(0x1df)]()[_0x5f4ea0(0x268)](0x24)['substring'](0x2,0x6),'cause':_0x59aa49['cause'],'effect':_0x59aa49['effect'],'relationship':_0x59aa49['relationship']||_0x5f4ea0(_0x357446._0x964e49),'confidence':_0x59aa49['confidence']||0.5,'evidence':_0x59aa49[_0x5f4ea0(0x23b)]||[],'tags':_0x59aa49[_0x5f4ea0(0x21a)]||[],'delayPattern':_0x59aa49[_0x5f4ea0(0x284)]||'immediate','source':_0x59aa49['source']||'environment-doctor','createdAt':_0x45099b,'lastValidated':_0x45099b,'validationCount':0x1,'contradictionCount':0x0,'origin':{'firstSeen':_0x45099b,'promotedAt':null,'lastValidated':_0x45099b,'projectCount':0x1,'evidenceChain':[]}};return _0x3475da['links']['push'](_0x5d1d53),this[_0x5f4ea0(_0x357446._0xb0f09e)](),_0x5d1d53;},'reinforce'(_0x50a683,_0x48b333){const _0x480c94=_0x54a697,_0x2f8c1f=_0x3475da[_0x480c94(_0x18cb3a._0x3c1b43)][_0x480c94(_0x18cb3a._0x2f46ce)](_0x499790=>_0x499790['id']===_0x50a683);_0x2f8c1f&&(_0x2f8c1f['validationCount']=(_0x2f8c1f[_0x480c94(_0x18cb3a._0x31aeb3)]||0x0)+0x1,_0x2f8c1f[_0x480c94(_0x18cb3a._0x73c2eb)]=new Date()['toISOString'](),_0x2f8c1f['confidence']=Math['min'](0.95,_0x3423f1['dhmzb'](_0x2f8c1f[_0x480c94(0x226)],(0x1-_0x2f8c1f['confidence'])*0.1)),_0x2f8c1f[_0x480c94(0x1e6)]&&(_0x2f8c1f[_0x480c94(0x1e6)]['lastValidated']=_0x2f8c1f[_0x480c94(0x25c)]),this['_save']());},'contradict'(_0x2833d4,_0x228799){const _0x413b8d=_0x54a697,_0x4c8da0=_0x3475da[_0x413b8d(_0x1f5531._0x57809b)]['find'](_0x37ecef=>_0x37ecef['id']===_0x2833d4);_0x4c8da0&&(_0x4c8da0['contradictionCount']=(_0x4c8da0['contradictionCount']||0x0)+0x1,_0x4c8da0[_0x413b8d(_0x1f5531._0x34dc17)]=Math['max'](0.05,_0x4c8da0['confidence']*0.8),this[_0x413b8d(_0x1f5531._0x5218aa)]());},'_save'(){const _0x49c2c7=_0x54a697;_0x3475da[_0x49c2c7(_0x283b20._0x3a3e4b)]=new Date()['toISOString']();const _0xff87fc=_0x17597d+'.tmp';_0x2fe876[_0x49c2c7(0x269)](_0xff87fc,JSON[_0x49c2c7(0x1a3)](_0x3475da,null,0x2),_0x49c2c7(_0x283b20._0x100829)),_0x2fe876[_0x49c2c7(0x20b)](_0xff87fc,_0x17597d);}};}catch(_0x41afa8){return d[_0x54a697(0x27f)](_0x3423f1['dPqZM'],{'error':_0x41afa8[_0x54a697(_0x51b940._0x2c328b)]}),null;}}function V(_0x105718){const _0x3b6905={_0x8a7e53:0x1d5,_0x1977f5:0x1f6},_0x4e9d75={_0x5824bd:0x289,_0x26cf9f:0x20c},_0x63358=_0x37c9c5,_0x3150da={'CQcMf':'.tmp'};try{const _0x2ae7a4=_0x1b9c8c['join'](w(_0x105718),_0x63358(_0x3b6905._0x8a7e53));return _0x2fe876['existsSync'](_0x2ae7a4)||_0x2fe876[_0x63358(0x1ef)](_0x2ae7a4,{'recursive':!0x0}),{'record'(_0x17bf69){const _0x3a0b86=_0x63358,_0x306fcd=new Date()['toISOString']()['substring'](0x0,0x7),_0xf75c1b=_0x1b9c8c['join'](_0x2ae7a4,'episodes-'+_0x306fcd+'.json'),_0x393441=_0x2fe876['existsSync'](_0xf75c1b)?JSON['parse'](_0x2fe876[_0x3a0b86(_0x4e9d75._0x5824bd)](_0xf75c1b,'utf-8')):{'episodes':[],'metadata':{'created':new Date()[_0x3a0b86(0x251)](),'count':0x0}},_0x450298={'id':'ep-'+Date['now']()+'-'+Math[_0x3a0b86(0x1df)]()['toString'](0x24)[_0x3a0b86(0x196)](0x2,0x8),'timestamp':new Date()[_0x3a0b86(0x251)](),'type':_0x17bf69['type']||'environment_repair',..._0x17bf69};_0x393441['episodes']['push'](_0x450298),_0x393441['metadata']['count']=_0x393441[_0x3a0b86(0x1d5)]['length'],_0x393441['metadata'][_0x3a0b86(0x22f)]=new Date()['toISOString']();const _0x57cb4e=_0xf75c1b+_0x3150da[_0x3a0b86(_0x4e9d75._0x26cf9f)];return _0x2fe876['writeFileSync'](_0x57cb4e,JSON['stringify'](_0x393441,null,0x2),_0x3a0b86(0x1b5)),_0x2fe876[_0x3a0b86(0x20b)](_0x57cb4e,_0xf75c1b),_0x450298;}};}catch(_0x44b844){return d['warn']('Failed\x20to\x20create\x20episodic\x20proxy',{'error':_0x44b844[_0x63358(_0x3b6905._0x1977f5)]}),null;}}function _(_0x32c4c9){const _0x82e835={_0x5ddf77:0x225,_0x54d3a2:0x1b5,_0x130b72:0x1e7,_0x1369a6:0x1ef,_0x56a57d:0x271,_0x2c26bb:0x289},_0x44ca18={_0x2d0fa5:0x282},_0x485a86={_0x46f7e0:0x282,_0x2445da:0x26d,_0x112a6c:0x251,_0x3cb5fd:0x276,_0x2a6381:0x24f,_0x40b8da:0x275,_0x51351e:0x23a,_0x37118f:0x22f,_0x1bfb24:0x269,_0x1ca45d:0x1f9},_0x1711bc=_0x37c9c5,_0x4bfef4={'tVpDk':function(_0x106353,_0x519b84){return _0x106353===_0x519b84;},'TXURC':_0x1711bc(_0x82e835._0x5ddf77),'eMooc':function(_0x1262f0,_0x5d70c8){return _0x1262f0/_0x5d70c8;},'EEOoT':_0x1711bc(_0x82e835._0x54d3a2),'bJMzW':'procedural'};try{const _0xce4d58=_0x1b9c8c['join'](w(_0x32c4c9),_0x4bfef4[_0x1711bc(_0x82e835._0x130b72)]);_0x2fe876['existsSync'](_0xce4d58)||_0x2fe876[_0x1711bc(_0x82e835._0x1369a6)](_0xce4d58,{'recursive':!0x0});const _0x568188=_0x1b9c8c[_0x1711bc(0x257)](_0xce4d58,'skill-stats.json'),_0x3e82aa=_0x2fe876['existsSync'](_0x568188)?JSON[_0x1711bc(_0x82e835._0x56a57d)](_0x2fe876[_0x1711bc(_0x82e835._0x2c26bb)](_0x568188,_0x1711bc(0x1b5))):{'skills':{},'lastUpdated':null,'version':'1.0'};return{'recordExecution'(_0x2ce727,_0x37012f){const _0x5adebb=_0x1711bc;_0x3e82aa['skills'][_0x2ce727]||(_0x3e82aa[_0x5adebb(_0x485a86._0x46f7e0)][_0x2ce727]={'skillName':_0x2ce727,'totalExecutions':0x0,'successCount':0x0,'failureCount':0x0,'successRate':0x0,'totalRetries':0x0,'avgRetries':0x0,'durations':[],'lastExecutedAt':null});const _0x3e0c88=_0x3e82aa['skills'][_0x2ce727];_0x3e0c88[_0x5adebb(_0x485a86._0x2445da)]++,_0x3e0c88['lastExecutedAt']=new Date()[_0x5adebb(_0x485a86._0x112a6c)](),_0x4bfef4['tVpDk'](_0x37012f['status'],_0x4bfef4['TXURC'])?_0x3e0c88['successCount']++:_0x37012f[_0x5adebb(_0x485a86._0x3cb5fd)]===_0x5adebb(0x25e)&&_0x3e0c88['failureCount']++,_0x3e0c88['successRate']=_0x3e0c88['totalExecutions']>0x0?_0x4bfef4['eMooc'](Math[_0x5adebb(0x292)](_0x4bfef4[_0x5adebb(_0x485a86._0x2a6381)](_0x3e0c88['successCount'],_0x3e0c88['totalExecutions'])*0x64),0x64):0x0,_0x37012f[_0x5adebb(_0x485a86._0x40b8da)]&&(_0x3e0c88['durations'][_0x5adebb(0x1c4)](_0x37012f['duration']),_0x3e0c88[_0x5adebb(0x1b1)][_0x5adebb(_0x485a86._0x51351e)]>0x32&&(_0x3e0c88[_0x5adebb(0x1b1)]=_0x3e0c88['durations']['slice'](-0x32))),_0x3e82aa[_0x5adebb(_0x485a86._0x37118f)]=new Date()['toISOString']();const _0x3fbf27=_0x568188+'.tmp';_0x2fe876[_0x5adebb(_0x485a86._0x1bfb24)](_0x3fbf27,JSON[_0x5adebb(0x1a3)](_0x3e82aa,null,0x2),_0x4bfef4[_0x5adebb(_0x485a86._0x1ca45d)]),_0x2fe876['renameSync'](_0x3fbf27,_0x568188);},'getStats'(_0x32a130){const _0x45bd42=_0x1711bc;return _0x3e82aa[_0x45bd42(_0x44ca18._0x2d0fa5)][_0x32a130]||null;}};}catch(_0x2be8f7){return d['warn']('Failed\x20to\x20create\x20procedural\x20proxy',{'error':_0x2be8f7['message']}),null;}}function Y(_0x2ebbaa){const _0x29cc92={_0x319d18:0x1ac,_0x4ec4f4:0x1c4,_0x25d380:0x218,_0x3435f6:0x1c6,_0x15ca9c:0x1fc,_0x1a3369:0x289,_0x2d6179:0x298,_0x537620:0x25d,_0x329deb:0x1e3,_0x3d6eca:0x189,_0x466e0e:0x1d2,_0x2f6c55:0x274,_0x40073c:0x1c0,_0x1a4151:0x1f6,_0x23e5fb:0x229,_0x307c3f:0x23a},_0x26cab7=_0x37c9c5,_0x48407a={'MYOVA':_0x26cab7(_0x29cc92._0x319d18),'KkGwJ':'.autospec','HJZOK':'\x20\x20\x20\x20confidence:\x200.9'};d[_0x26cab7(0x229)]('Running\x20pre-flight\x20environment\x20check',{'projectRoot':_0x2ebbaa});const _0x3d8856=P(_0x2ebbaa),_0x35f4cf=[],_0x15eaa3=[];for(const _0xf11bf4 of _0x3d8856){const _0x19e696=K(_0xf11bf4,_0x2ebbaa);_0x19e696['available']?_0x19e696['warning']&&_0x35f4cf[_0x26cab7(_0x29cc92._0x4ec4f4)]({'tool':_0xf11bf4,'severity':'warning','message':_0x19e696['warning']}):(_0x35f4cf[_0x26cab7(0x1c4)]({'tool':_0xf11bf4,'severity':_0x48407a['MYOVA'],'message':_0x19e696['message']}),_0x19e696[_0x26cab7(_0x29cc92._0x25d380)]&&_0x15eaa3['push'](_0x19e696['suggestion']));}const _0x479dce=_0x35f4cf['filter'](_0x396a07=>_0x396a07['severity']===_0x26cab7(0x1ac))['length']===0x0;try{const _0xd689=_0x1b9c8c['join'](_0x2ebbaa,'.autospec',_0x26cab7(_0x29cc92._0x3435f6),_0x26cab7(0x259));let _0x45f98b=[];if(_0x2fe876[_0x26cab7(_0x29cc92._0x15ca9c)](_0xd689)){const _0x2c1c8f=JSON['parse'](_0x2fe876[_0x26cab7(_0x29cc92._0x1a3369)](_0xd689,_0x26cab7(0x1b5)));_0x45f98b=Object[_0x26cab7(_0x29cc92._0x2d6179)](_0x2c1c8f[_0x26cab7(0x252)]||_0x2c1c8f);}const _0x2d9688=_0x3d8856['filter'](_0x7ca757=>!_0x45f98b['includes'](_0x7ca757));if(_0x2d9688['length']>0x0){const _0x33ee10=_0x1b9c8c['join'](_0x2ebbaa,_0x48407a['KkGwJ'],'evolution','wiki-candidates'),_0x56aae7=_0x1b9c8c['join'](_0x2ebbaa,'.autospec',_0x26cab7(0x261));if(_0x2fe876['existsSync'](_0x56aae7)){_0x2fe876[_0x26cab7(_0x29cc92._0x15ca9c)](_0x33ee10)||_0x2fe876[_0x26cab7(0x1ef)](_0x33ee10,{'recursive':!0x0});const _0x585c78=new Date()[_0x26cab7(0x251)]()['replace'](/[:.]/g,'-');for(const _0x2b7ae0 of _0x2d9688){const _0x5cfe8c=['source:\x20environment-doctor','type:\x20environment_discovery','stack:\x20'+_0x2b7ae0,'detected_at:\x20\x22'+new Date()['toISOString']()+'\x22',_0x26cab7(_0x29cc92._0x537620)+_0x2ebbaa+'\x22',_0x26cab7(0x18c),_0x26cab7(0x294)+_0x2b7ae0+'\x27\x20detected\x20but\x20not\x20in\x20registry\x22',_0x26cab7(_0x29cc92._0x329deb)+_0x2b7ae0+_0x26cab7(_0x29cc92._0x3d6eca),_0x48407a[_0x26cab7(_0x29cc92._0x466e0e)],_0x26cab7(_0x29cc92._0x2f6c55)+_0x2ebbaa+'\x22'][_0x26cab7(0x257)]('\x0a');_0x2fe876['writeFileSync'](_0x1b9c8c['join'](_0x33ee10,'env-'+_0x2b7ae0+'-'+_0x585c78+_0x26cab7(_0x29cc92._0x40073c)),_0x5cfe8c);}d[_0x26cab7(0x229)]('Wrote\x20wiki\x20candidates\x20for\x20new\x20tech\x20stacks',{'newStacks':_0x2d9688});}}}catch(_0x466c10){d['debug']('Wiki\x20candidate\x20write\x20failed\x20(non-critical)',{'error':_0x466c10?.[_0x26cab7(_0x29cc92._0x1a4151)]});}return d[_0x26cab7(_0x29cc92._0x23e5fb)]('Pre-flight\x20check\x20complete',{'ready':_0x479dce,'techStack':_0x3d8856,'issueCount':_0x35f4cf[_0x26cab7(_0x29cc92._0x307c3f)]}),{'ready':_0x479dce,'techStack':_0x3d8856,'issues':_0x35f4cf,'suggestions':_0x15eaa3};}function I(_0x30c37e,_0x31e288){const _0x3cf8e0={_0x3f7b3b:0x23a,_0x36fabd:0x226,_0x258ca0:0x226,_0x14634b:0x207,_0xd11c9a:0x1ca},_0x2e7b29=_0x37c9c5,_0x3c9f2c={'enOJm':'environment','pfwdI':'build_failure','MTook':function(_0x1be132,_0x4c03e7){return _0x1be132(_0x4c03e7);},'eICPi':'Layer\x20B:\x20No\x20pattern\x20match'},{projectRoot:_0x4833c6}=_0x31e288,_0x413d55=(_0x30c37e||'')['toLowerCase']();d['info']('Diagnosing\x20build\x20failure',{'errorLength':_0x30c37e?.[_0x2e7b29(_0x3cf8e0._0x3f7b3b)],'command':_0x31e288[_0x2e7b29(0x213)]});const _0x2d5413=L(_0x4833c6);if(_0x2d5413){const _0x1403c9=_0x2d5413['queryLinks'](_0x3c9f2c['enOJm']),_0x3c5bfc=_0x2d5413[_0x2e7b29(0x224)](_0x3c9f2c['pfwdI']),_0x253d5c=[..._0x1403c9,..._0x3c5bfc],_0x91947=new Set(),_0x1b3703=_0x253d5c['filter'](_0xac9241=>_0x91947['has'](_0xac9241['id'])?!0x1:(_0x91947['add'](_0xac9241['id']),!0x0));for(const _0x23ca9f of _0x1b3703)if(_0x23ca9f[_0x2e7b29(_0x3cf8e0._0x36fabd)]>=q&&(_0x413d55['includes'](_0x23ca9f['cause']['toLowerCase']())||te(_0x413d55,_0x23ca9f[_0x2e7b29(0x207)])))return d['info']('Layer\x20A:\x20Causal\x20memory\x20hit',{'linkId':_0x23ca9f['id'],'confidence':_0x23ca9f[_0x2e7b29(_0x3cf8e0._0x258ca0)],'cause':_0x23ca9f['cause']}),{'category':x(_0x30c37e),'rootCause':_0x23ca9f[_0x2e7b29(_0x3cf8e0._0x14634b)],'strategies':_0x3c9f2c['MTook'](Z,_0x23ca9f),'confidence':_0x23ca9f['confidence'],'source':_0x2e7b29(_0x3cf8e0._0xd11c9a),'causalLinkId':_0x23ca9f['id']};d['debug']('Layer\x20A:\x20No\x20causal\x20memory\x20hit');}const _0x50bf92=R(_0x4833c6),_0x5015bf=H(_0x4833c6),_0x549bc3=x(_0x30c37e);if(_0x50bf92&&Object['keys'](_0x50bf92)[_0x2e7b29(0x23a)]>0x0){const _0x2b97c1=X(_0x30c37e,_0x549bc3,_0x50bf92);if(_0x2b97c1){const _0x261fcb=Q(_0x2b97c1['tool'],_0x2b97c1['patternName'],_0x5015bf);return d[_0x2e7b29(0x229)]('Layer\x20B:\x20Pattern\x20match\x20found',{'tool':_0x2b97c1['tool'],'pattern':_0x2b97c1[_0x2e7b29(0x18a)],'matchScore':_0x2b97c1[_0x2e7b29(0x24c)]}),{'category':_0x549bc3,'rootCause':_0x2b97c1[_0x2e7b29(0x24e)]+':'+_0x2b97c1['patternName']+'\x20-\x20'+_0x2b97c1[_0x2e7b29(0x1ff)],'strategies':_0x261fcb,'confidence':Math['min'](0.85,_0x2b97c1['score']),'source':_0x2e7b29(0x1a0)};}d[_0x2e7b29(0x25f)](_0x3c9f2c[_0x2e7b29(0x19f)]);}const _0x5aa1c8=ee(_0x549bc3,_0x30c37e,_0x31e288);return d['info']('Layer\x20C:\x20Generic\x20diagnosis',{'category':_0x549bc3}),{'category':_0x549bc3,'rootCause':z(_0x30c37e,_0x549bc3),'strategies':_0x5aa1c8,'confidence':0.4,'source':_0x2e7b29(0x215)};}function $(_0x2f5b98,_0x2bdf4b){const _0xbec859={_0x5d6144:0x26f,_0x4647fd:0x27f,_0x587c24:0x1b5,_0x10edfb:0x1f6,_0x4a64b2:0x23a,_0x18e447:0x263,_0x54e887:0x1f4,_0x1d13fe:0x23a,_0x58be61:0x231,_0x437a56:0x190,_0x4dd0f2:0x258},_0x4604ec=_0x37c9c5,_0x74a0a5={'FazKJ':'Executing\x20repair\x20strategy','abSik':function(_0xdeb6f6,_0x3ffedd){return _0xdeb6f6(_0x3ffedd);},'ukIke':function(_0x9231bf,_0x9e766d,_0x5bccb2){return _0x9231bf(_0x9e766d,_0x5bccb2);},'yjXAF':_0x4604ec(0x1f2),'YhZlq':function(_0x536420,_0x50f4c8){return _0x536420&&_0x50f4c8;},'iKHxO':function(_0x16178a,_0x54570f){return _0x16178a(_0x54570f);}};d['info'](_0x74a0a5['FazKJ'],{'name':_0x2f5b98['name'],'commandCount':_0x2f5b98[_0x4604ec(_0xbec859._0x5d6144)]?.['length']});const _0x559c1d=_0x74a0a5['abSik'](ne,_0x2bdf4b);try{const _0x406a1d=[];for(const _0x59de52 of _0x2f5b98['commands']||[]){if(se(_0x59de52)){d[_0x4604ec(_0xbec859._0x4647fd)]('Skipping\x20dangerous\x20command',{'cmd':_0x59de52});continue;}try{const _0x171b91=_0x74a0a5['ukIke'](_0xf1c0c5,_0x59de52,{'cwd':_0x2bdf4b,'encoding':_0x4604ec(_0xbec859._0x587c24),'timeout':0x1d4c0,'stdio':['pipe',_0x4604ec(0x220),'pipe']});_0x406a1d[_0x4604ec(0x1c4)]({'cmd':_0x59de52,'output':_0x171b91,'success':!0x0});}catch(_0x4675bc){_0x406a1d[_0x4604ec(0x1c4)]({'cmd':_0x59de52,'error':_0x4675bc[_0x4604ec(0x1cd)]||_0x4675bc['message'],'success':!0x1}),d['warn'](_0x74a0a5['yjXAF'],{'cmd':_0x59de52,'error':_0x4675bc[_0x4604ec(_0xbec859._0x10edfb)]});}}const _0x1105a4=_0x406a1d[_0x4604ec(_0xbec859._0x4a64b2)]>0x0&&_0x406a1d[_0x4604ec(_0xbec859._0x18e447)](_0x4d0917=>_0x4d0917[_0x4604ec(0x225)]),_0x1cdc3b=_0x406a1d[_0x4604ec(0x29a)](_0x52def1=>_0x52def1['success']);return _0x74a0a5[_0x4604ec(0x26e)](!_0x1cdc3b,_0x559c1d)&&A(_0x2bdf4b),{'success':_0x1cdc3b,'description':_0x2f5b98[_0x4604ec(0x258)]+':\x20'+_0x406a1d['length']+_0x4604ec(_0xbec859._0x54e887)+_0x406a1d[_0x4604ec(0x190)](_0x2556f5=>_0x2556f5['success'])[_0x4604ec(_0xbec859._0x1d13fe)]+_0x4604ec(_0xbec859._0x58be61),'output':_0x406a1d['map'](_0x40be5f=>'['+(_0x40be5f[_0x4604ec(0x225)]?'OK':_0x4604ec(0x281))+']\x20'+_0x40be5f[_0x4604ec(0x21e)])['join']('\x0a'),'changes':_0x406a1d[_0x4604ec(_0xbec859._0x437a56)](_0x44d91b=>_0x44d91b[_0x4604ec(0x225)])['map'](_0x307c0b=>({'command':_0x307c0b['cmd']}))};}catch(_0x35cafd){return _0x559c1d&&_0x74a0a5['iKHxO'](A,_0x2bdf4b),{'success':!0x1,'description':_0x2f5b98[_0x4604ec(_0xbec859._0x4dd0f2)]+_0x4604ec(0x180),'error':_0x35cafd['message']};}}function _0x2ea3(){const _0x426535=['zNniDfm','zMLSDgvY','y2f0zwDVCNK','DhjPBq','ywrKCMvZCYbHBhjLywr5igLUihvZzq','zw52AxjVBM1LBNqTzg9JDg9Y','y2n5uKq','C3vIC3rYAw5N','rg9JA2vYzMLSzq','CgLWlxjLAw5ZDgfSBa','CgLWmYaTlxzLCNnPB24GmJ4Vzgv2l251BgWGFhWGCgLWic0TDMvYC2LVBG','CM9VDenHDxnL','lMPZB24','CvP6Ehe','CgLWzw52','z28UBw9K','zuLdugK','Cgf0DgvYBL9SAwjYyxj5','wNrhqxa','BMv4Dc5JB25MAwCUANm','C3rYAw5NAwz5','BwvTB3j5','qM1sBKq','Dfr0EuK','yNvPBgqUz3jHzgXL','uKrRBwu','cIOQ57Ut5P6CkIO6ia','zgyGlwGGlG','BNv4Dc5JB25MAwCUANm','zxjYB3i','rMfPBgvKihrVihjVBgXIywnRihnUyxbZAg90','BNbTihj1BIbIDwLSza','DefyDMS','C2v0DxaUChK','zhvYyxrPB25Z','D0jbzhu','CNvfAue','BNbTignHy2HLignSzwfUic0TzM9Yy2u','DxrMltG','BMjPyuS','C3rYyxrLz3K','uvj5Dvm','zg9JA2vYlwnVBxbVC2uUEwfTBa','lM5WBxjJ','tLLjqxK','cIOQ5Qc55zUGkIO6ia','x3nHDMu','yxv0B3nWzwmTCMvWywLYlxnUyxbZAg90','DhnJB25MAwCUANnVBG','lNLHBwW','lI9SAwiVy29NBML0AxzLl2jHC2uTC3rVCMuUANm','zw52AxjVBM1LBNqTChjVzMLSzs5QC29U','yMfZzw5HBwu','ChvZAa','y2f1C2vZ','zw52AxjVBM1LBNq','BxzUignVBxbPBgu','CMvWBgfJzq','C2XPy2u','y2f1C2fSx21LBw9YEq','zw5VC3bJ','y2fYz28','C3rKzxjY','C3bSAxq','Aw5JBhvKzxm','DMfSAwrHDguTy29UzMLNlwzPBgvZ','CLDQvwy','sePAt0S','DuHhwfu','q09orKLh','zxbPC29Kzxm','C3DPDgnOlw1PCNjVCI1TyxzLBG','Ehveuhu','y2f1C2fSlwXPBMTZlMPZB24','DezhBgK','Efj0ANG','ywnJzxnZigrLBMLLza','5BEY5BcD6k+via','nZeYnZeYsK55AKfA','A0Lqzgm','CMfUzg9T','CMvZB3vYy2u','zwfJy2vZ','zg9JA2vY','icaGihbHDhrLCM46icjbDxrVlxjLz2LZDgvYia','DML0zs5JB25MAwCUANm','zw52lxjLCgfPCJO','B3jPz2LU','yKPnELC','Aw52ywXPzcb0yxjNzxqGCMvSzwfZzq','wKX5u04','Bwf2zw4Ty2XLyw4TAw5ZDgfSBa','rMfPBgvKihrVignYzwf0zsbZBMfWC2HVDa','DhnJB25MAwCUyNvPBgqUANnVBG','kIRPLjNOR68QkJOG','y29UzMLN','BwTKAxjtEw5J','DujtqLm','DhjPBuvUza','uMvWywLYignVBw1HBMqGzMfPBgvK','C3rHCNrZv2L0Aa','ignVBw1HBMrZlca','ELDyu1q','BwvZC2fNzq','AxnbCNjHEq','r3DjDgy','ruvpB1q','u1vdq0vtuW','ChLWCM9Qzwn0lNrVBwW','zxHPC3rZu3LUyW','yxqG','CenPBwO','Bwf0y2HLze9U','ANnVBG','rMfPBgvKihrVignYzwf0zsbJyxvZywWGzw5NAw5LihbYB3H5','zMLUza','BwTMCW','lI9SAwiVy29NBML0AxzLl2nHDxnHBc1LBMDPBMuUANm','yNvPBgqUz3jHzgXLlMT0CW','ug9yv3C','y2f1C2u','C3DPDgnOlw1PCNjVCI1WAxa','oIGPEZP8oIz9oZO','BM93','CMvUyw1Lu3LUyW','q1fJtwy','y2HLy2STDg9VBc12zxjZAw9UCW','zgLHz25VC2LZ','ywrKtgLUAW','revqru5eru5dwq','mJGWBeTqAfrP','CgLWigLUC3rHBgWGlxiGCMvXDwLYzw1LBNrZlNr4DcaTAsbODhrWCZOVl3b5CgKUDhvUys50C2LUz2H1ys5LzhuUy24VC2LTCgXLlW','y29TBwfUza','ChL0Ag9Uic1JicjWCMLUDcGXksi','z2vUzxjPy19HBMfSExnPCW','Bwf2zw4','ChjHy3rPy2uTBg9N','C3vNz2vZDgLVBG','CgfJA2fNzs5QC29U','DgfNCW','DgDXvfK','Bxz4y08','twf4ihjLCgfPCIbHDhrLBxb0CYbYzwfJAgvK','y21K','lMf1Dg9ZCgvJ','CgLWzq','rMfPBgvKihrVihjLy29YzcbYzxbHAxiGBg9N','cIOQ572U5l+H5BQMkIO6ia','lMvUDI5WCM9KDwn0Aw9U','CxvLCNLmAw5RCW','C3vJy2vZCW','y29UzMLKzw5Jzq','CgLWigLUC3rHBgWGlxiGCMvXDwLYzw1LBNrZlNr4DcaTlwzVCMnLlxjLAw5ZDgfSBa','uKvtt1vsq0u','Aw5MBW','q2fYz28UDg9TBa','DgfYz2v0ig9WDgLVBG','uwvjB3G','y2HHBMDLCW','Cg5WBs1SB2nRlNLHBwW','BgfZDfvWzgf0zwq','C29YDa','ihn1y2nLzwrLza','C3rKB3v0','BNbTignVBMzPzYbZzxqGCMvNAxn0CNKGAhr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMC','AgvHCa','vKHdt2i','lNb5DgHVBI12zxjZAw9U','mtC0nJmXCMP3ruzm','Aeryrui','vMfSAwrHDguGyw5KigzPEcbJB21TB24Gy29UzMLNigLZC3vLCW','BgvUz3rO','zxzPzgvUy2u','AezRt3u','rMfPBgvKihrVihjLy29Yzcb0BYbLCgLZB2rPyYbTzw1VCNK','mta2mgPwzNnoCW','uw50DgW','C3rYyxrLz3LvC2vK','ve9pteniquLo','CM0GlxjMig5VzgvFBw9KDwXLCW','CM0GlxjMih4','Bwf0y2G','t0T0suC','yuzwtNm','iYdNJQ/LOOpOH6RMHiJML6xLV5CGlsa','BNbT','CMvJB3jK','y2WT','D0D0rKm','C2nVCMu','Cg9TlNHTBa','Dg9VBa','zu1VB2m','y29UBMvJDgLVBIbYzwz1C2vK','Dg9ju09tDhjPBMC','Dg9VBhm','y29YCMvSyxrLCW','wvDxzNi','DwPHuNi','qw5SCuq','AM9PBG','BMfTzq','CMvNAxn0CNKUANnVBG','C3jyweu','y2f1C2fStgLUA0LK','BgfZDfzHBgLKyxrLza','ChjVAMvJDf9YB290oIaI','zMfPBhvYzq','zgvIDwC','ChL0Ag9Uic1JicjPBxbVCNqGC3LZoYbWCMLUDcHZExmUDMvYC2LVBIKI','zxzVBhv0Aw9U','lMvUDG','zxzLCNK','mJq0mdK1B2jIqKLf','BwfSzM9YBwvK','z2L0ihn0yxnOihb1C2GGlw0GiMf1Dg9ZCgvJlxjLCgfPCI1ZBMfWC2HVDci','Dg9mB3DLCKnHC2u','Dg9tDhjPBMC','D3jPDgvgAwXLu3LUyW','mZy0mZqWrgnkvNDo','mte2nZC1nLjbsuTMsa','BxzUignSzwfUigLUC3rHBgWGlurZA2LWvgvZDhmGlvu','Dg90ywXfEgvJDxrPB25Z','wwHABhe','y29TBwfUzhm','zw5NAw5L','CgfYC2u','zgLYBMfTzq','nJeWotuYBwHSEwTb','icaGigv2AwrLBMnLoIaIrgv0zwn0zwqGDMLHigzPBguGBwfYA2vYCYbPBIa','zhvYyxrPB24','C3rHDhvZ','ENbjuxO','y29NBML0AxzL','zwnVBM5YzxnLDa','ChjVEhK','C3DPDgnOlw1PCNjVCI1UCg0','CMvZDwX0','CgfYC2uGzxjYB3i','uevstuLtu0LptG','D2fYBG','Dw5ZDxbWB3j0zwqGy2XHC3mGzMLSzq','rKfjta','C2TPBgXZ','rKnZsKW','zgvSyxLqyxr0zxjU','Bwf4','t0XbzhG','y2XLyxiTy2fJAguTCMvPBNn0ywXS','DhjPBvn0yxj0','CMvHzezPBgvtEw5J','C291CMnL','runyq3q','qwXSihn0CMf0zwDPzxmGzMfPBgvKlcbYzxrYEwLUzW','Aw1TzwrPyxrL','BM8GC3bHy2u','DMfSAwrHDgLVBKnVDw50','BNbTignVBMzPzYbZzxqGCMvNAxn0CNKGAhr0Chm6lY9YzwDPC3rYEs5UCg1TAxjYB3iUy29T','DgLTzw91Da','CM91BMq','zwzMzwn0','icaTihbYB2jSzw06icjozxCGDgvJAcbZDgfJAYaN','C3rYyxrLz2LLCW','BMv0D29YAW','tKvuv09ssW','A2v5CW','rg9JA2vYigrHzw1VBIbTyxKGBM90igjLihj1BM5PBMC','C29Tzq','vMvYAwz5Aw5NihjLCgfPCG','lNLHCM5YyW','Dw5ZDxbWB3j0zwq','zw52AxjVBM1LBNrFy2HHBMDL','BgLUA3m','vgftu1G','EwXQzfe','rgretg4','CgLW','oIdMIAFOOyZLVilLUlG','zw5KC1DPDgG','A25VD2XLzgDL','EwfYBI5SB2nR','B3HWuwi','AwTzB00','Cg5WBq','zgqGAwy9','DgLTzxn0yw1W','ihrVB2XJAgfPBIbPBIbLBNzPCM9UBwvUDcbRBM93BgvKz2uI','Cgf0DgvYBK5HBwu','zg9JA2vYlwnVBxbVC2u','y2fUzgLKyxrLCZO','CMvWywLYlq','vKfHALm'];_0x2ea3=function(){return _0x426535;};return _0x2ea3();}function N(_0x3a6516,_0x5bc445){const _0xf8a52d={_0x114372:0x220,_0x2638e5:0x229,_0x3dfb00:0x1b5,_0x6b6e47:0x220,_0x7588ef:0x1f6},_0x57c257=_0x37c9c5,_0x324c2a={'IzysI':_0x57c257(0x29b),'pCimj':_0x57c257(_0xf8a52d._0x114372)};d[_0x57c257(_0xf8a52d._0x2638e5)](_0x324c2a['IzysI'],{'command':_0x3a6516});try{return{'success':!0x0,'output':_0xf1c0c5(_0x3a6516,{'cwd':_0x5bc445,'encoding':_0x57c257(_0xf8a52d._0x3dfb00),'timeout':0x493e0,'stdio':[_0x57c257(_0xf8a52d._0x6b6e47),_0x324c2a[_0x57c257(0x1fe)],_0x324c2a['pCimj']]}),'exitCode':0x0};}catch(_0x21220b){return{'success':!0x1,'output':_0x21220b[_0x57c257(0x232)],'error':_0x21220b[_0x57c257(0x1cd)]||_0x21220b[_0x57c257(_0xf8a52d._0x7588ef)],'exitCode':_0x21220b['status']||0x1};}}function j(_0x1dff2c,_0x4498f9,_0x1762b9,_0x534bea){const _0x35e0ac={_0x1987c6:0x225,_0x4e3773:0x1c5,_0x3cc52f:0x229,_0x172e6e:0x191,_0x46d6b5:0x249,_0x291819:0x19a,_0x473fef:0x1af,_0x554e1e:0x25e,_0x42bff1:0x1ac,_0x1c2ef6:0x23c,_0x1f7ad4:0x25b,_0x3e987c:0x25b,_0x577f67:0x258,_0x35377b:0x20f,_0xc18f61:0x19a,_0x4d3706:0x256,_0xd84e72:0x226,_0x288ecb:0x28d,_0x56a5f3:0x1c3,_0x377b9a:0x1e5},_0x2d181=_0x37c9c5,_0x287e86={'OKtIG':function(_0x397c0c,_0x44778d){return _0x397c0c(_0x44778d);},'tAXvk':_0x2d181(_0x35e0ac._0x1987c6),'hFkOu':function(_0x33bdea,_0x48c458){return _0x33bdea(_0x48c458);},'AnlqD':_0x2d181(_0x35e0ac._0x4e3773),'OLAdx':'failure'},_0x9f99e1=_0x1762b9[_0x2d181(0x225)],_0x340ac5=new Date()[_0x2d181(0x251)]();d[_0x2d181(_0x35e0ac._0x3cc52f)]('Learning\x20from\x20repair',{'category':_0x1dff2c[_0x2d181(_0x35e0ac._0x172e6e)],'strategy':_0x4498f9['name'],'success':_0x9f99e1,'source':_0x1dff2c['source']});const _0x2c22ed=_0x287e86[_0x2d181(0x245)](V,_0x534bea);_0x2c22ed&&_0x2c22ed[_0x2d181(_0x35e0ac._0x46d6b5)]({'type':'environment_repair','skill':'environment-doctor','stage':'code','domain':'environment','context':{'category':_0x1dff2c[_0x2d181(0x191)],'rootCause':_0x1dff2c[_0x2d181(_0x35e0ac._0x291819)],'strategyName':_0x4498f9[_0x2d181(0x258)],'diagnosticSource':_0x1dff2c[_0x2d181(0x28a)],'projectId':_0x1b9c8c[_0x2d181(0x1c3)](_0x534bea)},'outcome':{'status':_0x9f99e1?_0x287e86[_0x2d181(_0x35e0ac._0x473fef)]:_0x2d181(_0x35e0ac._0x554e1e),'error':_0x1762b9[_0x2d181(_0x35e0ac._0x42bff1)]||null,'retryCount':_0x4498f9['attemptNumber']||0x0},'duration':_0x4498f9['duration']||0x0});const _0x19d364=_0x287e86[_0x2d181(_0x35e0ac._0x1c2ef6)](L,_0x534bea);_0x19d364&&(_0x1dff2c['causalLinkId']?_0x9f99e1?_0x19d364['reinforce'](_0x1dff2c[_0x2d181(_0x35e0ac._0x1f7ad4)],{'episodeId':'repair-'+Date[_0x2d181(0x20a)](),'projectId':_0x1b9c8c['basename'](_0x534bea),'timestamp':_0x340ac5}):_0x19d364['contradict'](_0x1dff2c[_0x2d181(_0x35e0ac._0x3e987c)],{'reason':'Repair\x20strategy\x20\x22'+_0x4498f9[_0x2d181(_0x35e0ac._0x577f67)]+'\x22\x20failed','timestamp':_0x340ac5}):_0x9f99e1&&_0x19d364[_0x2d181(_0x35e0ac._0x35377b)]({'cause':_0x1dff2c[_0x2d181(_0x35e0ac._0xc18f61)],'effect':'build_failure:'+_0x1dff2c[_0x2d181(0x191)],'relationship':_0x287e86[_0x2d181(_0x35e0ac._0x4d3706)],'confidence':_0x1dff2c[_0x2d181(_0x35e0ac._0xd84e72)]*(_0x9f99e1?0x1:0.5),'tags':['environment',_0x1dff2c['category'],_0x4498f9['name']],'delayPattern':_0x2d181(_0x35e0ac._0x288ecb),'source':_0x2d181(0x194),'evidence':[{'episodeId':_0x2d181(0x18d)+Date[_0x2d181(0x20a)](),'projectId':_0x1b9c8c[_0x2d181(_0x35e0ac._0x56a5f3)](_0x534bea),'timestamp':_0x340ac5,'strategyUsed':_0x4498f9['name'],'success':_0x9f99e1}]}));const _0x3ebb5c=_(_0x534bea);_0x3ebb5c&&_0x3ebb5c['recordExecution'](_0x2d181(_0x35e0ac._0x377b9a)+_0x4498f9[_0x2d181(0x258)],{'status':_0x9f99e1?'success':_0x287e86[_0x2d181(0x286)],'duration':_0x4498f9[_0x2d181(0x275)]||0x0,'domain':_0x2d181(0x1c6),'context':{'category':_0x1dff2c[_0x2d181(0x191)]}}),ie(_0x534bea,{'diagnosis':_0x1dff2c,'strategy':_0x4498f9,'result':_0x1762b9,'timestamp':_0x340ac5});}function B(_0x32c533){const _0x488ac0={_0x11d99c:0x1a6,_0x59d932:0x224,_0x590afa:0x23a},_0x1f24eb=_0x37c9c5,_0x422e66={'tTtyI':function(_0x3b2e1e,_0x1b31c0){return _0x3b2e1e(_0x1b31c0);}};if(!_0x422e66[_0x1f24eb(_0x488ac0._0x11d99c)](_,_0x32c533))return{'totalRepairs':0x0,'successRate':0x0,'topStrategies':[],'categoryBreakdown':{}};const _0x52942c=L(_0x32c533),_0x1e5075=_0x52942c?_0x52942c[_0x1f24eb(_0x488ac0._0x59d932)]('environment'):[];return{'totalRepairs':_0x1e5075[_0x1f24eb(_0x488ac0._0x590afa)],'causalLinks':_0x1e5075[_0x1f24eb(_0x488ac0._0x590afa)],'topLinks':_0x1e5075[_0x1f24eb(0x1c9)](0x0,0x5)['map'](_0x1b214a=>({'cause':_0x1b214a['cause'],'confidence':_0x1b214a[_0x1f24eb(0x226)],'validations':_0x1b214a[_0x1f24eb(0x28f)]}))};}function F(_0xdfa7b6){const _0x643e75={_0x17bdf2:0x1d1,_0x4f01ff:0x1bb,_0x228e47:0x20a,_0x580f71:0x258},_0x4a636d=_0x37c9c5,_0x57d599={'skJyx':function(_0xc19503,_0xd94af0){return _0xc19503>=_0xd94af0;},'rWjUf':'exhausted','NYIAy':function(_0x4bdbb0,_0x41c593,_0x733bf6){return _0x4bdbb0(_0x41c593,_0x733bf6);},'kXShb':function(_0x4752a1,_0x19d235){return _0x4752a1(_0x19d235);},'uBSBS':function(_0x15a755,_0x4c0322){return _0x15a755===_0x4c0322;},'cRFsH':'无可用修复策略,需要人工分析','uJLtp':function(_0x45c715,_0x180685){return _0x45c715<_0x180685;},'ikYoM':_0x4a636d(0x28c)},{errorLog:_0x2980d9,command:_0x2a980f,projectRoot:_0x1697a8,attempt:_0x14b1f8=0x0}=_0xdfa7b6;if(_0x57d599['skJyx'](_0x14b1f8,O))return d[_0x4a636d(0x27f)](_0x4a636d(0x21d),{'attempt':_0x14b1f8}),{'status':_0x57d599[_0x4a636d(_0x643e75._0x17bdf2)],'message':_0x4a636d(0x1dc)+O+'\x20次自愈,需要人工介入','attempt':_0x14b1f8};const _0x3eebf3=_0x57d599[_0x4a636d(_0x643e75._0x4f01ff)](I,_0x2980d9,{'command':_0x2a980f,'projectRoot':_0x1697a8,'techStack':_0x57d599['kXShb'](P,_0x1697a8)});if(!_0x3eebf3['strategies']||_0x57d599[_0x4a636d(0x1f0)](_0x3eebf3[_0x4a636d(0x295)]['length'],0x0))return{'status':'no_strategy','diagnosis':_0x3eebf3,'message':_0x57d599['cRFsH']};const _0x182547=_0x3eebf3['strategies'][_0x4a636d(0x230)]((_0x5323bd,_0x8ee770)=>(_0x8ee770['success_rate']||_0x8ee770['confidence']||0x0)-(_0x5323bd['success_rate']||_0x5323bd[_0x4a636d(0x226)]||0x0));for(let _0x4ce395=0x0;_0x57d599['uJLtp'](_0x4ce395,Math['min'](_0x182547['length'],0x3));_0x4ce395++){const _0x54b12e={..._0x182547[_0x4ce395],'attemptNumber':_0x14b1f8+0x1},_0x259ac3=Date[_0x4a636d(_0x643e75._0x228e47)](),_0x588cdc=$(_0x54b12e,_0x1697a8);if(_0x54b12e['duration']=Date['now']()-_0x259ac3,_0x588cdc['success']){const _0x4b6d76=N(_0x2a980f,_0x1697a8);if(j(_0x3eebf3,_0x54b12e,_0x4b6d76,_0x1697a8),_0x4b6d76['success'])return{'status':'healed','diagnosis':_0x3eebf3,'strategy':_0x54b12e[_0x4a636d(_0x643e75._0x580f71)],'repairResult':_0x588cdc,'verifyResult':_0x4b6d76,'attempt':_0x14b1f8+0x1};}else j(_0x3eebf3,_0x54b12e,_0x588cdc,_0x1697a8);}return d[_0x4a636d(0x229)](_0x57d599[_0x4a636d(0x185)],{'attempt':_0x14b1f8+0x1}),F({..._0xdfa7b6,'attempt':_0x14b1f8+0x1});}function P(_0x57375c){const _0x1e3691={_0x3e5bf4:0x1a7,_0x559d34:0x257,_0x3d3a80:0x257,_0x153f31:0x1a1,_0x14f8f9:0x1d9,_0x44f1d7:0x248,_0x219302:0x257,_0x6645d3:0x22e,_0x1c9119:0x257,_0x5ab0a6:0x1fc,_0xb26c89:0x1c4,_0x52a8f6:0x17f,_0x2a9691:0x1c4,_0x3d62a3:0x19d,_0x3c6f52:0x1e2},_0x90e3df=_0x37c9c5,_0x141fcb={'eOZHg':'maven','ZtGAp':_0x90e3df(_0x1e3691._0x3e5bf4),'tFGli':'gradle','RDkme':'yarn.lock','zpIQz':'yarn','ccyRD':_0x90e3df(0x186),'uATfx':_0x90e3df(0x1fb),'MDSNF':'Dockerfile'},_0x55eb4c=[];return _0x2fe876['existsSync'](_0x1b9c8c[_0x90e3df(_0x1e3691._0x559d34)](_0x57375c,_0x90e3df(0x24d)))&&_0x55eb4c['push'](_0x141fcb['eOZHg']),(_0x2fe876['existsSync'](_0x1b9c8c[_0x90e3df(_0x1e3691._0x3d3a80)](_0x57375c,_0x141fcb[_0x90e3df(_0x1e3691._0x153f31)]))||_0x2fe876['existsSync'](_0x1b9c8c['join'](_0x57375c,_0x90e3df(0x205))))&&_0x55eb4c[_0x90e3df(0x1c4)](_0x141fcb[_0x90e3df(_0x1e3691._0x14f8f9)]),_0x2fe876['existsSync'](_0x1b9c8c[_0x90e3df(_0x1e3691._0x3d3a80)](_0x57375c,'package.json'))&&_0x55eb4c['push'](_0x90e3df(_0x1e3691._0x44f1d7)),_0x2fe876[_0x90e3df(0x1fc)](_0x1b9c8c[_0x90e3df(_0x1e3691._0x219302)](_0x57375c,_0x141fcb[_0x90e3df(0x1a8)]))&&_0x55eb4c['push'](_0x141fcb[_0x90e3df(0x277)]),_0x2fe876[_0x90e3df(0x1fc)](_0x1b9c8c[_0x90e3df(_0x1e3691._0x219302)](_0x57375c,_0x90e3df(_0x1e3691._0x6645d3)))&&_0x55eb4c['push'](_0x141fcb[_0x90e3df(0x195)]),(_0x2fe876[_0x90e3df(0x1fc)](_0x1b9c8c[_0x90e3df(_0x1e3691._0x1c9119)](_0x57375c,'requirements.txt'))||_0x2fe876[_0x90e3df(_0x1e3691._0x5ab0a6)](_0x1b9c8c[_0x90e3df(0x257)](_0x57375c,_0x90e3df(0x1b0)))||_0x2fe876[_0x90e3df(0x1fc)](_0x1b9c8c['join'](_0x57375c,_0x141fcb['uATfx'])))&&_0x55eb4c[_0x90e3df(_0x1e3691._0xb26c89)](_0x90e3df(_0x1e3691._0x52a8f6)),_0x2fe876[_0x90e3df(_0x1e3691._0x5ab0a6)](_0x1b9c8c['join'](_0x57375c,'Pipfile'))&&_0x55eb4c[_0x90e3df(_0x1e3691._0x2a9691)](_0x90e3df(_0x1e3691._0x3d62a3)),_0x2fe876[_0x90e3df(_0x1e3691._0x5ab0a6)](_0x1b9c8c[_0x90e3df(0x257)](_0x57375c,'go.mod'))&&_0x55eb4c[_0x90e3df(0x1c4)]('go'),_0x2fe876['existsSync'](_0x1b9c8c[_0x90e3df(0x257)](_0x57375c,_0x90e3df(0x22a)))&&_0x55eb4c['push'](_0x90e3df(0x1cc)),_0x2fe876['existsSync'](_0x1b9c8c[_0x90e3df(0x257)](_0x57375c,_0x141fcb['MDSNF']))&&_0x55eb4c['push'](_0x90e3df(_0x1e3691._0x3c6f52)),_0x55eb4c;}function K(_0x3e9761,_0x4fafd4){const _0x501ca9={_0x402d8e:0x1b5},_0x288bac={_0x4ff3b1:0x192},_0x1ddc6d={_0xe78005:0x244,_0x4cf0ad:0x1fc,_0x1f3a60:0x1b5,_0x2cf0e1:0x244,_0x175bad:0x1e9},_0x544097=_0x37c9c5,_0xfe6374={'oxpQb':_0x544097(0x24d),'TaSSX':function(_0x124646,_0x480f0d){return _0x124646(_0x480f0d);},'TRobD':function(_0x517ef4,_0xc1cd12){return _0x517ef4<_0xc1cd12;},'ZLySN':'unknown','mebVe':'Install\x20Node.js:\x20https://nodejs.org','ujaRr':function(_0x20852b,_0x1b4eff,_0x66207d){return _0x20852b(_0x1b4eff,_0x66207d);},'JEkPJ':'pip\x20not\x20found','bjTMz':'docker\x20info\x202>/dev/null','xRtjx':_0x544097(_0x501ca9._0x402d8e)},_0x5ea569={'maven':()=>{const _0x3ae076=_0x544097;try{const _0x1bfb5e=_0xf1c0c5('mvn\x20--version\x202>&1',{'encoding':'utf-8','timeout':0x2710})[_0x3ae076(0x192)](),_0x70de4=_0x1bfb5e[_0x3ae076(_0x1ddc6d._0xe78005)](/Java version: ([\d._]+)/),_0x5f68a9=_0x1bfb5e['match'](/Apache Maven ([\d.]+)/),_0x58a970=_0x1b9c8c[_0x3ae076(0x257)](_0x4fafd4,_0xfe6374[_0x3ae076(0x184)]);if(_0x2fe876[_0x3ae076(_0x1ddc6d._0x4cf0ad)](_0x58a970)){const _0x17da7f=_0x2fe876['readFileSync'](_0x58a970,_0x3ae076(_0x1ddc6d._0x1f3a60))[_0x3ae076(_0x1ddc6d._0x2cf0e1)](/<maven\.compiler\.source>([\d]+)<\//);if(_0x17da7f&&_0x70de4){const _0x2a5574=_0xfe6374[_0x3ae076(0x17c)](parseInt,_0x17da7f[0x1]),_0x13c19e=parseInt(_0x70de4[0x1]);if(_0xfe6374['TRobD'](_0x13c19e,_0x2a5574))return{'available':!0x0,'warning':'Java\x20'+_0x13c19e+'\x20detected\x20but\x20project\x20requires\x20Java\x20'+_0x2a5574};}}return{'available':!0x0,'version':_0x5f68a9?_0x5f68a9[0x1]:_0xfe6374[_0x3ae076(_0x1ddc6d._0x175bad)]};}catch{return{'available':!0x1,'message':'Maven\x20not\x20found','suggestion':'Install\x20Maven:\x20brew\x20install\x20maven'};}},'npm':()=>{const _0x1cd47=_0x544097;try{return{'available':!0x0,'version':_0xf1c0c5('npm\x20--version',{'encoding':_0x1cd47(0x1b5),'timeout':0x2710})[_0x1cd47(_0x288bac._0x4ff3b1)]()};}catch{return{'available':!0x1,'message':'npm\x20not\x20found','suggestion':_0xfe6374['mebVe']};}},'pip':()=>{const _0xa26b80=_0x544097;try{return{'available':!0x0,'version':_0xfe6374['ujaRr'](_0xf1c0c5,_0xa26b80(0x199),{'encoding':'utf-8','timeout':0x2710})['trim']()};}catch{return{'available':!0x1,'message':_0xfe6374['JEkPJ'],'suggestion':'Install\x20Python:\x20https://python.org'};}},'docker':()=>{const _0x103f5e=_0x544097;try{return _0xfe6374[_0x103f5e(0x255)](_0xf1c0c5,_0xfe6374['bjTMz'],{'encoding':_0xfe6374[_0x103f5e(0x1da)],'timeout':0x2710}),{'available':!0x0};}catch{return{'available':!0x0,'warning':_0x103f5e(0x299)};}}}[_0x3e9761];return _0x5ea569?_0x5ea569():{'available':!0x0};}function x(_0x4cb0c9){const _0x353b8d={_0x1d8c11:0x250,_0xbdf87:0x280,_0x9968d6:0x1db,_0x2dc906:0x1cb,_0x129163:0x27d,_0x14de3c:0x1b2,_0x50b56f:0x291,_0x2f9b18:0x1cf,_0x437647:0x27a,_0x32df5b:0x297,_0x9b4be6:0x22b,_0x5297b7:0x1d3,_0x558d6b:0x29d,_0x266bdd:0x1cf,_0x32fcaa:0x270,_0x2104a2:0x241,_0x767131:0x1cf,_0x482f47:0x27e,_0x1996c3:0x1cf,_0x4063b1:0x28e,_0x5888e0:0x193,_0x1dd355:0x228,_0x578791:0x1cf,_0x27c205:0x265},_0x195a06=_0x37c9c5,_0x109864={'wBAdu':_0x195a06(_0x353b8d._0x1d8c11),'WvDvD':'could\x20not\x20resolve','gVsrJ':'ssl','vVCHs':'certificate','AVuPw':_0x195a06(_0x353b8d._0xbdf87),'IDHMA':'source\x20option','srXXE':_0x195a06(0x1e8),'uHGXU':'node:','EHNRz':'permission\x20denied','FFcwS':_0x195a06(0x1e1),'wGtFC':_0x195a06(_0x353b8d._0x9968d6),'vRgTq':_0x195a06(_0x353b8d._0x2dc906),'zgxQM':'out\x20of\x20memory','ZEMij':'invalid\x20configuration','yBgRc':_0x195a06(_0x353b8d._0x129163),'BmRnD':_0x195a06(0x200)},_0xdd09af=(_0x4cb0c9||'')[_0x195a06(0x267)]();return _0xdd09af['includes'](_0x109864[_0x195a06(_0x353b8d._0x14de3c)])||_0xdd09af[_0x195a06(0x1cf)](_0x195a06(_0x353b8d._0x50b56f))||_0xdd09af['includes'](_0x109864['WvDvD'])||_0xdd09af['includes'](_0x195a06(0x279))||_0xdd09af[_0x195a06(_0x353b8d._0x2f9b18)](_0x195a06(0x296))||_0xdd09af[_0x195a06(0x1cf)](_0x195a06(_0x353b8d._0x437647))||_0xdd09af[_0x195a06(0x1cf)](_0x109864['gVsrJ'])||_0xdd09af['includes'](_0x109864['vVCHs'])?g[_0x195a06(_0x353b8d._0x32df5b)]:_0xdd09af[_0x195a06(0x1cf)](_0x109864['AVuPw'])||_0xdd09af[_0x195a06(0x1cf)](_0x109864['IDHMA'])||_0xdd09af['includes'](_0x195a06(_0x353b8d._0x9b4be6))||_0xdd09af['includes'](_0x109864[_0x195a06(0x25a)])||_0xdd09af['includes'](_0x109864[_0x195a06(_0x353b8d._0x5297b7)])&&_0xdd09af['includes'](_0x195a06(_0x353b8d._0x558d6b))||_0xdd09af[_0x195a06(_0x353b8d._0x266bdd)](_0x195a06(_0x353b8d._0x32fcaa))&&_0xdd09af['includes']('not\x20compatible')?g[_0x195a06(_0x353b8d._0x2104a2)]:_0xdd09af[_0x195a06(_0x353b8d._0x266bdd)](_0x109864['EHNRz'])||_0xdd09af[_0x195a06(_0x353b8d._0x767131)](_0x109864['FFcwS'])||_0xdd09af['includes']('locked')||_0xdd09af[_0x195a06(_0x353b8d._0x767131)](_0x109864[_0x195a06(0x24b)])?g[_0x195a06(_0x353b8d._0x482f47)]:_0xdd09af[_0x195a06(_0x353b8d._0x1996c3)](_0x195a06(_0x353b8d._0x4063b1))||_0xdd09af[_0x195a06(_0x353b8d._0x767131)](_0x109864['vRgTq'])||_0xdd09af['includes'](_0x109864['zgxQM'])||_0xdd09af['includes'](_0x195a06(0x234))||_0xdd09af['includes'](_0x195a06(_0x353b8d._0x5888e0))||_0xdd09af[_0x195a06(_0x353b8d._0x1996c3)]('eaddrinuse')?g[_0x195a06(_0x353b8d._0x1dd355)]:_0xdd09af[_0x195a06(_0x353b8d._0x578791)](_0x109864['ZEMij'])||_0xdd09af[_0x195a06(_0x353b8d._0x578791)]('config\x20error')||_0xdd09af[_0x195a06(0x1cf)](_0x195a06(_0x353b8d._0x27c205))||_0xdd09af['includes'](_0x109864['yBgRc'])||_0xdd09af[_0x195a06(0x1cf)]('unexpected\x20token')&&_0xdd09af[_0x195a06(0x1cf)](_0x109864[_0x195a06(0x1a5)])||_0xdd09af[_0x195a06(0x1cf)]('yaml')&&_0xdd09af[_0x195a06(_0x353b8d._0x578791)](_0x195a06(0x1ac))?g[_0x195a06(0x1d4)]:g[_0x195a06(0x210)];}function z(_0xe30241,_0x305648){const _0x303ec9={_0x414bb8:0x190,_0x2df578:0x230,_0x231bef:0x196},_0x2f0f4f=_0x37c9c5,_0x2e2813={'DdDLn':function(_0x24e9e6,_0x5c244b){return _0x24e9e6||_0x5c244b;},'YWWfr':function(_0x12b710,_0x33f0d5){return _0x12b710>_0x33f0d5;}},_0x3c4c1e=_0x2e2813[_0x2f0f4f(0x17e)](_0xe30241,'')['split']('\x0a')[_0x2f0f4f(_0x303ec9._0x414bb8)](_0x2c2052=>/\b(error|fatal|failed|failure|exception|cannot|unable)\b/i['test'](_0x2c2052));if(_0x2e2813[_0x2f0f4f(0x254)](_0x3c4c1e['length'],0x0)){const _0x327456=_0x3c4c1e['filter'](_0x1250f1=>!_0x1250f1[_0x2f0f4f(0x192)]()[_0x2f0f4f(0x1f3)](_0x2f0f4f(0x1fd))&&_0x1250f1[_0x2f0f4f(0x23a)]<0x1f4)[_0x2f0f4f(_0x303ec9._0x2df578)]((_0x243f61,_0x447504)=>_0x447504['length']-_0x243f61[_0x2f0f4f(0x23a)]);if(_0x327456['length']>0x0)return _0x327456[0x0][_0x2f0f4f(0x192)]()[_0x2f0f4f(_0x303ec9._0x231bef)](0x0,0xc8);}return _0x305648+'\x20error\x20in\x20build\x20process';}function X(_0x3529dc,_0x526eae,_0x85d59b){const _0x3fd93e={_0x943030:0x190,_0x3f41ff:0x257},_0x4b946d=_0x37c9c5,_0x15728c={'dJcLD':function(_0x171cd8,_0x10848b){return _0x171cd8||_0x10848b;}},_0x57b301=_0x15728c['dJcLD'](_0x3529dc,'')['toLowerCase']();let _0x1031fc=null,_0x3c46a8=0x0;for(const [_0x57e54b,_0x1bc6e8]of Object['entries'](_0x85d59b))for(const [_0x4cd3d6,_0xd30fb6]of Object['entries'](_0x1bc6e8)){const _0x55eb7c=_0xd30fb6['patterns']||[];let _0x29e00d=0x0;for(const _0x596b5b of _0x55eb7c)_0x57b301[_0x4b946d(0x1cf)](_0x596b5b[_0x4b946d(0x267)]())&&_0x29e00d++;if(_0x29e00d>0x0){const _0x30dcbe=_0x29e00d/Math[_0x4b946d(0x285)](_0x55eb7c['length'],0x1);_0x30dcbe>_0x3c46a8&&(_0x3c46a8=_0x30dcbe,_0x1031fc={'tool':_0x57e54b,'patternName':_0x4cd3d6,'score':_0x30dcbe,'matchedOn':_0x55eb7c[_0x4b946d(_0x3fd93e._0x943030)](_0x5f2ee9=>_0x57b301['includes'](_0x5f2ee9['toLowerCase']()))[_0x4b946d(_0x3fd93e._0x3f41ff)](',\x20')});}}return _0x3c46a8>=U?_0x1031fc:null;}function Q(_0x2be554,_0x55faf3,_0xc560bf){const _0x25f0dc=_0x37c9c5,_0x4f4029=_0x2be554+'.'+_0x55faf3,_0x5ef47a=_0xc560bf[_0x2be554];if(!_0x5ef47a)return b(x(_0x55faf3));const _0x48974f=_0x5ef47a[_0x55faf3];return _0x48974f?Array[_0x25f0dc(0x1f7)](_0x48974f)?_0x48974f:_0x48974f[_0x25f0dc(0x295)]?_0x48974f['strategies']:[_0x48974f]:b(x(_0x55faf3));}function Z(_0x1dcd36){const _0x1c9b9b={_0x6ba353:0x240,_0x164947:0x23a},_0x509672=_0x37c9c5,_0x5d7662={'tgqTY':'causal_memory','ctzBz':function(_0x4fe5c3,_0x1fca79){return _0x4fe5c3(_0x1fca79);}},_0x1f5c16=[];for(const _0x392443 of _0x1dcd36['evidence']||[])_0x392443[_0x509672(_0x1c9b9b._0x6ba353)]&&_0x1f5c16['push']({'name':_0x392443[_0x509672(_0x1c9b9b._0x6ba353)],'confidence':_0x1dcd36[_0x509672(0x226)],'source':_0x5d7662[_0x509672(0x21b)],'success_rate':_0x1dcd36['confidence']});return _0x1f5c16[_0x509672(_0x1c9b9b._0x164947)]===0x0?_0x5d7662['ctzBz'](b,x(_0x1dcd36[_0x509672(0x207)])):_0x1f5c16;}function ee(_0x52f571,_0x3f51db,_0x3b1124){return b(_0x52f571);}function b(_0x2d8c1c){const _0x3cf882={_0x1c4070:0x260,_0x202e55:0x27b,_0x569191:0x1d6,_0x3a48cb:0x1aa,_0x2a0c6f:0x1b4,_0x160fe1:0x1b8,_0x21dd7b:0x1ae,_0x31d842:0x1ea,_0x2d622d:0x26c,_0x4f1e12:0x239,_0x1fc9d4:0x1b6,_0x56c398:0x233,_0x29b1b4:0x1c7,_0x20e454:0x214,_0x2aa32e:0x20d},_0x2badf8=_0x37c9c5,_0x5be118={'QRyuS':'npm\x20install','qXZtl':_0x2badf8(0x227),'JWQsI':_0x2badf8(_0x3cf882._0x1c4070),'gShFX':_0x2badf8(_0x3cf882._0x202e55),'nbiaK':_0x2badf8(0x1ae),'yljdQ':_0x2badf8(_0x3cf882._0x569191),'zWXST':_0x2badf8(0x208),'FCsJL':'npm\x20cache\x20clean\x20--force\x202>/dev/null;\x20mvn\x20dependency:purge-local-repository\x20-DactTransitively=false\x202>/dev/null;\x20echo\x20done','qZzxq':_0x2badf8(_0x3cf882._0x3a48cb)},_0x35757e={[g[_0x2badf8(0x210)]]:[{'name':_0x2badf8(0x287),'commands':[_0x2badf8(0x242),_0x2badf8(_0x3cf882._0x2a0c6f),_0x5be118[_0x2badf8(_0x3cf882._0x160fe1)]],'verify':_0x2badf8(_0x3cf882._0x21dd7b),'success_rate':0.7,'applicable':_0x37f3df=>_0x2fe876[_0x2badf8(0x1fc)](_0x1b9c8c['join'](_0x37f3df,_0x2badf8(0x219)))},{'name':_0x2badf8(_0x3cf882._0x31d842),'commands':[_0x2badf8(_0x3cf882._0x2d622d)],'verify':'mvn\x20compile','success_rate':0.65,'applicable':_0x5369a7=>_0x2fe876['existsSync'](_0x1b9c8c['join'](_0x5369a7,_0x2badf8(0x24d)))},{'name':_0x2badf8(0x198),'commands':[_0x5be118['qXZtl']],'verify':_0x5be118['JWQsI'],'success_rate':0.6,'applicable':_0x4adaee=>_0x2fe876['existsSync'](_0x1b9c8c['join'](_0x4adaee,'requirements.txt'))}],[g[_0x2badf8(0x1d4)]]:[{'name':_0x2badf8(0x1d0),'commands':[],'verify':'echo\x20\x22config\x20validation\x22','success_rate':0.5,'description':_0x2badf8(_0x3cf882._0x4f1e12)}],[g[_0x2badf8(0x297)]]:[{'name':_0x5be118['gShFX'],'commands':[_0x2badf8(0x290),_0x5be118['QRyuS']],'verify':_0x5be118[_0x2badf8(_0x3cf882._0x1fc9d4)],'rollback':_0x2badf8(_0x3cf882._0x56c398),'success_rate':0.8,'applicable':_0x36d572=>_0x2fe876[_0x2badf8(0x1fc)](_0x1b9c8c['join'](_0x36d572,_0x2badf8(0x219)))},{'name':_0x5be118[_0x2badf8(0x17d)],'commands':[],'verify':_0x2badf8(_0x3cf882._0x29b1b4),'success_rate':0.7,'description':'Switch\x20Maven\x20mirror\x20to\x20Alibaba'},{'name':_0x5be118[_0x2badf8(0x1f5)],'commands':[_0x2badf8(0x212)],'verify':_0x2badf8(_0x3cf882._0x20e454),'success_rate':0.75,'applicable':_0x2d3670=>_0x2fe876['existsSync'](_0x1b9c8c['join'](_0x2d3670,'requirements.txt'))}],[g['TOOLCHAIN']]:[{'name':_0x2badf8(_0x3cf882._0x2aa32e),'commands':[],'verify':'echo\x20\x22toolchain\x20check\x22','success_rate':0.4,'description':'Check\x20and\x20suggest\x20tool\x20version\x20adjustments'}],[g['RESOURCE']]:[{'name':'clean-disk-space','commands':[_0x5be118[_0x2badf8(0x283)]],'verify':_0x5be118[_0x2badf8(0x19c)],'success_rate':0.5}],[g['PERMISSION']]:[{'name':'fix-permissions','commands':[],'verify':'echo\x20\x22permission\x20check\x22','success_rate':0.3,'description':'Check\x20file\x20permissions'}]};return _0x35757e[_0x2d8c1c]||_0x35757e[g['DEPENDENCY']];}function te(_0x28a2f2,_0x2e75da){const _0x1727b7=_0x37c9c5,_0x244d4c={'taoDB':function(_0x9a2891,_0x507643){return _0x9a2891===_0x507643;}};if(!_0x28a2f2||!_0x2e75da)return!0x1;const _0x416eec=_0x2e75da[_0x1727b7(0x267)]()['split'](/[\s\-_.,;:!?/\\]+/)[_0x1727b7(0x190)](_0x5eca5a=>_0x5eca5a[_0x1727b7(0x23a)]>0x2);return _0x244d4c['taoDB'](_0x416eec['length'],0x0)?!0x1:_0x416eec['filter'](_0xd4ecaa=>_0x28a2f2['includes'](_0xd4ecaa))[_0x1727b7(0x23a)]/_0x416eec[_0x1727b7(0x23a)]>=0.6;}function ne(_0x431cb1){const _0x3646ae={_0x4198f6:0x192,_0x306208:0x25f,_0x319d88:0x1eb,_0x444d15:0x1f6},_0x36617e=_0x37c9c5,_0x57879e={'hYZHm':_0x36617e(0x266),'hygzM':'Created\x20git\x20stash\x20snapshot'};try{if(_0xf1c0c5('git\x20status\x20--porcelain',{'cwd':_0x431cb1,'encoding':'utf-8','timeout':0x2710})[_0x36617e(_0x3646ae._0x4198f6)]())return _0xf1c0c5(_0x57879e['hYZHm'],{'cwd':_0x431cb1,'encoding':'utf-8','timeout':0x2710}),d[_0x36617e(_0x3646ae._0x306208)](_0x57879e['hygzM']),!0x0;}catch(_0xcd5ad9){d['warn'](_0x36617e(_0x3646ae._0x319d88),{'error':_0xcd5ad9[_0x36617e(_0x3646ae._0x444d15)]});}return!0x1;}function A(_0x52044f){const _0x15fbad={_0x4b814a:0x1b5,_0x4db02a:0x1cf,_0x19a4c0:0x18e,_0x7c3db6:0x1ad},_0x2209f7=_0x37c9c5,_0x39f3f3={'yPwBo':function(_0x5b6083,_0x35f84b,_0x56a75d){return _0x5b6083(_0x35f84b,_0x56a75d);},'VAajS':_0x2209f7(0x1be),'gGPMe':function(_0x163911,_0x1203e6,_0x247366){return _0x163911(_0x1203e6,_0x247366);},'GwItf':'git\x20stash\x20pop'};try{if(_0x39f3f3['yPwBo'](_0xf1c0c5,'git\x20stash\x20list',{'cwd':_0x52044f,'encoding':_0x2209f7(_0x15fbad._0x4b814a),'timeout':0x2710})[_0x2209f7(_0x15fbad._0x4db02a)](_0x39f3f3[_0x2209f7(_0x15fbad._0x19a4c0)]))return _0x39f3f3['gGPMe'](_0xf1c0c5,_0x39f3f3[_0x2209f7(0x1f8)],{'cwd':_0x52044f,'encoding':'utf-8','timeout':0x2710}),d['debug']('Rolled\x20back\x20to\x20snapshot'),!0x0;}catch(_0x18dda9){d['warn'](_0x2209f7(_0x15fbad._0x7c3db6),{'error':_0x18dda9['message']});}return!0x1;}function se(_0x4e3772){const _0x25aa39={_0x4b7cd7:0x243,_0x2ff9b9:0x1de,_0x2758d9:0x187,_0x1cf007:0x203,_0x51b235:0x209},_0x52edbc=_0x37c9c5,_0x3e8545={'kIPdc':_0x52edbc(_0x25aa39._0x4b7cd7)},_0x3ad1e7=['rm\x20-rf\x20/',_0x3e8545[_0x52edbc(_0x25aa39._0x2ff9b9)],_0x52edbc(_0x25aa39._0x2758d9),_0x52edbc(_0x25aa39._0x1cf007),_0x52edbc(_0x25aa39._0x51b235),'>\x20/dev/sda','chmod\x20-R\x20777\x20/','curl\x20|\x20sh','wget\x20|\x20sh'],_0x3a57f5=_0x4e3772['toLowerCase']();return _0x3ad1e7['some'](_0x46c9ae=>_0x3a57f5[_0x52edbc(0x1cf)](_0x46c9ae));}function ie(_0xec4fcb,_0x3d91ab){const _0xba9773={_0x55e782:0x18f,_0x2f05c1:0x1fc,_0x53bd69:0x1ef,_0xf9713a:0x1bc,_0x27150c:0x1a9,_0x2903a4:0x225,_0x202244:0x1fa,_0x2bdfa2:0x27c,_0x102cc9:0x269,_0x236939:0x247},_0x2aded8=_0x37c9c5,_0x2b34bf={'fsHtS':'.autospec','gDLpA':'FAILED','jYoUh':_0x2aded8(0x221)};try{const _0x14d6ec=_0x1b9c8c['join'](_0xec4fcb,_0x2b34bf[_0x2aded8(_0xba9773._0x55e782)],_0x2aded8(0x217));_0x2fe876[_0x2aded8(_0xba9773._0x2f05c1)](_0x14d6ec)||_0x2fe876[_0x2aded8(_0xba9773._0x53bd69)](_0x14d6ec,{'recursive':!0x0});const _0x443768=new Date()['toISOString']()['split']('T')[0x0],_0x307a71=_0x1b9c8c['join'](_0x14d6ec,_0x443768+'-env-repair.md'),_0x4f8ea6='##\x20['+_0x3d91ab['timestamp']+']\x20环境自愈记录\x0a\x0a**诊断来源**:\x20'+_0x3d91ab['diagnosis']['source']+'\x0a**错误分类**:\x20'+_0x3d91ab['diagnosis'][_0x2aded8(0x191)]+_0x2aded8(_0xba9773._0xf9713a)+_0x3d91ab[_0x2aded8(0x20e)][_0x2aded8(0x19a)]+'\x0a**修复策略**:\x20'+_0x3d91ab[_0x2aded8(0x1b7)]['name']+_0x2aded8(0x222)+_0x3d91ab['diagnosis']['confidence']+_0x2aded8(_0xba9773._0x27150c)+(_0x3d91ab[_0x2aded8(0x27c)][_0x2aded8(_0xba9773._0x2903a4)]?_0x2aded8(_0xba9773._0x202244):_0x2b34bf['gDLpA'])+'\x0a'+(_0x3d91ab['result'][_0x2aded8(0x1ac)]?_0x2aded8(0x1ed)+_0x3d91ab[_0x2aded8(_0xba9773._0x2bdfa2)]['error']:'')+'\x0a\x0a---\x0a\x0a';_0x2fe876[_0x2aded8(_0xba9773._0x2f05c1)](_0x307a71)?_0x2fe876['appendFileSync'](_0x307a71,_0x4f8ea6,'utf-8'):_0x2fe876[_0x2aded8(_0xba9773._0x102cc9)](_0x307a71,_0x2aded8(_0xba9773._0x236939)+_0x443768+'\x0a\x0a'+_0x4f8ea6,'utf-8');}catch(_0x96fc4a){d['warn'](_0x2b34bf['jYoUh'],{'error':_0x96fc4a['message']});}}const M=[_0x37c9c5(0x219),'package-lock.json',_0x37c9c5(0x183),_0x37c9c5(0x22e),'pom.xml','build.gradle','Cargo.toml',_0x37c9c5(0x19e),'requirements.txt',_0x37c9c5(0x197),'docker-compose.yml',_0x37c9c5(0x1b9),_0x37c9c5(0x262),'.env.local','.env.development',_0x37c9c5(0x223),_0x37c9c5(0x1bf),_0x37c9c5(0x1ec),'webpack.config.js',_0x37c9c5(0x1e4),'rollup.config.js',_0x37c9c5(0x1a2),_0x37c9c5(0x1ab),_0x37c9c5(0x1ba),_0x37c9c5(0x29c),'.nvmrc',_0x37c9c5(0x236)];function T(_0x8e6650,_0x2c3bcd){const _0x602051={_0x5853b3:0x1cf},_0x134bc2=_0x37c9c5,_0x15235f={'gyfgj':'Edit'};if(_0x8e6650!=='Write'&&_0x8e6650!==_0x15235f['gyfgj']||!_0x2c3bcd)return!0x1;const _0x2e890d=_0x1b9c8c['basename'](_0x2c3bcd);return M[_0x134bc2(_0x602051._0x5853b3)](_0x2e890d);}function re(_0x39ca79,_0x4e96db){const _0x42b9f1={_0x4ae858:0x1c3,_0x2c9eb0:0x25f,_0x300ed5:0x238,_0x5d16eb:0x216,_0xe20f2b:0x235,_0x3d0abb:0x22d},_0x442af5=_0x37c9c5,_0x1c7fcf={'hDXEB':function(_0x3d1e21,_0x149eab){return _0x3d1e21===_0x149eab;},'VHCOb':_0x442af5(0x18b)},_0x40aaaf={'timestamp':new Date()['toISOString'](),'changedFile':_0x4e96db,'changes':[]},_0xcb1198=_0x1b9c8c[_0x442af5(_0x42b9f1._0x4ae858)](_0x4e96db);if(_0xcb1198==='package.json')try{const _0x4cd050=JSON[_0x442af5(0x271)](_0x2fe876['readFileSync'](_0x4e96db,_0x442af5(0x1b5)));_0x40aaaf['changes']['push']({'type':'package_json','dependencies':Object['keys'](_0x4cd050['dependencies']||{}),'devDependencies':Object[_0x442af5(0x298)](_0x4cd050['devDependencies']||{})});}catch(_0x3ef5bf){d[_0x442af5(_0x42b9f1._0x2c9eb0)]('Failed\x20to\x20parse\x20package.json',{'error':_0x3ef5bf['message']});}else _0x1c7fcf[_0x442af5(_0x42b9f1._0x300ed5)](_0xcb1198,'pom.xml')?_0x40aaaf['changes']['push']({'type':_0x442af5(_0x42b9f1._0x5d16eb)}):_0xcb1198===_0x442af5(0x197)||_0xcb1198['startsWith'](_0x1c7fcf[_0x442af5(_0x42b9f1._0xe20f2b)])?_0x40aaaf[_0x442af5(_0x42b9f1._0x3d0abb)]['push']({'type':'docker'}):_0xcb1198==='.env'&&_0x40aaaf['changes'][_0x442af5(0x1c4)]({'type':'env'});return _0x40aaaf;}async function ae(_0x5bd103,_0x3ee7cc,_0x454df1){const _0x5336dc={_0x2f8869:0x1c2,_0x42e9ea:0x1fc,_0x1c05b2:0x271,_0x3f6622:0x1c1,_0x318807:0x188,_0x564983:0x25f,_0x2a046b:0x23d},_0x14c505=_0x37c9c5,_0x3e17e2={'mvxcO':function(_0x57a3c7,_0x10c98b,_0x163161){return _0x57a3c7(_0x10c98b,_0x163161);}};if(!_0x3e17e2[_0x14c505(0x21c)](T,_0x5bd103,_0x3ee7cc))return{'triggered':!0x1};d[_0x14c505(0x229)]('Environment\x20file\x20change\x20detected',{'filePath':_0x3ee7cc});const _0x5ab5fe=re(_0x454df1,_0x3ee7cc),_0x21be3e=_0x1b9c8c['join'](_0x454df1,_0x14c505(0x21f),_0x14c505(0x1a4),_0x14c505(_0x5336dc._0x2f8869));let _0x8f093e=null;if(_0x2fe876[_0x14c505(_0x5336dc._0x42e9ea)](_0x21be3e))try{_0x8f093e=JSON[_0x14c505(_0x5336dc._0x1c05b2)](_0x2fe876['readFileSync'](_0x21be3e,'utf-8'))['profile'];}catch{}const _0x1a41e6=_0x5ab5fe['changes']['length']>0x0;if(_0x1a41e6){_0x2fe876[_0x14c505(0x269)](_0x21be3e,JSON['stringify']({'profile':_0x5ab5fe,'timestamp':_0x5ab5fe['timestamp']},null,0x2),'utf-8');try{const {BaseStore:_0x1b7766}=await import(_0x14c505(_0x5336dc._0x3f6622));await new _0x1b7766(_0x454df1,_0x14c505(0x1d5))['add']({'type':_0x14c505(0x17a),'file':_0x1b9c8c['basename'](_0x3ee7cc),'changes':_0x5ab5fe[_0x14c505(0x22d)],'timestamp':_0x5ab5fe[_0x14c505(_0x5336dc._0x318807)]});}catch(_0x805819){d[_0x14c505(_0x5336dc._0x564983)](_0x14c505(_0x5336dc._0x2a046b),{'error':_0x805819['message']});}return{'triggered':!0x0,'profile':_0x5ab5fe,'hasSignificantChange':_0x1a41e6};}return{'triggered':!0x1};}var ve={'preFlightCheck':Y,'diagnoseFailure':I,'executeRepair':$,'verifyRepair':N,'learnFromRepair':j,'selfHealLoop':F,'getRepairStats':B,'checkEnvironmentFileChange':ae,'isEnvironmentFileChange':T,'ENV_SIGNIFICANT_FILES':M,'ERROR_CATEGORIES':g,'MAX_REPAIR_ATTEMPTS':O};export{ae as checkEnvironmentFileChange,ve as default,I as diagnoseFailure,$ as executeRepair,B as getRepairStats,T as isEnvironmentFileChange,j as learnFromRepair,Y as preFlightCheck,re as quickReprobe,F as selfHealLoop,N as verifyRepair};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x58019e=_0x1eff;(function(_0x21f7d4,_0x2eb45d){const _0x36e328={_0x85fca3:0x136,_0x11d9b4:0xdd,_0xd7d40f:0x131,_0x552a44:0xe2,_0x46b962:0x137,_0x2bd1a6:0x107},_0x1ddff4=_0x1eff,_0x47fedb=_0x21f7d4();while(!![]){try{const _0x2eaede=-parseInt(_0x1ddff4(_0x36e328._0x85fca3))/0x1+parseInt(_0x1ddff4(_0x36e328._0x11d9b4))/0x2+parseInt(_0x1ddff4(_0x36e328._0xd7d40f))/0x3+-parseInt(_0x1ddff4(0x112))/0x4+parseInt(_0x1ddff4(0x13f))/0x5+-parseInt(_0x1ddff4(_0x36e328._0x552a44))/0x6*(-parseInt(_0x1ddff4(0xfe))/0x7)+parseInt(_0x1ddff4(_0x36e328._0x46b962))/0x8*(-parseInt(_0x1ddff4(_0x36e328._0x2bd1a6))/0x9);if(_0x2eaede===_0x2eb45d)break;else _0x47fedb['push'](_0x47fedb['shift']());}catch(_0x427a09){_0x47fedb['push'](_0x47fedb['shift']());}}}(_0x1e31,0xcd167));function _0x1e31(){const _0x22f1c5=['y2f0zwDVCNK','CgfYC2u','C3bSAxq','zw52AxjVBM1LBNqTC3rHCNr1Cc1Zy2fU','Aw5MBW','C3rYAw5NAwz5','BwLZC2LUz0rPBwvUC2LVBNm','ios4QUwpMoABTcaO5lIL6yEn5BQMoIa','C3rKB3v0','w0f1Dg9tCgvJxsdNJQ/LOOpNN6xOR4BNVlRLSjhNU7tLUQy6ia','D3jPDgu','zNvUy3rPB24','BgfUz3vHz2u','ihWG5BEL5l2C5RwboIa','mJi5mJeYyMXWtLPM','CMvJB3jKrxbPC29Kzq','D2vICgfJAW','EeLnwu0','tfzZBxO','otu0otGZseHivwHo','mtmXmMXVCNjtAa','CMvXDwLYzw1LBNrZlNr4Da','w0f1Dg9tCgvJxsdNJQ/LOOpNN6xOR4BLT7lOV4FMNj/VViZLU7RORQ7MIAFOOyWGl2f0C3G6zw52ihj1BIaTlxjLzNjLC2GG5yI35PAW','ywrKzwq','yNvPBgruB29SCW','y2DUELq','qKrIEeq','BMfTzq','ndi4nteWmefLvgfHwa','BM93','zMLSDgvY','zhjPzNq','ChL0Ag9U','CgfJA2fNzu1HBMfNzxi','r0rjBeS','y1LIthK','DMvYC2LVBNm','zw52lwnVCMu','Dg9VBf9Uyw1L','mtiZody5mKfnCvPHza','CMvWBgfJzq','zw52AxjVBM1LBNqTzhjPzNq','EwfYBG','BgfUz3vHz2vZ','nJbnC3Pov3m','DhnJB25MAwCUANnVBG','Dg9VBhm','Bg93','C2vLzezYB21hBg9IywW','D3jPDgvgAwXLu3LUyW','AM9PBG','ywzJtxG','DhnJ','BM5ovge','DMvYC2LVBKnOyw5Nzwq','wMzJtNy','rw52AxjVBM1LBNqGC3rHCNr1CcbZy2fUignVBxbSzxrLza','BgfZDefJDgL2zq','AKrnAgW','ms4W','CMvHzezPBgvtEw5J','z28UBw9K','DhjPBq','y2HHBMDLCW','C3rHyMXL','AMf2yq','rMfPBgvKihrVignOzwnRigXLyxjUAw5Nihn0yxr1CW','DhLWzq','CMvTB3zLza','wu9yAfO','BM9Kzq','tI9b','nJq5nZe5Dw1PweHv','uhL0Ag9Uia','zxHPC3rZu3LUyW','AMf2ysaTDMvYC2LVBIaYpIyX','Bg5fBgG','zLL5zKy','w0f1Dg9tCgvJievUDMLYB25Tzw50xsdOG73LIPVLJixLT7lLSlhNU6O6ia','rMfPBgvKihrVihnLzwqGzNjVBsbNBg9IywW','Dg9ju09tDhjPBMC','ntu4D1rUtgTR','BM9KzsaTlxzLCNnPB24','BwfW','Ag9VA1nWzwnPzMLJt3v0Chv0','ksdKVyBLSjRML6dNJQ/LOOpORQtNN6xJGilLU7RORQ7MIAFOOyWGl2f0C3G6zw52ihj1BIdLU7RNQ4VNJQ/LOOpORQtNN6u','BgvUz3rO','ChjVzMLSzq','C29Tzq','Cg5WBq','w0f1Dg9tCgvJxsdMO4dMTyVLIldMLRdLOP7MIOdMNk8Gka','zNjHBwv3B3jRCW','mJCWmZaWmgLWrKPHrq','zxHPDa','w0f1Dg9tCgvJxsdMO4dMTyVLIldMIOdMNk/MOiGGka','zgvIDwC','EhHZyLi','zM9YrwfJAa','D29YA2zSB3DZ','BwvZC2fNzq','A3vxy0O','ug9ZDfrVB2XvC2u','y3DK','BwTKAxjtEw5J','zgLYBMfTzq','ChvZAa','Cg9TlNHTBa','cIaG6k+T6kIaoIa','y3LJAvi'];_0x1e31=function(){return _0x22f1c5;};return _0x1e31();}function _0x1eff(_0x4c644a,_0x4dfb83){_0x4c644a=_0x4c644a-0xd6;const _0x1e313c=_0x1e31();let _0x1eff4a=_0x1e313c[_0x4c644a];if(_0x1eff['qzxYRq']===undefined){var _0x1efb9d=function(_0x49904b){const _0x3a878b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e57c9='',_0x41dfe2='';for(let _0x295e14=0x0,_0x54c1cf,_0x3d3e58,_0x2e6012=0x0;_0x3d3e58=_0x49904b['charAt'](_0x2e6012++);~_0x3d3e58&&(_0x54c1cf=_0x295e14%0x4?_0x54c1cf*0x40+_0x3d3e58:_0x3d3e58,_0x295e14++%0x4)?_0x3e57c9+=String['fromCharCode'](0xff&_0x54c1cf>>(-0x2*_0x295e14&0x6)):0x0){_0x3d3e58=_0x3a878b['indexOf'](_0x3d3e58);}for(let _0x153360=0x0,_0x1a88db=_0x3e57c9['length'];_0x153360<_0x1a88db;_0x153360++){_0x41dfe2+='%'+('00'+_0x3e57c9['charCodeAt'](_0x153360)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41dfe2);};_0x1eff['tAlQOh']=_0x1efb9d,_0x1eff['BNGZIT']={},_0x1eff['qzxYRq']=!![];}const _0x303d28=_0x1e313c[0x0],_0xc4adca=_0x4c644a+_0x303d28,_0x184c57=_0x1eff['BNGZIT'][_0xc4adca];return!_0x184c57?(_0x1eff4a=_0x1eff['tAlQOh'](_0x1eff4a),_0x1eff['BNGZIT'][_0xc4adca]=_0x1eff4a):_0x1eff4a=_0x184c57,_0x1eff4a;}import _0x4b0bd5 from'fs';import _0xca6769 from'path';import{execSync as _0x5112d1}from'child_process';import{fileURLToPath as _0x5b88c3}from'url';import{createHookLogger as _0x1f1f31,safeJsonParse as _0x501035,handleHookError as _0x138354,readStdin as _0x4e218f,findProjectRootAsync as _0x15efa5}from'./lib/hook-logger.js';import{CognitiveKernel as _0x30294a}from'./lib/cognitive/kernel.js';import{LearningEngine as _0x3075b6}from'./lib/environment-learning-engine.js';import{readCapabilityPackage as _0x51e9fa}from'./lib/environment-capability-package.js';const p=_0x1f1f31(_0x58019e(0x126));function d(_0x30aa74){const _0x4a6c9e={_0x3fd6ce:0xe8},_0x54acae=_0x58019e;return _0xca6769[_0x54acae(_0x4a6c9e._0x3fd6ce)](_0x30aa74,'.autospec','runtime','session-marker.json');}function y(_0x5155a6){const _0x21e167={'uCJUj':'environment-profile.json'};return _0xca6769['join'](_0x5155a6,'.autospec','memory',_0x21e167['uCJUj']);}function $(_0x89a39e){const _0x906536={_0x3df492:0x124,_0x1101be:0xef,_0x475975:0x140},_0x366770=_0x58019e,_0x11ba04={'nnNTa':function(_0x21ec8d,_0x88f28b){return _0x21ec8d*_0x88f28b;}},_0x2c5d13=d(_0x89a39e);if(!_0x4b0bd5['existsSync'](_0x2c5d13))return!0x0;try{const _0x467ffe=JSON[_0x366770(_0x906536._0x3df492)](_0x4b0bd5['readFileSync'](_0x2c5d13,'utf-8')),_0x235bbe=new Date(_0x467ffe[_0x366770(_0x906536._0x1101be)]);return(Date[_0x366770(_0x906536._0x475975)]()-_0x235bbe['getTime']())/_0x11ba04[_0x366770(0xeb)](0x3e8,0x3c)>0x1e;}catch{return!0x0;}}function A(_0x3ad7d5){const _0x3faea7={_0x3594fe:0x13d},_0x457b84=_0x58019e,_0x49867c={'BDbxD':_0x457b84(0xf1),'LmWIL':'utf-8'},_0x117127=d(_0x3ad7d5);_0x4b0bd5[_0x457b84(0x11d)](_0xca6769['dirname'](_0x117127),{'recursive':!0x0}),_0x4b0bd5[_0x457b84(0xe7)](_0x117127,JSON['stringify']({'lastActive':new Date()['toISOString'](),'version':_0x49867c[_0x457b84(_0x3faea7._0x3594fe)]},null,0x2),_0x49867c['LmWIL']);}function C(_0x529825,_0x3a4811){const _0x23e5dd={_0x47336a:0x103,_0x43a0ad:0x11e,_0x4d3faa:0x106},_0x5ef806=_0x58019e,_0x262c8a={'fYyfF':function(_0x2e2574,_0x3d6387){return _0x2e2574(_0x3d6387);},'wIiLd':'utf-8'},_0x216c37=_0x262c8a[_0x5ef806(_0x23e5dd._0x47336a)](y,_0x529825);_0x4b0bd5[_0x5ef806(0x11d)](_0xca6769[_0x5ef806(_0x23e5dd._0x43a0ad)](_0x216c37),{'recursive':!0x0}),_0x4b0bd5['writeFileSync'](_0x216c37,JSON['stringify']({'profile':_0x3a4811,'timestamp':new Date()[_0x5ef806(_0x23e5dd._0x4d3faa)]()},null,0x2),_0x262c8a['wIiLd']);}function M(_0x27ff4e){const _0x3ee3a5={_0x4a1101:0x100,_0x514c45:0x122},_0x18d6d7=_0x58019e,_0xd0652b={'cyciR':'utf-8'},_0x3bba9f=y(_0x27ff4e);if(!_0x4b0bd5[_0x18d6d7(_0x3ee3a5._0x4a1101)](_0x3bba9f))return null;try{return JSON['parse'](_0x4b0bd5[_0x18d6d7(0xf2)](_0x3bba9f,_0xd0652b[_0x18d6d7(_0x3ee3a5._0x514c45)]))[_0x18d6d7(0x10d)]||null;}catch{return null;}}function m(_0x2b8486,_0x37a6e6=_0xa1e6b2=>_0xa1e6b2){const _0x3b8b69={_0x4062da:0x11a},_0x5aada3=_0x58019e,_0x528c3b={'xiwDb':function(_0x44b58e,_0x3f5cdd,_0x2d30e4){return _0x44b58e(_0x3f5cdd,_0x2d30e4);},'kuWcJ':'utf-8'};try{return _0x37a6e6(_0x528c3b['xiwDb'](_0x5112d1,_0x2b8486,{'encoding':_0x528c3b[_0x5aada3(_0x3b8b69._0x4062da)],'timeout':0x7d0})[_0x5aada3(0xf4)]());}catch{return null;}}function T(_0x4d0e2e,_0x1f734e){const _0x55bf57={_0x187d73:0xf6,_0x15d527:0xe1,_0x1ce767:0x111,_0xe1b4fc:0x117,_0x5d1a23:0x117,_0x3a479b:0x10e,_0x212b12:0x10c},_0x503079={_0x3c2b36:0xec},_0xa30728={_0x2f9159:0x13a},_0x147775=_0x58019e,_0x4e37b3={'hIfHv':_0x147775(0xfa),'dbbyG':_0x147775(0x12f),'xxsbR':'high','KOOHa':'medium','cuYfz':_0x147775(_0x55bf57._0x187d73)};if(!_0x4d0e2e)return{'type':'new','changes':[],'severity':_0x4e37b3['xxsbR']};const _0x2667a9=[],_0x3f53b6=_0x4d0e2e[_0x147775(_0x55bf57._0x15d527)]||[],_0x3ae7ab=_0x1f734e['languages']||[],_0x3e0fb2=_0x4d0e2e[_0x147775(_0x55bf57._0x1ce767)]||[],_0x4942f3=_0x1f734e['frameworks']||[],_0x59b94a=_0x4d0e2e['versions']||{},_0x4b1003=_0x1f734e['versions']||{};_0x3f53b6[_0x147775(_0x55bf57._0xe1b4fc)](_0x4c3bc0=>{_0x3ae7ab['includes'](_0x4c3bc0)||_0x2667a9['push']({'type':_0x4e37b3['hIfHv'],'category':_0x4e37b3['dbbyG'],'name':_0x4c3bc0});}),_0x3ae7ab['forEach'](_0x4f3069=>{const _0x177bf2=_0x147775;_0x3f53b6['includes'](_0x4f3069)||_0x2667a9['push']({'type':_0x177bf2(_0xa30728._0x2f9159),'category':_0x4e37b3['dbbyG'],'name':_0x4f3069});}),_0x3e0fb2['forEach'](_0x4a0660=>{_0x4942f3['includes'](_0x4a0660)||_0x2667a9['push']({'type':'removed','category':'framework','name':_0x4a0660});}),_0x4942f3[_0x147775(0x117)](_0x5261ff=>{_0x3e0fb2['includes'](_0x5261ff)||_0x2667a9['push']({'type':'added','category':'framework','name':_0x5261ff});}),Object['keys'](_0x4b1003)[_0x147775(_0x55bf57._0x5d1a23)](_0x5d21da=>{const _0x3c1963=_0x147775;_0x59b94a[_0x5d21da]!==_0x4b1003[_0x5d21da]&&_0x2667a9['push']({'type':_0x3c1963(_0x503079._0x3c2b36),'category':'version','name':_0x5d21da,'old':_0x59b94a[_0x5d21da],'new':_0x4b1003[_0x5d21da]});});let _0x116c8b=_0x147775(0xe5);return _0x2667a9[_0x147775(_0x55bf57._0x3a479b)](_0x328b3a=>_0x328b3a['type']==='removed'&&(_0x328b3a[_0x147775(0x123)]===_0x147775(0x12f)||_0x328b3a[_0x147775(0x123)]==='framework'))?_0x116c8b=_0x4e37b3[_0x147775(0x116)]:_0x2667a9[_0x147775(0x10e)](_0x3cf355=>_0x3cf355[_0x147775(0xf9)]===_0x147775(0xec))&&(_0x116c8b=_0x4e37b3['KOOHa']),{'type':_0x2667a9[_0x147775(_0x55bf57._0x212b12)]>0x0?'drift':_0x4e37b3['cuYfz'],'changes':_0x2667a9,'severity':_0x116c8b};}function F(_0x502c30){const _0x119b0f={_0x2fc985:0x106,_0x4e6a96:0x108,_0x362c9d:0x135,_0x42b1ab:0x11f,_0x2ee2fa:0xd6,_0x30151f:0x101,_0x4a0612:0xed,_0x1c1585:0xd7,_0x5d21f1:0x100,_0x593c5e:0xe8,_0x248886:0x100,_0x2b2bc6:0xf0,_0x5743d1:0x13b,_0x2a29dd:0xe3,_0xe2c50e:0xea},_0x5146b8=_0x58019e,_0x53feb3={'LVsmz':function(_0x91540e,_0x4b05af,_0x268602){return _0x91540e(_0x4b05af,_0x268602);},'ZfcNv':'package.json','JmsQY':'npm','wqKug':'yarn.lock','YYuTa':'pnpm-lock.yaml','RVjcy':_0x5146b8(0x10f),'IYPWn':_0x5146b8(0xf3),'WUwFK':'webpack.config.js','jDMhl':_0x5146b8(0x133),'lnElh':'vite.config.js','KZzku':'vite.config.ts','cYbLy':'vite'},_0x28787c={'languages':[],'frameworks':[],'versions':{},'packageManager':null,'buildTools':[],'timestamp':new Date()[_0x5146b8(_0x119b0f._0x2fc985)]()},_0x58ed63=m(_0x5146b8(_0x119b0f._0x4e6a96));_0x58ed63&&(_0x28787c['languages']['push'](_0x5146b8(0xfc)),_0x28787c[_0x5146b8(0xda)][_0x5146b8(0xfc)]=_0x58ed63);const _0x1202cf=_0x53feb3[_0x5146b8(_0x119b0f._0x362c9d)](m,'python3\x20--version\x202>&1',_0x5365d3=>_0x5365d3[_0x5146b8(0xde)](_0x5146b8(0xff),''));_0x1202cf&&(_0x28787c['languages'][_0x5146b8(_0x119b0f._0x42b1ab)](_0x5146b8(_0x119b0f._0x2ee2fa)),_0x28787c[_0x5146b8(0xda)][_0x5146b8(0xd6)]=_0x1202cf);const _0x2c33b0=m(_0x5146b8(_0x119b0f._0x30151f),_0x3afb7c=>_0x3afb7c[_0x5146b8(0x125)]('\x0a')[0x0]);return _0x2c33b0&&(_0x28787c['languages'][_0x5146b8(0x11f)]('java'),_0x28787c['versions'][_0x5146b8(0xf7)]=_0x2c33b0),_0x4b0bd5[_0x5146b8(0x100)](_0xca6769['join'](_0x502c30,_0x53feb3[_0x5146b8(_0x119b0f._0x4a0612)]))?(_0x28787c[_0x5146b8(_0x119b0f._0x1c1585)]=_0x53feb3['JmsQY'],_0x4b0bd5[_0x5146b8(_0x119b0f._0x5d21f1)](_0xca6769['join'](_0x502c30,_0x53feb3['wqKug']))&&(_0x28787c[_0x5146b8(0xd7)]=_0x5146b8(0xe0)),_0x4b0bd5[_0x5146b8(0x100)](_0xca6769[_0x5146b8(0xe8)](_0x502c30,_0x53feb3['YYuTa']))&&(_0x28787c[_0x5146b8(0xd7)]=_0x53feb3['RVjcy'])):_0x4b0bd5['existsSync'](_0xca6769['join'](_0x502c30,_0x5146b8(0x138)))?_0x28787c['packageManager']='pip':_0x4b0bd5[_0x5146b8(0x100)](_0xca6769['join'](_0x502c30,_0x5146b8(0x120)))?_0x28787c[_0x5146b8(0xd7)]='maven':_0x4b0bd5['existsSync'](_0xca6769[_0x5146b8(_0x119b0f._0x593c5e)](_0x502c30,_0x53feb3['IYPWn']))&&(_0x28787c['packageManager']='go'),_0x4b0bd5[_0x5146b8(_0x119b0f._0x248886)](_0xca6769['join'](_0x502c30,_0x53feb3['WUwFK']))&&_0x28787c['buildTools']['push'](_0x53feb3[_0x5146b8(_0x119b0f._0x2b2bc6)]),(_0x4b0bd5[_0x5146b8(_0x119b0f._0x248886)](_0xca6769[_0x5146b8(0xe8)](_0x502c30,_0x53feb3[_0x5146b8(0x102)]))||_0x4b0bd5['existsSync'](_0xca6769[_0x5146b8(_0x119b0f._0x593c5e)](_0x502c30,_0x53feb3['KZzku'])))&&(_0x28787c[_0x5146b8(_0x119b0f._0x5743d1)]['push'](_0x53feb3[_0x5146b8(0xd9)]),_0x28787c['frameworks']['push']('vite')),_0x4b0bd5['existsSync'](_0xca6769[_0x5146b8(_0x119b0f._0x593c5e)](_0x502c30,_0x5146b8(_0x119b0f._0x2a29dd)))&&_0x28787c[_0x5146b8(_0x119b0f._0x5743d1)][_0x5146b8(0x11f)](_0x5146b8(_0x119b0f._0xe2c50e)),_0x28787c;}function O(_0x1bca09,_0x50e8fb,_0x142a0c){const _0x381b01={_0x3466a4:0x142,_0xb1aad6:0x139,_0xc919c3:0x12c,_0x4be928:0x129,_0x389617:0xe8,_0x2e71ba:0x111,_0x12f3a0:0x114,_0x4f048d:0x109},_0x290961=_0x58019e,_0x3b664c={'xVmzA':_0x290961(_0x381b01._0x3466a4)};let _0x21a7cc=null;if(_0x50e8fb['learned'])_0x50e8fb['stale']?_0x21a7cc=_0x290961(_0x381b01._0xb1aad6):_0x50e8fb[_0x290961(0x129)]['length']>0x0&&(_0x21a7cc=_0x290961(_0x381b01._0xc919c3)+_0x50e8fb[_0x290961(_0x381b01._0x4be928)][_0x290961(_0x381b01._0x389617)](',\x20')+'。建议执行\x20/atsx:env\x20run\x20补充');else{const _0xbd43a=[..._0x1bca09['languages']||[],..._0x1bca09[_0x290961(_0x381b01._0x2e71ba)]||[]][_0x290961(0x141)](Boolean);_0xbd43a[_0x290961(0x10c)]>0x0&&(_0x21a7cc=_0x290961(_0x381b01._0x12f3a0)+_0xbd43a['join'](',\x20')+_0x290961(0x10b));}return _0x142a0c['type']===_0x3b664c['xVmzA']&&_0x142a0c['changes'][_0x290961(0x10e)](_0x34d413=>_0x34d413['type']==='added')&&(_0x21a7cc=_0x290961(0x110)+_0x142a0c['changes']['filter'](_0x543763=>_0x543763[_0x290961(0xf9)]==='added')[_0x290961(_0x381b01._0x4f048d)](_0xa0d6e7=>_0xa0d6e7[_0x290961(0x13e)])['join'](',\x20')+'),建议执行\x20/atsx:env\x20run\x20进行增量学习'),_0x21a7cc;}function N(_0x418482,_0x4375a2,_0x23d0ac,_0xb7004a){const _0x5485bf={_0x29890a:0xd8,_0x3f6a7a:0x12a,_0x5460fd:0xf5,_0x5ccc02:0x11f,_0x41e506:0xe4,_0x56aeb9:0x104,_0x122167:0xdb,_0x2f02af:0x121,_0x4a9c21:0xfd},_0x1c060a=_0x58019e,_0x352f7b={'GDIlK':function(_0x2ff961,_0x59255c){return _0x2ff961===_0x59255c;},'cgnzT':_0x1c060a(0xdb)},_0x3db872=[];_0x352f7b[_0x1c060a(_0x5485bf._0x29890a)](_0x23d0ac['type'],'drift')&&_0x23d0ac['changes'][_0x1c060a(0x10c)]>0x0&&_0x3db872['push']('[AutoSpec\x20Environment]\x20环境漂移检测:\x20'+_0x23d0ac[_0x1c060a(0xf5)]['length']+_0x1c060a(_0x5485bf._0x3f6a7a)+_0x23d0ac['severity']+')\x0a'+_0x23d0ac[_0x1c060a(_0x5485bf._0x5460fd)]['slice'](0x0,0x3)['map'](_0x28f6e0=>'\x20\x20-\x20'+_0x28f6e0['type']+':\x20'+_0x28f6e0['category']+'\x20'+_0x28f6e0['name'])['join']('\x0a'));const _0xdcb90a=O(_0x418482,_0x4375a2,_0x23d0ac);if(_0xdcb90a&&_0x3db872[_0x1c060a(_0x5485bf._0x5ccc02)](_0xdcb90a),_0xb7004a)try{const _0x518f98=_0x51e9fa(_0xb7004a,_0x352f7b[_0x1c060a(0x13c)]);if(_0x518f98&&_0x518f98['manifest']){const _0xc56346=_0x518f98['manifest'],_0x9f01b6=_0x518f98['skills']?.['length']||0x0,_0x517b87=_0x518f98[_0x1c060a(_0x5485bf._0x41e506)]?.['length']||0x0,_0x240b4d=_0x518f98[_0x1c060a(0x118)]?.['length']||0x0;_0x3db872[_0x1c060a(_0x5485bf._0x5ccc02)](_0x1c060a(_0x5485bf._0x56aeb9)+(_0xc56346['pluginId']||_0x1c060a(_0x5485bf._0x122167))+'\x20v'+(_0xc56346['version']||'?')+_0x1c060a(_0x5485bf._0x2f02af)+((_0xc56346['profile']?.['languages']||[])['join'](',\x20')||_0x1c060a(_0x5485bf._0x4a9c21))+'\x0a\x20\x20技能:\x20'+_0x9f01b6+'\x20|\x20工具:\x20'+_0x517b87+_0x1c060a(0x130)+_0x240b4d);}else _0x4375a2?.['learned']&&_0x3db872['push']('[AutoSpec\x20Environment]\x20环境知识已学习但尚未编译为能力包。执行\x20/atsx:env\x20capabilities\x20查看或\x20/atsx:env\x20learn\x20--refresh\x20重新生成。');}catch{}return _0x3db872;}async function D(){const _0x2318da={_0x35d45c:0x12e,_0x1465e9:0x113,_0xd9cae8:0x11c,_0x24248e:0x11c,_0x5f57f9:0x10c,_0x3d37bc:0x127,_0x1e20b0:0x132,_0x38c104:0xdf,_0x1d28cd:0x134,_0x28f0ae:0xf5,_0x139df3:0xe6,_0x100de8:0x105,_0x481fea:0xf8,_0x251fcf:0x11b,_0x34a0bb:0xee},_0x4ade2b=_0x58019e,_0x4afa0c={'ZDpoX':'hook\x20input','bnUOd':'Session\x20still\x20active,\x20skipping\x20startup\x20scan','YOXhZ':function(_0x5995db,_0x28d9d5,_0x5dba9d){return _0x5995db(_0x28d9d5,_0x5dba9d);},'JAfft':function(_0x1ca99f,_0xb3a6d9){return _0x1ca99f===_0xb3a6d9;},'INKNw':'Environment\x20drift\x20detected','xIMYM':'environment_change','NkkQd':function(_0x49e4ff,_0x4c9e99){return _0x49e4ff==_0x4c9e99;},'afcMx':_0x4ade2b(_0x2318da._0x35d45c)};let _0x1d7a2e;try{_0x1d7a2e=_0x501035(await _0x4e218f(0x3e8),null,_0x4afa0c['ZDpoX']),_0x1d7a2e||process[_0x4ade2b(_0x2318da._0x1465e9)](0x0);}catch{process['exit'](0x0);}const _0x5c9595=_0x1d7a2e[_0x4ade2b(0xdc)],_0x4bd93f=await _0x15efa5(_0x1d7a2e[_0x4ade2b(_0x2318da._0xd9cae8)]||process[_0x4ade2b(_0x2318da._0x24248e)]());_0x4bd93f||process[_0x4ade2b(0x113)](0x0),$(_0x4bd93f)||(p[_0x4ade2b(0x115)](_0x4afa0c['bnUOd']),process[_0x4ade2b(0x113)](0x0)),p['info']('Starting\x20environment\x20startup\x20scan');const _0x26bab6=F(_0x4bd93f),_0x4c527f=M(_0x4bd93f),_0x3c5513=T(_0x4c527f,_0x26bab6);if(_0x4afa0c[_0x4ade2b(0xfb)](C,_0x4bd93f,_0x26bab6),A(_0x4bd93f),_0x4afa0c['JAfft'](_0x3c5513['type'],'drift')&&_0x3c5513['changes'][_0x4ade2b(_0x2318da._0x5f57f9)]>0x0){p[_0x4ade2b(_0x2318da._0x3d37bc)](_0x4afa0c['INKNw'],{'drift':_0x3c5513});try{await new _0x30294a(_0x4bd93f,{'enabled':!0x0})[_0x4ade2b(_0x2318da._0x1e20b0)](_0x4ade2b(_0x2318da._0x38c104),{'type':_0x4afa0c[_0x4ade2b(_0x2318da._0x1d28cd)],'changes':_0x3c5513[_0x4ade2b(_0x2318da._0x28f0ae)],'severity':_0x3c5513['severity'],'profile':_0x26bab6});}catch(_0x489c70){p['debug']('Failed\x20to\x20record\x20drift\x20to\x20memory',{'error':_0x489c70[_0x4ade2b(0x119)]});}}try{const _0x756f58=new _0x30294a(_0x4bd93f,{'enabled':!0x0});_0x4afa0c['NkkQd'](typeof _0x756f58[_0x4ade2b(_0x2318da._0x139df3)],_0x4afa0c[_0x4ade2b(0xe9)])&&await _0x756f58[_0x4ade2b(0xe6)]();}catch(_0x37f032){p['debug'](_0x4ade2b(_0x2318da._0x100de8),{'error':_0x37f032[_0x4ade2b(0x119)]});}let _0x4d7fed=[];try{const _0x339979=new _0x3075b6(_0x4bd93f)['checkStatus']();_0x4d7fed=N(_0x26bab6,_0x339979,_0x3c5513,_0x4bd93f);}catch(_0x4e4aa0){p['debug'](_0x4ade2b(_0x2318da._0x481fea),{'error':_0x4e4aa0[_0x4ade2b(0x119)]});}_0x4d7fed['length']>0x0&&process['stdout'][_0x4ade2b(0x12d)](JSON[_0x4ade2b(0x128)]({'hookEventName':_0x4ade2b(_0x2318da._0x251fcf),'hookTriggered':!0x0,'toolName':_0x5c9595,'additionalContext':_0x4d7fed['join']('\x0a\x0a')})),p['info'](_0x4ade2b(_0x2318da._0x34a0bb),{'drift':_0x3c5513[_0x4ade2b(0xf9)]}),process[_0x4ade2b(_0x2318da._0x1465e9)](0x0);}const J=process['argv'][0x1]?_0xca6769['resolve'](process['argv'][0x1]):'',L=_0x5b88c3(import.meta.url);J===L&&D()['catch'](_0x3dc6d4=>{const _0x42c31f={_0x4d9c4d:0x12b,_0x4e6226:0x128,_0x2348e7:0x10a},_0x49cb3e=_0x58019e,_0x3d1a87=_0x138354(_0x49cb3e(0x126),_0x3dc6d4,{'eventName':_0x49cb3e(0x11b)});process[_0x49cb3e(_0x42c31f._0x4d9c4d)]['write'](JSON[_0x49cb3e(_0x42c31f._0x4e6226)](_0x3d1a87[_0x49cb3e(_0x42c31f._0x2348e7)])),process['exit'](0x0);});export{O as buildLearningHint,N as collectStartupContextMessages,T as detectDrift,F as quickProbe};