aukeys-opscli 0.0.25__tar.gz → 0.0.26__tar.gz

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 (397) hide show
  1. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/PKG-INFO +37 -1
  2. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/README.md +36 -0
  3. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/README_MCP.md +47 -0
  4. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/change-log-pending.md +109 -0
  5. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide/opscli/345/221/275/344/273/244/347/224/250/344/276/213/346/211/213/345/206/214.md +63 -2
  6. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/query.py +43 -2
  7. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/commands/cli.py +34 -5
  8. aukeys_opscli-0.0.26/opscli/query/services/manager.py +1214 -0
  9. aukeys_opscli-0.0.26/opscli/query/transport/client.py +290 -0
  10. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/commands/cli.py +5 -2
  11. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/SKILL.md +232 -0
  12. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/data/VERSION.json +4 -0
  13. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references}/ads_metrics_guide.md +4 -4
  14. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references}/campaign_optimization_playbook.md +4 -4
  15. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references/cli.md +140 -0
  16. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-dataset-query → aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer}/references/data-query-service-dev-guide.md +9 -9
  17. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references}/dataset_fields_mapping.md +1 -1
  18. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references/mcp.md +255 -0
  19. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/references/query-essential-guide.md +149 -0
  20. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/ads_budget_allocator.py +64 -0
  21. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/ads_budget_allocator_mcp.py +67 -0
  22. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/analyze_ads_efficiency.py +62 -0
  23. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/analyze_ads_efficiency_mcp.py +81 -0
  24. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/calculate_roas_acos.py +78 -0
  25. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/calculate_roas_acos_mcp.py +80 -0
  26. aukeys_opscli-0.0.26/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/core.py +251 -0
  27. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/SKILL.md +231 -0
  28. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/data/VERSION.json +4 -0
  29. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references/cli.md +209 -0
  30. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references/data-query-service-dev-guide.md +1173 -0
  31. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-asin-health-diagnoser/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references}/dataset_fields_mapping.md +2 -2
  32. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references/mcp.md +363 -0
  33. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references/query-essential-guide.md +149 -0
  34. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-asin-health-diagnoser/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/references}/threshold_reference.md +18 -18
  35. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/scripts/calculate_health_score.py +110 -0
  36. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/scripts/calculate_health_score_mcp.py +168 -0
  37. aukeys_opscli-0.0.26/opscli/skills/templates/ops-asin-health-diagnoser/scripts/core.py +388 -0
  38. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/SKILL.md +171 -0
  39. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/data/VERSION.json +4 -0
  40. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references/cli.md +134 -0
  41. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references/data-query-service-dev-guide.md +1173 -0
  42. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-competitive-intelligence-analyst/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references}/dataset_fields_mapping.md +9 -9
  43. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references/mcp.md +189 -0
  44. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references/query-essential-guide.md +149 -0
  45. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/scripts/competitive_analysis.py +62 -0
  46. aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/scripts/competitive_analysis_mcp.py +63 -0
  47. aukeys_opscli-0.0.25/opscli/skills/templates/ops-competitive-intelligence-analyst/scripts/competitive_analysis.py → aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/scripts/core.py +67 -335
  48. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/SKILL.md +168 -0
  49. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/data/VERSION.json +4 -0
  50. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-cross-border-product-selector/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references}/bsr_filtering_rules.md +2 -2
  51. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references/cli.md +124 -0
  52. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references/data-query-service-dev-guide.md +1173 -0
  53. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-cross-border-product-selector/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references}/dataset_fields_mapping.md +8 -8
  54. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references/mcp.md +177 -0
  55. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-cross-border-product-selector/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references}/quadrant_matrix_guide.md +23 -22
  56. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/references/query-essential-guide.md +149 -0
  57. aukeys_opscli-0.0.25/opscli/skills/templates/ops-cross-border-product-selector/scripts/product_selector.py → aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/scripts/core.py +66 -404
  58. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/scripts/product_selector.py +62 -0
  59. aukeys_opscli-0.0.26/opscli/skills/templates/ops-cross-border-product-selector/scripts/product_selector_mcp.py +63 -0
  60. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/SKILL.md +1 -0
  61. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/references/cli.md +56 -13
  62. aukeys_opscli-0.0.26/opscli/skills/templates/ops-dataset-query/references/data-query-service-dev-guide.md +1173 -0
  63. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/references/mcp.md +31 -3
  64. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/chart_analyze.py +4 -2
  65. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/chart_map.py +72 -9
  66. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/chart_map_mcp.py +69 -7
  67. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/SKILL.md +180 -0
  68. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/data/VERSION.json +4 -0
  69. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references/cli.md +114 -0
  70. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references/data-query-service-dev-guide.md +1173 -0
  71. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references}/dataset_fields_mapping.md +1 -1
  72. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references/mcp.md +177 -0
  73. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references/query-essential-guide.md +149 -0
  74. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references}/replenishment_formula.md +9 -9
  75. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/scripts/calculate_inventory_health.py +69 -0
  76. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/scripts/calculate_inventory_health_mcp.py +73 -0
  77. aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/scripts/calculate_inventory_health.py → aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/scripts/core.py +65 -83
  78. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/scripts/generate_replenishment_plan.py +74 -0
  79. aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/scripts/generate_replenishment_plan_mcp.py +78 -0
  80. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/SKILL.md +174 -0
  81. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/data/VERSION.json +4 -0
  82. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references/cli.md +174 -0
  83. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references/data-query-service-dev-guide.md +1173 -0
  84. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-perspective-builder/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references}/dataset_fields_mapping.md +14 -14
  85. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references/mcp.md +237 -0
  86. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-perspective-builder/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references}/perspective_catalog.md +24 -24
  87. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/references/query-essential-guide.md +149 -0
  88. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/scripts/build_perspective_config.py +75 -0
  89. aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/scripts/build_perspective_config_mcp.py +76 -0
  90. aukeys_opscli-0.0.25/opscli/skills/templates/ops-perspective-builder/scripts/build_perspective_config.py → aukeys_opscli-0.0.26/opscli/skills/templates/ops-perspective-builder/scripts/core.py +20 -261
  91. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/SKILL.md +171 -0
  92. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/data/VERSION.json +4 -0
  93. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references}/3d_tag_dictionary.md +4 -4
  94. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references}/attribute_mapping_table.md +1 -1
  95. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references/cli.md +114 -0
  96. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references/data-query-service-dev-guide.md +1173 -0
  97. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references}/dataset_fields_mapping.md +2 -2
  98. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references/market_portrait_template.md +37 -0
  99. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references/mcp.md +189 -0
  100. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/references/query-essential-guide.md +149 -0
  101. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/analyze_attribute_combo.py +67 -0
  102. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/analyze_attribute_combo_mcp.py +71 -0
  103. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/calculate_weighted_share.py +68 -0
  104. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/calculate_weighted_share_mcp.py +72 -0
  105. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/core.py +208 -0
  106. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/generate_market_portrait.py +68 -0
  107. aukeys_opscli-0.0.26/opscli/skills/templates/ops-product-attribute-analyzer/scripts/generate_market_portrait_mcp.py +72 -0
  108. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/SKILL.md +169 -0
  109. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/data/VERSION.json +4 -0
  110. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references/cli.md +104 -0
  111. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references/data-query-service-dev-guide.md +1173 -0
  112. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-profit-structure-analyzer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references}/dataset_fields_mapping.md +5 -5
  113. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references/mcp.md +153 -0
  114. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references/query-essential-guide.md +149 -0
  115. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/scripts/analyze_cost_structure.py +62 -0
  116. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/scripts/analyze_cost_structure_mcp.py +67 -0
  117. aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/scripts/core.py +194 -0
  118. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/SKILL.md +169 -0
  119. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/data/VERSION.json +4 -0
  120. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references/cli.md +124 -0
  121. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references/data-query-service-dev-guide.md +1173 -0
  122. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-refund-priority-matrix/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references}/dataset_fields_mapping.md +4 -4
  123. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references/mcp.md +177 -0
  124. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references/query-essential-guide.md +149 -0
  125. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/references/refund_reasons_catalog.md +49 -0
  126. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/scripts/calculate_priority_matrix.py +62 -0
  127. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/scripts/calculate_priority_matrix_mcp.py +67 -0
  128. aukeys_opscli-0.0.26/opscli/skills/templates/ops-refund-priority-matrix/scripts/core.py +202 -0
  129. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/pyproject.toml +1 -1
  130. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/query/test_cli.py +8 -2
  131. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/query/test_client.py +64 -1
  132. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/query/test_manager.py +183 -0
  133. aukeys_opscli-0.0.25/opscli/query/services/manager.py +0 -687
  134. aukeys_opscli-0.0.25/opscli/query/transport/client.py +0 -82
  135. aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/SKILL.md +0 -231
  136. aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/ads_budget_allocator.py +0 -149
  137. aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/analyze_ads_efficiency.py +0 -253
  138. aukeys_opscli-0.0.25/opscli/skills/templates/ops-advertising-efficiency-optimizer/scripts/calculate_roas_acos.py +0 -125
  139. aukeys_opscli-0.0.25/opscli/skills/templates/ops-asin-health-diagnoser/SKILL.md +0 -107
  140. aukeys_opscli-0.0.25/opscli/skills/templates/ops-asin-health-diagnoser/scripts/calculate_health_score.py +0 -299
  141. aukeys_opscli-0.0.25/opscli/skills/templates/ops-competitive-intelligence-analyst/SKILL.md +0 -204
  142. aukeys_opscli-0.0.25/opscli/skills/templates/ops-cross-border-product-selector/SKILL.md +0 -228
  143. aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/SKILL.md +0 -226
  144. aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/scripts/generate_replenishment_plan.py +0 -153
  145. aukeys_opscli-0.0.25/opscli/skills/templates/ops-perspective-builder/SKILL.md +0 -195
  146. aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/SKILL.md +0 -182
  147. aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/reference/market_portrait_template.md +0 -37
  148. aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/scripts/analyze_attribute_combo.py +0 -135
  149. aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/scripts/calculate_weighted_share.py +0 -136
  150. aukeys_opscli-0.0.25/opscli/skills/templates/ops-product-attribute-analyzer/scripts/generate_market_portrait.py +0 -155
  151. aukeys_opscli-0.0.25/opscli/skills/templates/ops-profit-structure-analyzer/SKILL.md +0 -245
  152. aukeys_opscli-0.0.25/opscli/skills/templates/ops-profit-structure-analyzer/scripts/analyze_cost_structure.py +0 -402
  153. aukeys_opscli-0.0.25/opscli/skills/templates/ops-refund-priority-matrix/SKILL.md +0 -267
  154. aukeys_opscli-0.0.25/opscli/skills/templates/ops-refund-priority-matrix/reference/refund_reasons_catalog.md +0 -49
  155. aukeys_opscli-0.0.25/opscli/skills/templates/ops-refund-priority-matrix/scripts/calculate_priority_matrix.py +0 -391
  156. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.agents/plugins/marketplace.json +0 -0
  157. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.agents/skills/super-dev/SKILL.md +0 -0
  158. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.agents/skills/super-dev-seeai/SKILL.md +0 -0
  159. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/CLAUDE.md +0 -0
  160. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/agents/super-dev.md +0 -0
  161. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/commands/super-dev-seeai.md +0 -0
  162. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/commands/super-dev.md +0 -0
  163. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/settings.local.json +0 -0
  164. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/skills/super-dev/SKILL.md +0 -0
  165. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude/skills/super-dev-seeai/SKILL.md +0 -0
  166. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.claude-plugin/marketplace.json +0 -0
  167. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.github/workflows/cross-platform-preflight.yml +0 -0
  168. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.gitignore +0 -0
  169. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/.super-dev/install-manifest.json +0 -0
  170. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/AGENTS.md +0 -0
  171. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/CLAUDE.md +0 -0
  172. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis/Skill/346/226/271/346/263/225/350/256/272/346/267/261/345/272/246/345/210/206/346/236/220/344/270/216/346/225/260/346/215/256/351/233/206/350/236/215/345/220/210/345/244/215/347/224/250/346/226/271/346/241/210.md" +0 -0
  173. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis/amazon-monitor/346/216/245/345/205/245/345/210/206/346/236/220.md" +0 -0
  174. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis/opscli/347/263/273/347/273/237/346/236/266/346/236/204/345/210/206/346/236/220/346/212/245/345/221/212.md" +0 -0
  175. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis//344/272/232/351/251/254/351/200/212/344/272/247/345/223/201/345/205/250/347/273/264/345/210/206/346/236/220/344/275/223/347/263/273_v1.md" +0 -0
  176. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis//344/272/232/351/251/254/351/200/212/344/272/247/345/223/201/345/205/250/347/273/264/345/210/206/346/236/220/344/275/223/347/263/273_/347/254/254/344/270/200/346/255/245/351/200/217/350/247/206/345/233/276/346/236/204/345/273/272/346/226/271/346/241/210.md" +0 -0
  177. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/analysis//346/216/210/346/235/203/346/250/241/345/274/217/345/257/271/346/257/224/345/210/206/346/236/220/346/212/245/345/221/212.md" +0 -0
  178. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/1.md +0 -0
  179. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/AI/345/217/226/346/225/260/350/203/275/345/212/233/345/272/225/345/272/247/345/274/200/345/217/221/351/234/200/346/261/202.md" +0 -0
  180. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/CLI/345/212/250/346/200/201/346/250/241/345/235/227/345/212/240/350/275/275/346/224/271/351/200/240/345/256/236/346/226/275/346/226/271/346/241/210.md" +0 -0
  181. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/Skills/345/244/232/345/267/245/345/205/267/350/260/203/347/240/224/350/247/204/345/210/222.md" +0 -0
  182. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/amazon/345/273/272/350/241/250SQL/350/215/211/346/241/210/344/270/216ops API/350/257/267/346/261/202/344/275/223/345/256/232/344/271/211.md" +0 -0
  183. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/amazon/346/225/260/346/215/256/346/250/241/345/236/213/344/270/216API/351/242/204/347/225/231/346/226/271/346/241/210.md" +0 -0
  184. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/ops-amazon Skill/350/247/204/345/210/222/346/226/271/346/241/210.md" +0 -0
  185. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/opscli-session/345/205/261/347/224/250/346/200/247/345/210/206/346/236/220/344/270/216/344/274/230/345/214/226/346/226/271/346/241/210/346/212/245/345/221/212.md" +0 -0
  186. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/opscli/346/216/210/346/235/203/346/265/201/347/250/213/346/267/261/345/272/246/345/210/206/346/236/220.md" +0 -0
  187. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design/query/346/250/241/345/235/227/350/256/276/350/256/241.md" +0 -0
  188. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/225/260/346/215/256/346/237/245/350/257/242/346/234/215/345/212/241/345/274/200/345/217/221/350/257/264/346/230/216/346/226/207/346/241/243.md" +0 -0
  189. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/225/260/346/215/256/351/233/206/345/255/227/346/256/265/346/212/200/350/203/275/347/263/273/347/273/237/346/212/200/346/234/257/346/226/271/346/241/210.md" +0 -0
  190. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/250/241/345/235/227/345/215/217/350/256/256/344/270/216/346/217/222/344/273/266/346/263/250/345/206/214/346/216/245/345/217/243/350/256/276/350/256/241.md" +0 -0
  191. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/250/241/345/235/227/345/256/211/350/243/205/345/210/206/345/261/202/344/270/216/351/273/230/350/256/244/345/217/221/350/241/214/346/226/271/346/241/210.md" +0 -0
  192. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/250/241/345/235/227/346/217/222/344/273/266/345/214/226/344/270/216/345/244/232/345/233/242/351/230/237/346/262/273/347/220/206/346/226/271/346/241/210.md" +0 -0
  193. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//346/250/241/345/235/227/347/233/256/345/275/225/345/210/206/345/261/202/350/247/204/350/214/203.md" +0 -0
  194. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/design//351/200/232/347/224/250Skill/347/211/210/346/234/254/346/216/247/345/210/266/346/236/266/346/236/204.md" +0 -0
  195. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide/MCP/345/267/245/345/205/267/344/275/277/347/224/250/346/211/213/345/206/214.md" +0 -0
  196. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide/Skills/345/237/272/347/241/200/345/274/200/345/217/221/345/237/271/350/256/255/346/211/213/345/206/214.md" +0 -0
  197. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide//344/273/216/351/233/266/345/256/211/350/243/205/351/203/250/347/275/262/346/214/207/345/215/227.md" +0 -0
  198. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide//350/256/244/350/257/201/346/250/241/345/235/227/344/275/277/347/224/250/346/214/207/345/215/227.md" +0 -0
  199. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/guide//350/267/250/345/271/263/345/217/260/345/217/221/345/270/203/345/211/215/346/243/200/346/237/245.md" +0 -0
  200. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans/2026-04-22-p1-contract-version-governance.md +0 -0
  201. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans/MCP/346/234/215/345/212/241/345/256/214/345/226/204/346/225/264/346/224/271/350/256/241/345/210/222/344/271/246.md" +0 -0
  202. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//345/217/226/346/225/260/345/272/225/345/272/247/344/270/200/346/234/237/345/211/251/344/275/231/344/273/273/345/212/241.md" +0 -0
  203. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//345/217/226/346/225/260/345/272/225/345/272/247/344/270/200/346/234/237/345/217/221/345/270/203/346/243/200/346/237/245/346/270/205/345/215/225.md" +0 -0
  204. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//345/217/226/346/225/260/345/272/225/345/272/247/344/270/200/346/234/237/345/274/200/345/217/221/350/256/241/345/210/222.md" +0 -0
  205. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//345/217/226/346/225/260/345/272/225/345/272/247/344/270/200/346/234/237/350/201/224/350/260/203/350/256/260/345/275/225.md" +0 -0
  206. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//345/217/226/346/225/260/345/272/225/345/272/247/344/270/200/346/234/237/351/252/214/346/224/266/346/211/213/345/206/214.md" +0 -0
  207. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//350/256/244/350/257/201/346/250/241/345/235/227/345/256/236/346/226/275/350/256/241/345/210/222.md" +0 -0
  208. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/plans//350/256/244/350/257/201/346/250/241/345/235/227/350/256/276/350/256/241/346/226/271/346/241/210.md" +0 -0
  209. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/release//345/244/232/345/214/205/345/217/221/345/270/203/344/270/216/350/201/232/345/220/210/345/217/221/350/241/214/347/255/226/347/225/245.md" +0 -0
  210. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/release//346/211/223/345/214/205/345/217/221/345/270/203/346/214/207/345/215/227.md" +0 -0
  211. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/01-asin-health-diagnoser.md +0 -0
  212. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/02-profit-structure-analyzer.md +0 -0
  213. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/03-refund-priority-matrix.md +0 -0
  214. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/04-product-attribute-analyzer.md +0 -0
  215. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/05-advertising-efficiency-optimizer.md +0 -0
  216. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/06-inventory-health-monitor.md +0 -0
  217. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/07-ops-perspective-builder.md +0 -0
  218. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/08-competitive-intelligence-analyst.md +0 -0
  219. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/09-cross-border-product-selector.md +0 -0
  220. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/skills/README.md +0 -0
  221. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/spec/MCP/346/250/241/345/235/227/346/216/245/345/205/245/350/247/204/350/214/203.md" +0 -0
  222. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/docs/spec//345/274/200/345/217/221/350/247/204/350/214/203.md" +0 -0
  223. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/__init__.py +0 -0
  224. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/__init__.py +0 -0
  225. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/cli.py +0 -0
  226. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/client.py +0 -0
  227. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/commands/__init__.py +0 -0
  228. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/commands/cli.py +0 -0
  229. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/domain/__init__.py +0 -0
  230. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/domain/exceptions.py +0 -0
  231. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/domain/models.py +0 -0
  232. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/exceptions.py +0 -0
  233. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/manager.py +0 -0
  234. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/models.py +0 -0
  235. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/parser.py +0 -0
  236. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/scraper.py +0 -0
  237. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/scraping/__init__.py +0 -0
  238. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/scraping/parser.py +0 -0
  239. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/scraping/scraper.py +0 -0
  240. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/services/__init__.py +0 -0
  241. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/services/manager.py +0 -0
  242. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/transport/__init__.py +0 -0
  243. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/amazon/transport/client.py +0 -0
  244. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/__init__.py +0 -0
  245. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/cli.py +0 -0
  246. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/commands/__init__.py +0 -0
  247. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/commands/cli.py +0 -0
  248. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/config.py +0 -0
  249. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/core/__init__.py +0 -0
  250. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/core/device_flow.py +0 -0
  251. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/core/system_registry.py +0 -0
  252. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/core/token_manager.py +0 -0
  253. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/domain/__init__.py +0 -0
  254. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/domain/exceptions.py +0 -0
  255. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/exceptions.py +0 -0
  256. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/storage/__init__.py +0 -0
  257. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/storage/credential_store.py +0 -0
  258. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/auth/storage/crypto.py +0 -0
  259. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/cli.py +0 -0
  260. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/config.py +0 -0
  261. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/__init__.py +0 -0
  262. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/auth_middleware.py +0 -0
  263. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/cli.py +0 -0
  264. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/context.py +0 -0
  265. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/credential_cache.py +0 -0
  266. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/server.py +0 -0
  267. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/__init__.py +0 -0
  268. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/amazon.py +0 -0
  269. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/auth.py +0 -0
  270. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/chatgpt.py +0 -0
  271. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/helpers.py +0 -0
  272. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/tools/skills.py +0 -0
  273. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/mcp/user_store.py +0 -0
  274. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/__init__.py +0 -0
  275. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/cli.py +0 -0
  276. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/client.py +0 -0
  277. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/commands/__init__.py +0 -0
  278. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/domain/__init__.py +0 -0
  279. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/domain/exceptions.py +0 -0
  280. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/domain/models.py +0 -0
  281. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/exceptions.py +0 -0
  282. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/manager.py +0 -0
  283. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/models.py +0 -0
  284. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/services/__init__.py +0 -0
  285. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/query/transport/__init__.py +0 -0
  286. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/shared/__init__.py +0 -0
  287. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/shared/exceptions.py +0 -0
  288. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/shared/http.py +0 -0
  289. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/shared/logging.py +0 -0
  290. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/__init__.py +0 -0
  291. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/cli.py +0 -0
  292. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/commands/__init__.py +0 -0
  293. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/detector.py +0 -0
  294. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/discovery/__init__.py +0 -0
  295. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/discovery/detector.py +0 -0
  296. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/domain/__init__.py +0 -0
  297. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/domain/exceptions.py +0 -0
  298. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/domain/models.py +0 -0
  299. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/exceptions.py +0 -0
  300. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/manager.py +0 -0
  301. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/models.py +0 -0
  302. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/services/__init__.py +0 -0
  303. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/services/manager.py +0 -0
  304. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/sync/__init__.py +0 -0
  305. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/sync/updater.py +0 -0
  306. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-amazon/SKILL.md +0 -0
  307. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-amazon/data/VERSION.json +0 -0
  308. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-amazon/references/cli.md +0 -0
  309. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-amazon/references/mcp.md +0 -0
  310. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-auth/SKILL.md +0 -0
  311. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-auth/data/VERSION.json +0 -0
  312. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-auth/references/cli.md +0 -0
  313. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-auth/references/mcp.md +0 -0
  314. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-competitive-intelligence-analyst/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-competitive-intelligence-analyst/references}/porter_template.md +0 -0
  315. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/data/VERSION.json +0 -0
  316. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/data/dataset_fields.csv +0 -0
  317. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/data/datasets.csv +0 -0
  318. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/data/query_metadata.json +0 -0
  319. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/chart_analyze_mcp.py +0 -0
  320. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/core.py +0 -0
  321. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/excel_export.py +0 -0
  322. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/excel_export_mcp.py +0 -0
  323. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/query.py +0 -0
  324. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/query_mcp.py +0 -0
  325. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/search.py +0 -0
  326. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/updater.py +0 -0
  327. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-dataset-query/scripts/updater_mcp.py +0 -0
  328. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-inventory-health-monitor/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-inventory-health-monitor/references}/inventory_thresholds.md +0 -0
  329. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-mcp/SKILL.md +0 -0
  330. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-mcp/data/VERSION.json +0 -0
  331. {aukeys_opscli-0.0.25/opscli/skills/templates/ops-profit-structure-analyzer/reference → aukeys_opscli-0.0.26/opscli/skills/templates/ops-profit-structure-analyzer/references}/four_actions_template.md +0 -0
  332. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-skills/SKILL.md +0 -0
  333. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-skills/SKILL_MCP.md +0 -0
  334. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/templates/ops-skills/data/VERSION.json +0 -0
  335. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/skills/updater.py +0 -0
  336. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/opscli/version.py +0 -0
  337. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-payload-sample-shell.json +0 -0
  338. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-payload-sample.json +0 -0
  339. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-scrape-sample-shell.json +0 -0
  340. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-scrape-sample.json +0 -0
  341. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-search-sample-shell.json +0 -0
  342. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/amazon-search-sample.json +0 -0
  343. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/maintenance/host-onboard-smoke-20260423-082206.json +0 -0
  344. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/maintenance/host-onboard-smoke-20260423-082206.md +0 -0
  345. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/SKILL.md +0 -0
  346. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/code_analysis.json +0 -0
  347. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/config_patterns/config_patterns.json +0 -0
  348. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/config_patterns/config_patterns.md +0 -0
  349. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/dependencies/dependency_graph.dot +0 -0
  350. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/dependencies/dependency_graph.json +0 -0
  351. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/dependencies/dependency_graph.mmd +0 -0
  352. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/dependencies/statistics.json +0 -0
  353. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/documentation/documentation_index.json +0 -0
  354. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/documentation/extraction_summary.json +0 -0
  355. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/output/opscli-codebase/references/documentation/templates/SKILL.md +0 -0
  356. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-claude/.claude-plugin/plugin.json +0 -0
  357. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-claude/README.md +0 -0
  358. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-claude/skills/super-dev/SKILL.md +0 -0
  359. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-claude/skills/super-dev-seeai/SKILL.md +0 -0
  360. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-codex/.codex-plugin/plugin.json +0 -0
  361. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-codex/README.md +0 -0
  362. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-codex/skills/super-dev/SKILL.md +0 -0
  363. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/plugins/super-dev-codex/skills/super-dev-seeai/SKILL.md +0 -0
  364. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/publish.sh +0 -0
  365. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/scripts/release_preflight.py +0 -0
  366. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/__init__.py +0 -0
  367. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/amazon/__init__.py +0 -0
  368. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/amazon/test_cli.py +0 -0
  369. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/amazon/test_client.py +0 -0
  370. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/amazon/test_manager.py +0 -0
  371. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/amazon/test_parser.py +0 -0
  372. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/__init__.py +0 -0
  373. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/test_credential_store.py +0 -0
  374. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/test_crypto.py +0 -0
  375. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/test_device_flow.py +0 -0
  376. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/test_system_registry.py +0 -0
  377. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/auth/test_token_manager.py +0 -0
  378. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/benchmark_credential_read.py +0 -0
  379. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/__init__.py +0 -0
  380. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/conftest.py +0 -0
  381. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_cli.py +0 -0
  382. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_context.py +0 -0
  383. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_credential_cache.py +0 -0
  384. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_multi_user_isolation.py +0 -0
  385. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_tools.py +0 -0
  386. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/mcp/test_user_store.py +0 -0
  387. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/shared/__init__.py +0 -0
  388. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/shared/test_shared.py +0 -0
  389. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/__init__.py +0 -0
  390. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/test_cli.py +0 -0
  391. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/test_detector.py +0 -0
  392. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/test_manager.py +0 -0
  393. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/test_ops_dataset_query_search.py +0 -0
  394. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/skills/test_updater.py +0 -0
  395. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/test_session_sharing.py +0 -0
  396. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/tests/test_version_consistency.py +0 -0
  397. {aukeys_opscli-0.0.25 → aukeys_opscli-0.0.26}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aukeys-opscli
3
- Version: 0.0.25
3
+ Version: 0.0.26
4
4
  Summary: Aukeys 运营 CLI 工具集
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: cryptography>=38
@@ -827,6 +827,42 @@ opscli query chart --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --run --dry-run -
827
827
 
828
828
  > 每个 query 独立执行,失败不影响其他 query;合并结果中每行附加 `_query_index` 标识来源。
829
829
 
830
+ ### `opscli query chart-doc` - 通过 chart_uuid 生成图表 API 调用 Markdown 文档
831
+
832
+ ```bash
833
+ # 生成图表 API 调用文档
834
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --pretty
835
+
836
+ # 将 Markdown 文档写入指定文件
837
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --output chart-doc.md --pretty
838
+ ```
839
+
840
+ | 参数 | 必需 | 说明 |
841
+ |------|------|------|
842
+ | `--uuid` | 是 | 图表 UUID(chart_uuid) |
843
+ | `--output` | 否 | 将 Markdown 文档写入指定文件路径 |
844
+ | `--pretty` | 否 | 格式化 JSON 输出 |
845
+
846
+ **返回结构**:
847
+
848
+ ```json
849
+ {
850
+ "success": true,
851
+ "command": "query chart-doc",
852
+ "data": {
853
+ "chart_uuid": "32f660fd-f62a-45c4-a443-e21f2edb0779",
854
+ "markdown": "# 图表查询 API 开发文档\n...",
855
+ "query_count": 3,
856
+ "dataset_aliases": ["sales_order_d"],
857
+ "dataset_count": 1,
858
+ "output_path": "/path/to/chart-doc.md"
859
+ },
860
+ "error": null
861
+ }
862
+ ```
863
+
864
+ > 生成的 Markdown 文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、字段明细表、过滤规则、查询拆解与样例。
865
+
830
866
  ## Skills 使用
831
867
 
832
868
  ### `opscli skills list`
@@ -809,6 +809,42 @@ opscli query chart --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --run --dry-run -
809
809
 
810
810
  > 每个 query 独立执行,失败不影响其他 query;合并结果中每行附加 `_query_index` 标识来源。
811
811
 
812
+ ### `opscli query chart-doc` - 通过 chart_uuid 生成图表 API 调用 Markdown 文档
813
+
814
+ ```bash
815
+ # 生成图表 API 调用文档
816
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --pretty
817
+
818
+ # 将 Markdown 文档写入指定文件
819
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --output chart-doc.md --pretty
820
+ ```
821
+
822
+ | 参数 | 必需 | 说明 |
823
+ |------|------|------|
824
+ | `--uuid` | 是 | 图表 UUID(chart_uuid) |
825
+ | `--output` | 否 | 将 Markdown 文档写入指定文件路径 |
826
+ | `--pretty` | 否 | 格式化 JSON 输出 |
827
+
828
+ **返回结构**:
829
+
830
+ ```json
831
+ {
832
+ "success": true,
833
+ "command": "query chart-doc",
834
+ "data": {
835
+ "chart_uuid": "32f660fd-f62a-45c4-a443-e21f2edb0779",
836
+ "markdown": "# 图表查询 API 开发文档\n...",
837
+ "query_count": 3,
838
+ "dataset_aliases": ["sales_order_d"],
839
+ "dataset_count": 1,
840
+ "output_path": "/path/to/chart-doc.md"
841
+ },
842
+ "error": null
843
+ }
844
+ ```
845
+
846
+ > 生成的 Markdown 文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、字段明细表、过滤规则、查询拆解与样例。
847
+
812
848
  ## Skills 使用
813
849
 
814
850
  ### `opscli skills list`
@@ -315,6 +315,53 @@ query_build_and_run(
315
315
 
316
316
  ---
317
317
 
318
+ #### `query_chart_doc`
319
+
320
+ 通过 chart_uuid 生成图表 API 调用 Markdown 文档,包含查询结构、字段映射、过滤规则与样例。**需要认证**。
321
+
322
+ 文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、字段明细表、过滤规则、查询拆解与样例。适合 Skill / AI Agent 直接消费。
323
+
324
+ | 参数 | 类型 | 必填 | 说明 |
325
+ |------|------|------|------|
326
+ | `chart_uuid` | string | 是 | 图表唯一标识 |
327
+ | `output_path` | string | 否 | 将 Markdown 写入指定文件路径 |
328
+ | `session_id` | string | **是** | 用户授权后获得的 session_id |
329
+ | `jwt` | string | 否 | JWT,不传则自动用 session_id 换取 |
330
+
331
+ **返回示例:**
332
+ ```json
333
+ {
334
+ "success": true,
335
+ "data": {
336
+ "chart_uuid": "32f660fd-f62a-45c4-a443-e21f2edb0779",
337
+ "markdown": "# 图表查询 API 开发文档\n...",
338
+ "query_count": 3,
339
+ "dataset_aliases": ["sales_order_d"],
340
+ "dataset_count": 1,
341
+ "output_path": "/path/to/chart-doc.md"
342
+ },
343
+ "error": null
344
+ }
345
+ ```
346
+
347
+ **典型用法:**
348
+ ```python
349
+ # 生成图表文档(Markdown 在返回数据中)
350
+ query_chart_doc(
351
+ chart_uuid="32f660fd-f62a-45c4-a443-e21f2edb0779",
352
+ session_id="860b0636485b5188a2b9b4ed5210e736",
353
+ )
354
+
355
+ # 生成文档并写入本地文件
356
+ query_chart_doc(
357
+ chart_uuid="32f660fd-f62a-45c4-a443-e21f2edb0779",
358
+ output_path="/tmp/chart-doc.md",
359
+ session_id="860b0636485b5188a2b9b4ed5210e736",
360
+ )
361
+ ```
362
+
363
+ ---
364
+
318
365
  ### 认证(auth_*)
319
366
 
320
367
  #### `auth_login_start`
@@ -1,5 +1,41 @@
1
1
  # 待归档变更记录
2
2
 
3
+ ## 2026-04-29 opscli - 实现 Skill 委托模式,防止 AI 猜测字段名
4
+
5
+ **变更原因**:测试调用记录显示,AI 在执行数据集查询时经常直接猜测字段名(如 `ds_pdTYjvLRCadv.asin`),导致 `INVALID_PAYLOAD` 错误。需要显式声明业务逻辑层 Skill 应将数据查询工作委托给 `ops-dataset-query` Skill,由其负责字段发现、metadata 验证和 payload 构造。
6
+
7
+ **改动点**:
8
+ - 为 9 个数据查询类 Skill 的 `SKILL.md` 添加"## 技能委托声明"部分
9
+ - ops-asin-health-diagnoser(之前已完成)
10
+ - ops-competitive-intelligence-analyst
11
+ - ops-cross-border-product-selector
12
+ - ops-advertising-efficiency-optimizer
13
+ - ops-inventory-health-monitor
14
+ - ops-product-attribute-analyzer
15
+ - ops-perspective-builder
16
+ - ops-profit-structure-analyzer
17
+ - ops-refund-priority-matrix
18
+ - 每个委托声明包含:
19
+ - 责任边界表(数据查询层 → ops-dataset-query,业务逻辑层 → 当前 Skill)
20
+ - 委托触发规则表(5 场景,标注 ✅ 必须委托 / ❌ 可直接执行)
21
+ - 委托调用方式示例(→ 调用 / ← 返回)
22
+ - 反例警告(禁止直接猜测字段名)
23
+ - 插入位置统一为"阅读入口"和"使用原则"之间
24
+
25
+ **验证结果**:
26
+ - `grep -l "## 技能委托声明" opscli/skills/templates/ops-*/SKILL.md | wc -l` 返回 9
27
+ - 所有 9 个数据查询类 Skill 已包含完整委托声明
28
+
29
+ **影响范围**:
30
+ - AI Agent 在调用这些 Skill 时,会优先切换到 ops-dataset-query 进行字段发现
31
+ - 减少 INVALID_PAYLOAD 错误,避免额外的往返修复
32
+ - 不影响 CLI 模式用户直接使用 opscli query 命令
33
+
34
+ **回滚方式**:
35
+ - 删除各 SKILL.md 中"## 技能委托声明"部分(从 `---` 到下一个 `---`)
36
+
37
+ ---
38
+
3
39
  ## 2026-04-27 opscli - 新增 chart_analyze_mcp.py
4
40
 
5
41
  **变更原因**:为 ops-dataset-query Skill 新增 MCP 无状态模式的图表异常检测脚本,原 `chart_analyze.py` 依赖 `opscli` CLI(subprocess),无法在纯 MCP 环境中使用。
@@ -172,3 +208,76 @@
172
208
  **回滚方式**:删除 CLAUDE.md 中【铁律19】至【铁律22】段落
173
209
 
174
210
  ---
211
+
212
+ ## 2026-04-29 auto-scheduler + opscli - 图表查询接口增加过滤字段及新增 chart-doc 指令
213
+
214
+ **变更原因**:
215
+ 1. 服务端 `latest-request-data` 接口需要返回当前图表数据集支持的过滤条件字段,供 opscli 侧了解可用 WHERE 条件
216
+ 2. opscli 侧需要在图表查询结果中透传过滤字段信息
217
+ 3. 新增 `opscli query chart-doc` 指令,支持通过 chart_uuid 自动生成完整 API 调用 Markdown 文档
218
+
219
+ **改动点**:
220
+
221
+ ### 服务端(auto-scheduler)
222
+ - 修改 `vendor/aukey/data-metrics/src/Http/Controllers/CliQueryApiController.php`
223
+ - 引入 `Aukey\DataMetrics\Models\SelectColumnRelation`
224
+ - `latestRequestData` 方法新增逻辑:通过 `query.from.alias` → `dm_tables.dataset_alias` → `dm_select_column_relations.dataset_alias` 查询启用的过滤字段
225
+ - 返回结构扩展:每个 query item 新增 `filterable_fields` 字段(含 `column_name`、`verbose_name`、`source_column_name`)
226
+ - 按 `dataset_alias` 缓存避免重复查询
227
+
228
+ ### opscli 侧
229
+ - 修改 `opscli/query/services/manager.py`
230
+ - `run_chart_queries` 方法透传 `filterable_fields` 和 `query_structure` 到每个 query 结果中
231
+ - 新增 `generate_chart_doc(chart_uuid)` 方法:生成完整 Markdown 文档,含数据集概览、过滤字段表、查询结构说明、API 调用顺序、Payload 示例、WHERE 条件构建指南
232
+ - 示例中敏感字段(`table`/`permission`)使用占位符,不返回 `userEmail`
233
+ - 修改 `opscli/query/commands/cli.py`
234
+ - 新增 `chart-doc` 子命令:`opscli query chart-doc --uuid <chart_uuid> [--output <file>] [--pretty]`
235
+ - 支持将 Markdown 文档直接写入文件
236
+
237
+ **验证结果**:
238
+ - `python -m py_compile opscli/query/services/manager.py opscli/query/commands/cli.py` 语法检查通过
239
+ - 服务端 PHP 文件未引入语法错误(新增 import + 扩展已有循环逻辑)
240
+
241
+ **影响范围**:
242
+ - 服务端 `latest-request-data` 接口返回结构向后兼容扩展(新增字段)
243
+ - opscli `query chart` 和 `query chart-run` 返回的每个 query 中新增 `filterable_fields` 和 `query_structure`
244
+ - 新增 `query chart-doc` 命令,不影响现有命令
245
+
246
+ **回滚方式**:
247
+ - 服务端:回退 `CliQueryApiController.php` 的 `latestRequestData` 方法修改
248
+ - opscli:回退 `manager.py` 中 `run_chart_queries` 和 `generate_chart_doc`,回退 `cli.py` 中 `chart_doc` 命令
249
+
250
+ ---
251
+
252
+ ## 2026-04-29 query - 优化 chart-doc 生成文档结构
253
+
254
+ **变更原因**:生成的文档存在三个缺陷:可过滤字段在多 Query 时重复渲染浪费 token;7.1 字段映射表列数达 8 列宽表 AI 不友好;缺少字段命名约定说明导致 AI 无法处理边界场景
255
+ **改动点**:
256
+ 1. `opscli/query/services/manager.py - generate_chart_doc`:
257
+ - §2 新增"字段命名约定"小节(§2.2),说明 query_alias / global_alias / origin_name / expr 的格式规律、生成方式和使用场景,及公式字段边界说明
258
+ - §7.1 输出字段映射由 1 张 8 列宽表拆分为 2 张 4 列表(表A字段语义 + 表B字段引用),以 field_name 作连接键,expr 列去掉并在表B注释中说明
259
+ - §7.3 可过滤字段新增去重逻辑:对比当前 Query 与所属数据集(§5.2)的 filterable_fields 集合,完全相同时只输出一行引用语句,不同才完整渲染
260
+ 2. `tests/query/test_manager.py`:更新两个受影响的测试断言匹配新双表格式和去重引用格式
261
+ **验证结果**:pytest tests/query/ 39 passed
262
+ **影响范围**:opscli query chart-doc 命令输出的 Markdown 文档结构;不影响 API 调用逻辑
263
+ **回滚方式**:git revert 此次改动,恢复 manager.py 和 test_manager.py 对应段落
264
+ ---
265
+
266
+ ## 2026-04-29 skills/templates - 精简所有 Skill 的 references 文档
267
+
268
+ **变更原因**:`data-query-service-dev-guide.md`(1173行)在 9 个业务 Skill 中存在完全相同的 10 份副本,占每个 Skill 文档总量的 60-75%;其中大量章节(多次查询、MOY/ACC/PPT、缓存、PHP 伪代码)对 Skill 执行无用,造成 AI 上下文浪费和维护困难
269
+
270
+ **改动点**:
271
+ 1. 新建 `query-essential-guide.md`(149行):从完整 dev-guide 中提取 Skill 真正需要的内容(WHERE 操作符、SELECT 格式、日期规范、dataComparison、错误码),复制到 9 个业务 Skill 的 references/
272
+ 2. 删除 9 个业务 Skill 中的 `data-query-service-dev-guide.md`,保留 `ops-dataset-query/references/` 中的唯一完整版
273
+ 3. 精简 `ops-asin-health-diagnoser/references/dataset_fields_mapping.md`(134行→65行):去掉静态 payload 模板,保留数据集索引 + 核心字段业务语义 + chart-doc 使用指引
274
+ 4. 更新 9 个 Skill 的 `SKILL.md`、`references/cli.md`、`references/mcp.md` 中的文件名引用(data-query-service-dev-guide → query-essential-guide)
275
+
276
+ **验证结果**:
277
+ - dev-guide 残留检查通过(9 个业务 Skill 均已删除)
278
+ - query-essential-guide 分布:9 个 Skill 均已到位
279
+ - 各 Skill 文档总行数:平均从 ~1800 行降至 ~737 行,减少约 59%
280
+
281
+ **影响范围**:所有业务类 Skill 的 references 目录结构;ops-dataset-query 不受影响
282
+ **回滚方式**:从 ops-dataset-query/references/data-query-service-dev-guide.md 重新 cp 到各 Skill,删除 query-essential-guide.md,恢复文件名引用
283
+ ---
@@ -39,7 +39,8 @@ opscli
39
39
  │ ├── metadata
40
40
  │ ├── run
41
41
  │ ├── build
42
- └── chart
42
+ ├── chart
43
+ │ └── chart-doc
43
44
  └── skills
44
45
  ├── list
45
46
  ├── install
@@ -632,6 +633,66 @@ opscli query chart --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --run --dry-run -
632
633
 
633
634
  ---
634
635
 
636
+ ---
637
+
638
+ ### 6.5 `opscli query chart-doc`
639
+
640
+ 通过 `chart_uuid` 生成图表 API 调用 Markdown 文档,包含查询结构、字段映射、过滤规则与样例。
641
+
642
+ **用法**
643
+
644
+ ```bash
645
+ opscli query chart-doc --uuid <chart_uuid> [--output <file>] [--pretty]
646
+ ```
647
+
648
+ **参数**
649
+
650
+ | 参数 | 必填 | 默认值 | 说明 |
651
+ | --- | --- | --- | --- |
652
+ | `--uuid` | 是 | - | 图表 UUID(chart_uuid) |
653
+ | `--output` | 否 | - | 将 Markdown 文档写入指定文件路径 |
654
+ | `--pretty` | 否 | `false` | 美化 JSON 输出 |
655
+
656
+ **说明**
657
+
658
+ - 该命令通过 `chart_uuid` 获取图表的查询结构,自动生成一份完整 Markdown 文档。
659
+ - 生成的文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、字段明细表、过滤规则、查询拆解与样例。
660
+ - 使用 `--output` 可将 Markdown 内容直接写入文件,方便保存和分发。
661
+
662
+ **示例**
663
+
664
+ 生成文档并在终端查看:
665
+
666
+ ```bash
667
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --pretty
668
+ ```
669
+
670
+ 将文档写入文件:
671
+
672
+ ```bash
673
+ opscli query chart-doc --uuid 32f660fd-f62a-45c4-a443-e21f2edb0779 --output chart-doc.md --pretty
674
+ ```
675
+
676
+ **返回结构**
677
+
678
+ ```json
679
+ {
680
+ "success": true,
681
+ "command": "query chart-doc",
682
+ "data": {
683
+ "chart_uuid": "32f660fd-f62a-45c4-a443-e21f2edb0779",
684
+ "markdown": "# 图表查询 API 开发文档\n...",
685
+ "query_count": 3,
686
+ "dataset_aliases": ["sales_order_d"],
687
+ "dataset_count": 1,
688
+ "output_path": "/path/to/chart-doc.md"
689
+ },
690
+ "error": null
691
+ }
692
+ ```
693
+
694
+ ---
695
+
635
696
  ### 6.3 `opscli query build`
636
697
 
637
698
  基于简化参数构造标准 query payload;也可以直接执行。
@@ -948,5 +1009,5 @@ opscli skills upgrade ops-dataset-query --pretty
948
1009
  | Token | `opscli auth token status`、`get`、`check`、`refresh` |
949
1010
  | 系统管理 | `opscli auth system list`、`sync`、`add`、`remove` |
950
1011
  | Amazon | `opscli amazon scrape`、`payload`、`search`、`schema`、`history` |
951
- | 查询 | `opscli query metadata`、`run`、`build`、`chart` |
1012
+ | 查询 | `opscli query metadata`、`run`、`build`、`chart`、`chart-doc` |
952
1013
  | Skills | `opscli skills list`、`install`、`status`、`upgrade` |
@@ -6,6 +6,7 @@
6
6
  - query_run — 读取本地 payload 文件并执行查询
7
7
  - query_build_and_run — 构造 payload 并立即执行,一步返回结果
8
8
  - query_chart — 通过 chart_uuid 获取/执行图表查询
9
+ - query_chart_doc — 通过 chart_uuid 生成图表 API 调用 Markdown 文档
9
10
 
10
11
  所有工具函数定义在模块级,可直接导入调用(测试友好)。
11
12
  调用 register(mcp) 将以上工具批量注册到指定 MCP 实例。
@@ -218,8 +219,47 @@ async def query_chart(
218
219
  return _ok(result)
219
220
  else:
220
221
  # 仅获取图表查询结构,不执行
221
- chart_items = manager.fetch_chart_queries(chart_uuid)
222
- return _ok({"chart_uuid": chart_uuid, "queries": chart_items})
222
+ chart_bundle = manager.fetch_chart_bundle(chart_uuid)
223
+ return _ok(chart_bundle)
224
+ except Exception as exc:
225
+ return _err(exc)
226
+
227
+
228
+ async def query_chart_doc(
229
+ chart_uuid: str,
230
+ output_path: str | None = None,
231
+ session_id: str | None = None,
232
+ jwt: str | None = None,
233
+ ) -> dict:
234
+ """通过 chart_uuid 生成图表 API 调用 Markdown 文档,包含查询结构、字段映射、过滤规则与样例。
235
+
236
+ 生成的文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、
237
+ 字段明细表、过滤规则、查询拆解与样例。适合 Skill / AI Agent 消费。
238
+
239
+ 如果未提供 session_id / jwt,会自动尝试从本地加载已保存的凭据。
240
+
241
+ Args:
242
+ chart_uuid: 图表唯一标识
243
+ output_path: 可选,将 Markdown 写入指定文件路径
244
+ session_id: 可选,OAuth 授权后的 Session ID(为空则自动加载本地保存的)
245
+ jwt: 可选,已有 JWT(为空则自动加载本地缓存的)
246
+ """
247
+ from opscli.mcp.tools.helpers import _get_auth_pair
248
+
249
+ sid, jw = _get_auth_pair("ops", session_id, jwt)
250
+ if not sid:
251
+ return _err(ValueError("无 session_id:请完成授权登录,或传入有效的 session_id"))
252
+ manager = _query_manager(jwt=jw, session_id=sid)
253
+ try:
254
+ result = manager.generate_chart_doc(chart_uuid=chart_uuid)
255
+ if output_path:
256
+ from pathlib import Path
257
+
258
+ p = Path(output_path).expanduser()
259
+ p.parent.mkdir(parents=True, exist_ok=True)
260
+ p.write_text(result["markdown"], encoding="utf-8")
261
+ result["output_path"] = str(p)
262
+ return _ok(result)
223
263
  except Exception as exc:
224
264
  return _err(exc)
225
265
 
@@ -231,6 +271,7 @@ _ALL_TOOLS = [
231
271
  query_run,
232
272
  query_build_and_run,
233
273
  query_chart,
274
+ query_chart_doc,
234
275
  ]
235
276
 
236
277
 
@@ -102,14 +102,11 @@ def chart(
102
102
  "error": None,
103
103
  }
104
104
  else:
105
- chart_items = manager.fetch_chart_queries(uuid)
105
+ chart_bundle = manager.fetch_chart_bundle(uuid)
106
106
  payload = {
107
107
  "success": True,
108
108
  "command": "query chart",
109
- "data": {
110
- "chart_uuid": uuid,
111
- "queries": chart_items,
112
- },
109
+ "data": chart_bundle,
113
110
  "error": None,
114
111
  }
115
112
  except Exception as exc:
@@ -119,6 +116,38 @@ def chart(
119
116
  _emit(payload, pretty)
120
117
 
121
118
 
119
+ @app.command("chart-doc")
120
+ def chart_doc(
121
+ uuid: str = typer.Option(..., "--uuid", help="图表 UUID(chart_uuid)"),
122
+ output: str | None = typer.Option(None, "--output", help="将 Markdown 文档写入指定文件路径"),
123
+ pretty: bool = typer.Option(False, "--pretty", help="格式化输出 JSON 包装体"),
124
+ ):
125
+ """通过 chart_uuid 生成图表 API 调用 Markdown 文档。"""
126
+ manager = QueryManager()
127
+ try:
128
+ result = manager.generate_chart_doc(chart_uuid=uuid)
129
+
130
+ # 如果指定了输出文件,将 Markdown 写入文件
131
+ if output:
132
+ from pathlib import Path
133
+ output_path = Path(output).expanduser()
134
+ output_path.parent.mkdir(parents=True, exist_ok=True)
135
+ output_path.write_text(result["markdown"], encoding="utf-8")
136
+ result["output_path"] = str(output_path)
137
+
138
+ payload = {
139
+ "success": True,
140
+ "command": "query chart-doc",
141
+ "data": result,
142
+ "error": None,
143
+ }
144
+ except Exception as exc:
145
+ _emit(_error_payload("query chart-doc", exc), pretty)
146
+ raise typer.Exit(1)
147
+
148
+ _emit(payload, pretty)
149
+
150
+
122
151
  @app.command("build")
123
152
  def build(
124
153
  dataset: str | None = typer.Option(None, "--dataset", help="dataset_alias"),