aukeys-opscli 0.0.28__tar.gz → 0.0.30__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 (287) hide show
  1. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/PKG-INFO +1 -1
  2. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/guide/MCP/345/267/245/345/205/267/344/275/277/347/224/250/346/211/213/345/206/214.md +59 -1
  3. aukeys_opscli-0.0.30/opscli/skills/templates/ops-dataset-query/.gitignore +4 -0
  4. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/SKILL.md +1 -1
  5. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/references/cli.md +5 -218
  6. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/references/mcp.md +9 -83
  7. aukeys_opscli-0.0.30/opscli/skills/templates/ops-dataset-query/references/query-patterns.md +225 -0
  8. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/chart_analyze.py +12 -50
  9. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/chart_analyze_mcp.py +2 -6
  10. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/chart_map.py +15 -154
  11. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/chart_map_mcp.py +1 -104
  12. aukeys_opscli-0.0.30/opscli/skills/templates/ops-dataset-query/scripts/core.py +367 -0
  13. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/excel_export.py +12 -6
  14. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/excel_export_mcp.py +2 -2
  15. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/query_mcp.py +2 -2
  16. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/updater_mcp.py +1 -1
  17. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/pyproject.toml +1 -1
  18. aukeys_opscli-0.0.28/opscli/skills/templates/ops-dataset-query/scripts/core.py +0 -198
  19. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.agents/plugins/marketplace.json +0 -0
  20. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.agents/skills/super-dev/SKILL.md +0 -0
  21. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.agents/skills/super-dev-seeai/SKILL.md +0 -0
  22. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/CLAUDE.md +0 -0
  23. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/agents/super-dev.md +0 -0
  24. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/commands/super-dev-seeai.md +0 -0
  25. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/commands/super-dev.md +0 -0
  26. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/settings.local.json +0 -0
  27. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/skills/super-dev/SKILL.md +0 -0
  28. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude/skills/super-dev-seeai/SKILL.md +0 -0
  29. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.claude-plugin/marketplace.json +0 -0
  30. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.github/workflows/cross-platform-preflight.yml +0 -0
  31. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.gitignore +0 -0
  32. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/.super-dev/install-manifest.json +0 -0
  33. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/AGENTS.md +0 -0
  34. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/CLAUDE.md +0 -0
  35. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/README.md +0 -0
  36. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/README_MCP.md +0 -0
  37. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  38. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/analysis/amazon-monitor/346/216/245/345/205/245/345/210/206/346/236/220.md" +0 -0
  39. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  40. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  41. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  42. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  43. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/change-log-pending.md +0 -0
  44. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  45. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  46. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  47. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  48. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  49. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/design/ops-amazon Skill/350/247/204/345/210/222/346/226/271/346/241/210.md" +0 -0
  50. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  51. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  52. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/design/query/346/250/241/345/235/227/350/256/276/350/256/241.md" +0 -0
  53. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  54. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  55. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  56. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  57. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  58. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  59. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  60. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  61. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/guide/opscli/345/221/275/344/273/244/347/224/250/344/276/213/346/211/213/345/206/214.md" +0 -0
  62. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  63. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  64. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  65. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/plans/2026-04-22-p1-contract-version-governance.md +0 -0
  66. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  67. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  68. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  69. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  70. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  71. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  72. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  73. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  74. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/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
  75. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/release//346/211/223/345/214/205/345/217/221/345/270/203/346/214/207/345/215/227.md" +0 -0
  76. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/01-asin-health-diagnoser.md +0 -0
  77. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/02-profit-structure-analyzer.md +0 -0
  78. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/03-refund-priority-matrix.md +0 -0
  79. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/04-product-attribute-analyzer.md +0 -0
  80. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/05-advertising-efficiency-optimizer.md +0 -0
  81. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/06-inventory-health-monitor.md +0 -0
  82. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/07-ops-perspective-builder.md +0 -0
  83. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/08-competitive-intelligence-analyst.md +0 -0
  84. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/09-cross-border-product-selector.md +0 -0
  85. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/skills/README.md +0 -0
  86. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/spec/MCP/346/250/241/345/235/227/346/216/245/345/205/245/350/247/204/350/214/203.md" +0 -0
  87. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/docs/spec//345/274/200/345/217/221/350/247/204/350/214/203.md" +0 -0
  88. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/__init__.py +0 -0
  89. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/__init__.py +0 -0
  90. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/cli.py +0 -0
  91. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/client.py +0 -0
  92. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/commands/__init__.py +0 -0
  93. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/commands/cli.py +0 -0
  94. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/domain/__init__.py +0 -0
  95. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/domain/exceptions.py +0 -0
  96. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/domain/models.py +0 -0
  97. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/exceptions.py +0 -0
  98. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/manager.py +0 -0
  99. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/models.py +0 -0
  100. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/parser.py +0 -0
  101. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/scraper.py +0 -0
  102. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/scraping/__init__.py +0 -0
  103. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/scraping/parser.py +0 -0
  104. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/scraping/scraper.py +0 -0
  105. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/services/__init__.py +0 -0
  106. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/services/manager.py +0 -0
  107. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/transport/__init__.py +0 -0
  108. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/amazon/transport/client.py +0 -0
  109. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/__init__.py +0 -0
  110. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/cli.py +0 -0
  111. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/commands/__init__.py +0 -0
  112. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/commands/cli.py +0 -0
  113. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/config.py +0 -0
  114. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/core/__init__.py +0 -0
  115. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/core/device_flow.py +0 -0
  116. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/core/system_registry.py +0 -0
  117. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/core/token_manager.py +0 -0
  118. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/domain/__init__.py +0 -0
  119. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/domain/exceptions.py +0 -0
  120. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/exceptions.py +0 -0
  121. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/storage/__init__.py +0 -0
  122. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/storage/credential_store.py +0 -0
  123. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/auth/storage/crypto.py +0 -0
  124. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/cli.py +0 -0
  125. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/config.py +0 -0
  126. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/__init__.py +0 -0
  127. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/auth_middleware.py +0 -0
  128. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/cli.py +0 -0
  129. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/context.py +0 -0
  130. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/credential_cache.py +0 -0
  131. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/server.py +0 -0
  132. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/__init__.py +0 -0
  133. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/amazon.py +0 -0
  134. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/auth.py +0 -0
  135. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/chatgpt.py +0 -0
  136. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/helpers.py +0 -0
  137. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/query.py +0 -0
  138. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/tools/skills.py +0 -0
  139. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/mcp/user_store.py +0 -0
  140. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/__init__.py +0 -0
  141. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/cli.py +0 -0
  142. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/client.py +0 -0
  143. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/commands/__init__.py +0 -0
  144. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/commands/cli.py +0 -0
  145. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/domain/__init__.py +0 -0
  146. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/domain/exceptions.py +0 -0
  147. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/domain/models.py +0 -0
  148. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/exceptions.py +0 -0
  149. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/manager.py +0 -0
  150. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/models.py +0 -0
  151. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/services/__init__.py +0 -0
  152. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/services/manager.py +0 -0
  153. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/transport/__init__.py +0 -0
  154. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/query/transport/client.py +0 -0
  155. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/shared/__init__.py +0 -0
  156. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/shared/exceptions.py +0 -0
  157. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/shared/http.py +0 -0
  158. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/shared/logging.py +0 -0
  159. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/__init__.py +0 -0
  160. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/cli.py +0 -0
  161. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/commands/__init__.py +0 -0
  162. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/commands/cli.py +0 -0
  163. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/detector.py +0 -0
  164. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/discovery/__init__.py +0 -0
  165. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/discovery/detector.py +0 -0
  166. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/domain/__init__.py +0 -0
  167. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/domain/exceptions.py +0 -0
  168. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/domain/models.py +0 -0
  169. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/exceptions.py +0 -0
  170. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/manager.py +0 -0
  171. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/models.py +0 -0
  172. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/services/__init__.py +0 -0
  173. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/services/manager.py +0 -0
  174. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/sync/__init__.py +0 -0
  175. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/sync/updater.py +0 -0
  176. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-amazon/SKILL.md +0 -0
  177. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-amazon/data/VERSION.json +0 -0
  178. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-amazon/references/cli.md +0 -0
  179. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-amazon/references/mcp.md +0 -0
  180. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/SKILL.md +0 -0
  181. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/data/VERSION.json +0 -0
  182. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/references/cli.md +0 -0
  183. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/references/data-query-service-dev-guide.md +0 -0
  184. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/references/dataset_fields_mapping.md +0 -0
  185. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/references/mcp.md +0 -0
  186. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/references/threshold_reference.md +0 -0
  187. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/scripts/calculate_health_score.py +0 -0
  188. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/scripts/calculate_health_score_mcp.py +0 -0
  189. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-asin-health-diagnoser/scripts/core.py +0 -0
  190. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-auth/SKILL.md +0 -0
  191. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-auth/data/VERSION.json +0 -0
  192. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-auth/references/cli.md +0 -0
  193. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-auth/references/mcp.md +0 -0
  194. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/data/VERSION.json +0 -0
  195. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/data/dataset_fields.csv +0 -0
  196. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/data/datasets.csv +0 -0
  197. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/data/query_metadata.json +0 -0
  198. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/references/data-query-service-dev-guide.md +0 -0
  199. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/query.py +0 -0
  200. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/search.py +0 -0
  201. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-dataset-query/scripts/updater.py +0 -0
  202. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-mcp/SKILL.md +0 -0
  203. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-mcp/data/VERSION.json +0 -0
  204. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/SKILL.md +0 -0
  205. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/data/VERSION.json +0 -0
  206. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/3d_tag_dictionary.md +0 -0
  207. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/attribute_mapping_table.md +0 -0
  208. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/cli.md +0 -0
  209. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/data-query-service-dev-guide.md +0 -0
  210. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/dataset_fields_mapping.md +0 -0
  211. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/market_portrait_template.md +0 -0
  212. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/references/mcp.md +0 -0
  213. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/analyze_attribute_combo.py +0 -0
  214. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/analyze_attribute_combo_mcp.py +0 -0
  215. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/calculate_weighted_share.py +0 -0
  216. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/calculate_weighted_share_mcp.py +0 -0
  217. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/core.py +0 -0
  218. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/generate_market_portrait.py +0 -0
  219. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-product-attribute-analyzer/scripts/generate_market_portrait_mcp.py +0 -0
  220. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-skills/SKILL.md +0 -0
  221. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/templates/ops-skills/data/VERSION.json +0 -0
  222. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/skills/updater.py +0 -0
  223. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/opscli/version.py +0 -0
  224. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-payload-sample-shell.json +0 -0
  225. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-payload-sample.json +0 -0
  226. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-scrape-sample-shell.json +0 -0
  227. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-scrape-sample.json +0 -0
  228. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-search-sample-shell.json +0 -0
  229. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/amazon-search-sample.json +0 -0
  230. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/maintenance/host-onboard-smoke-20260423-082206.json +0 -0
  231. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/maintenance/host-onboard-smoke-20260423-082206.md +0 -0
  232. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/SKILL.md +0 -0
  233. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/code_analysis.json +0 -0
  234. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/config_patterns/config_patterns.json +0 -0
  235. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/config_patterns/config_patterns.md +0 -0
  236. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/dependencies/dependency_graph.dot +0 -0
  237. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/dependencies/dependency_graph.json +0 -0
  238. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/dependencies/dependency_graph.mmd +0 -0
  239. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/dependencies/statistics.json +0 -0
  240. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/documentation/documentation_index.json +0 -0
  241. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/documentation/extraction_summary.json +0 -0
  242. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/output/opscli-codebase/references/documentation/templates/SKILL.md +0 -0
  243. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-claude/.claude-plugin/plugin.json +0 -0
  244. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-claude/README.md +0 -0
  245. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-claude/skills/super-dev/SKILL.md +0 -0
  246. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-claude/skills/super-dev-seeai/SKILL.md +0 -0
  247. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-codex/.codex-plugin/plugin.json +0 -0
  248. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-codex/README.md +0 -0
  249. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-codex/skills/super-dev/SKILL.md +0 -0
  250. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/plugins/super-dev-codex/skills/super-dev-seeai/SKILL.md +0 -0
  251. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/publish.sh +0 -0
  252. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/scripts/release_preflight.py +0 -0
  253. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/__init__.py +0 -0
  254. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/amazon/__init__.py +0 -0
  255. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/amazon/test_cli.py +0 -0
  256. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/amazon/test_client.py +0 -0
  257. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/amazon/test_manager.py +0 -0
  258. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/amazon/test_parser.py +0 -0
  259. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/__init__.py +0 -0
  260. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/test_credential_store.py +0 -0
  261. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/test_crypto.py +0 -0
  262. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/test_device_flow.py +0 -0
  263. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/test_system_registry.py +0 -0
  264. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/auth/test_token_manager.py +0 -0
  265. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/benchmark_credential_read.py +0 -0
  266. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/__init__.py +0 -0
  267. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/conftest.py +0 -0
  268. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_cli.py +0 -0
  269. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_context.py +0 -0
  270. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_credential_cache.py +0 -0
  271. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_multi_user_isolation.py +0 -0
  272. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_tools.py +0 -0
  273. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/mcp/test_user_store.py +0 -0
  274. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/query/test_cli.py +0 -0
  275. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/query/test_client.py +0 -0
  276. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/query/test_manager.py +0 -0
  277. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/shared/__init__.py +0 -0
  278. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/shared/test_shared.py +0 -0
  279. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/__init__.py +0 -0
  280. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/test_cli.py +0 -0
  281. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/test_detector.py +0 -0
  282. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/test_manager.py +0 -0
  283. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/test_ops_dataset_query_search.py +0 -0
  284. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/skills/test_updater.py +0 -0
  285. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/test_session_sharing.py +0 -0
  286. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/tests/test_version_consistency.py +0 -0
  287. {aukeys_opscli-0.0.28 → aukeys_opscli-0.0.30}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aukeys-opscli
3
- Version: 0.0.28
3
+ Version: 0.0.30
4
4
  Summary: Aukeys 运营 CLI 工具集
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: cryptography>=38
@@ -36,7 +36,8 @@ opscli MCP Tools
36
36
  │ ├── query_build
37
37
  │ ├── query_run
38
38
  │ ├── query_build_and_run
39
- └── query_chart
39
+ ├── query_chart
40
+ │ └── query_chart_doc
40
41
  └── skills
41
42
  ├── skills_list
42
43
  ├── skills_install
@@ -844,6 +845,61 @@ query_chart(
844
845
 
845
846
  ---
846
847
 
848
+ ### 5.6 `query_chart_doc`
849
+
850
+ 通过 `chart_uuid` 生成图表 API 调用 Markdown 文档,包含查询结构、字段映射、过滤规则与样例。**需要认证**。
851
+
852
+ 文档包含七大章节:使用方式、关键术语、图表概览、API 调用流程、字段明细表、过滤规则、查询拆解与样例。适合 Skill / AI Agent 直接消费。
853
+
854
+ **参数**
855
+
856
+ | 参数 | 类型 | 必填 | 说明 |
857
+ |------|------|------|------|
858
+ | `chart_uuid` | string | 是 | 图表唯一标识 |
859
+ | `output_path` | string | 否 | 将 Markdown 写入指定文件路径 |
860
+ | `session_id` | string | 否 | OAuth 授权后的 Session ID(为空则自动加载本地保存的) |
861
+ | `jwt` | string | 否 | 已有 JWT(为空则自动加载本地缓存的) |
862
+
863
+ **返回**
864
+
865
+ ```json
866
+ {
867
+ "success": true,
868
+ "data": {
869
+ "chart_uuid": "jSNuhm54uY",
870
+ "markdown": "# 图表查询 API 开发文档\n...",
871
+ "query_count": 3,
872
+ "dataset_aliases": ["sales_order_d"],
873
+ "dataset_count": 1,
874
+ "output_path": "/tmp/chart_api_doc.md"
875
+ },
876
+ "error": null
877
+ }
878
+ ```
879
+
880
+ **示例**
881
+
882
+ 生成文档(Markdown 在返回数据中):
883
+
884
+ ```python
885
+ query_chart_doc(
886
+ chart_uuid="jSNuhm54uY",
887
+ session_id="860b0636485b5188a2b9b4ed5210e736"
888
+ )
889
+ ```
890
+
891
+ 生成文档并写入本地文件:
892
+
893
+ ```python
894
+ query_chart_doc(
895
+ chart_uuid="jSNuhm54uY",
896
+ output_path="/tmp/chart_api_doc.md",
897
+ session_id="860b0636485b5188a2b9b4ed5210e736"
898
+ )
899
+ ```
900
+
901
+ ---
902
+
847
903
  ## 6. Skill 模块 `skills_*`
848
904
 
849
905
  用于扫描已安装 Skill、安装内置模板、查看状态、升级远端版本。
@@ -1055,6 +1111,7 @@ result = query_chart(
1055
1111
  | `query_build_and_run` | **是** | 可传 session_id / jwt |
1056
1112
  | `query_chart`(run=False) | 否 | - |
1057
1113
  | `query_chart`(run=True) | **是** | 可传 session_id / jwt |
1114
+ | `query_chart_doc` | **是** | 可传 session_id / jwt |
1058
1115
  | `skills_list` | 否 | - |
1059
1116
  | `skills_install` | 否 | - |
1060
1117
  | `skills_status` | 服务端自动 | 涉及远端 API |
@@ -1088,6 +1145,7 @@ result = query_chart(
1088
1145
  | 查询 | `query_run` | `opscli query run` |
1089
1146
  | 查询 | `query_build_and_run` | `opscli query build --run` |
1090
1147
  | 查询 | `query_chart` | `opscli query chart` |
1148
+ | 查询 | `query_chart_doc` | `opscli query chart-doc` |
1091
1149
  | Skills | `skills_list` | `opscli skills list` |
1092
1150
  | Skills | `skills_install` | `opscli skills install` |
1093
1151
  | Skills | `skills_status` | `opscli skills status` |
@@ -0,0 +1,4 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.pyo
4
+ .DS_Store
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ops-dataset-query
3
3
  description: 根据当前环境自动选择 CLI 或 MCP 方式查询本地数据集索引并执行数据查询
4
- version: v0.0.5
4
+ version: see data/VERSION.json
5
5
  ---
6
6
 
7
7
  # ops-dataset-query
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: ops-dataset-query
3
- description: 使用本地缓存的数据集与字段索引辅助检索和查询
4
- version: v0.0.3
3
+ description: 使用本地缓存的数据集与字段索引辅助检索和查询(CLI 模式)
5
4
  ---
6
5
 
7
6
  # ops-dataset-query
@@ -885,228 +884,16 @@ opscli skills upgrade ops-dataset-query --force
885
884
 
886
885
  ## 高级查询说明
887
886
 
888
- 详细规则见 `references/data-query-service-dev-guide.md`,核心章节:
889
-
890
- | 场景 | 参考章节 |
891
- |------|---------|
892
- | innerWhere、子查询数据集 | 第三章 数据集类型详解 |
893
- | WHERE 操作符、嵌套条件、translate | 第五章 WHERE 条件构建指南 |
894
- | dataComparison 数据对比 | 第六章 |
895
- | 多次查询(交叉表/透视表/堆叠图) | 第七章 |
896
- | SELECT 字段、聚合函数、高级计算(MOY/ACC/PPT) | 第八章 |
897
- | 权限占位符 | 第四章 |
898
- | 分页与排序 | 第九章 |
887
+ > 完整的数据对比与高级计算参考(dataComparison / MOY / ACC / PPT / 决策流程 / payload 结构)
888
+ > 请参见 **`references/query-patterns.md`**。
899
889
 
900
890
  **使用建议**:
901
891
  - 普通聚合优先使用 `opscli query build`
902
- - 涉及上述高级场景时,先阅读引用文档,再手写 payload + `opscli query run`
903
-
904
- ---
905
-
906
- ## 数据对比与高级计算
907
-
908
- ### 方案选择决策流程
909
-
910
- ```
911
- 用户需要比较两个时间段的数据?
912
- ├── YES → 需要按时间粒度(日/月)分组展示趋势?
913
- │ ├── YES → 使用 MOY 高级计算(comparison 写在 select 字段内)
914
- │ └── NO → 需要当期 vs 对比期汇总对比?
915
- │ ├── YES → 使用 dataComparison(服务端一次 SQL,推荐首选)
916
- │ └── NO → 普通聚合 opscli query build
917
- └── NO → 普通聚合 opscli query build
918
- ```
919
-
920
- ---
921
-
922
- ### dataComparison 数据对比
923
-
924
- > 服务端将当期和对比期合并为**一次 SQL**(条件聚合),每个度量字段自动裂变为 4 个字段。
925
-
926
- **字段裂变规则**(以别名 `total_price` 为例):
927
-
928
- | 裂变字段 | 含义 |
929
- |---------|------|
930
- | `total_price` | 当期值 |
931
- | `last_total_price` | 对比期值 |
932
- | `diff_total_price` | 绝对差值(当期 - 对比期) |
933
- | `pct_total_price` | 变化率(差值 / ABS(对比期)),上期为 0 时返回 null |
934
-
935
- **payload 结构**(`opscli query run --payload`):
936
-
937
- ```json
938
- {
939
- "tableId": 1104,
940
- "query": {
941
- "select": [
942
- {"expr": "ds_xxx.dept_name", "alias": "dept_name"},
943
- {"expr": "ds_xxx.price", "alias": "total_price", "aggregation": "SUM"},
944
- {"expr": "ds_xxx.order_qty", "alias": "total_qty", "aggregation": "SUM"}
945
- ],
946
- "groupBy": ["dept_name"],
947
- "where": {
948
- "operator": "AND",
949
- "conditions": [
950
- {"field": "ds_xxx.date_id", "operator": "gte", "value": "2026-04-01"},
951
- {"field": "ds_xxx.date_id", "operator": "lte", "value": "2026-04-22"}
952
- ]
953
- },
954
- "orderBy": [{"expr": "total_price", "desc": true}],
955
- "limit": 50,
956
- "offset": 0
957
- },
958
- "dataComparison": {
959
- "switch": true,
960
- "field": "ds_xxx.date_id",
961
- "startDate": "2026-03-01",
962
- "endDate": "2026-03-22"
963
- }
964
- }
965
- ```
966
-
967
-
968
- **适用场景**:当期(如本月 1-22 日) vs 对比期(如上月同期 1-22 日)的汇总数据对比,**同期天数对等**,适合月度/季度环比汇总看板。
969
-
970
- ---
971
-
972
- ### MOY 同环比(高级计算)
973
-
974
- > 服务端通过窗口函数 `LAG()` 计算,**`comparison` 字段写在 `select` 内部**,opscli 可正常透传。
975
-
976
- **前提条件**:`groupBy` 中**必须同时包含日期维度和其他业务维度**。
977
-
978
- **type 枚举速查**:
979
-
980
- | 类型 | `type` 值 | groupBy 日期格式 |
981
- |------|-----------|----------------|
982
- | 月环比 | `MOM_MONTH` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m')` |
983
- | 日环比 | `MOM_DAY` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
984
- | 周环比 | `MOM_WEEK` | `DATE_FORMAT(ds_xxx.date_id, '%x-%v')` |
985
- | 月同比 | `YOY_MONTH` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
986
- | 年同比 | `YOY_YEAR` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
987
-
988
- **`cacl_type` 字段语义**(重要,容易误解):
989
-
990
- | `cacl_type` | 字段值含义 | 说明 |
991
- |-------------|-----------|------|
992
- | `ORIGINAL` | **上期值(LAG)** | 不是当期原始值!是前一期的聚合结果 |
993
- | `COMPARE` | 当期 − 上期 | 正数=增长,负数=下滑 |
994
- | `PERCENT` | (当期 − 上期) / ABS(上期) | 环比变化率,上期为 0 时返回 null |
995
-
996
- > 💡 当期实际值 = `ORIGINAL 字段值` + `COMPARE 字段值`
997
-
998
- **完整 payload 示例(月环比,按部门)**:
999
-
1000
- ```json
1001
- {
1002
- "tableId": 1104,
1003
- "query": {
1004
- "select": [
1005
- {"expr": "ds_xxx.dept_name", "alias": "dept_name"},
1006
- {"expr": "DATE_FORMAT(ds_xxx.date_id, '%Y-%m')", "alias": "month"},
1007
- {
1008
- "expr": "ds_xxx.price",
1009
- "alias": "price_prev",
1010
- "comparison": "MOY",
1011
- "params": {
1012
- "date": "DATE_FORMAT(ds_xxx.date_id, '%Y-%m')",
1013
- "dim": ["dept_name"],
1014
- "type": "MOM_MONTH",
1015
- "cacl_type": "ORIGINAL",
1016
- "aggregation": "SUM"
1017
- }
1018
- },
1019
- {
1020
- "expr": "ds_xxx.price",
1021
- "alias": "price_diff",
1022
- "comparison": "MOY",
1023
- "params": {
1024
- "date": "DATE_FORMAT(ds_xxx.date_id, '%Y-%m')",
1025
- "dim": ["dept_name"],
1026
- "type": "MOM_MONTH",
1027
- "cacl_type": "COMPARE",
1028
- "aggregation": "SUM"
1029
- }
1030
- },
1031
- {
1032
- "expr": "ds_xxx.price",
1033
- "alias": "price_pct",
1034
- "comparison": "MOY",
1035
- "params": {
1036
- "date": "DATE_FORMAT(ds_xxx.date_id, '%Y-%m')",
1037
- "dim": ["dept_name"],
1038
- "type": "MOM_MONTH",
1039
- "cacl_type": "PERCENT",
1040
- "aggregation": "SUM"
1041
- }
1042
- }
1043
- ],
1044
- "groupBy": ["dept_name", "month"],
1045
- "where": {
1046
- "operator": "AND",
1047
- "conditions": [
1048
- {"field": "ds_xxx.date_id", "operator": "gte", "value": "2026-03-01"},
1049
- {"field": "ds_xxx.date_id", "operator": "lte", "value": "2026-04-22"}
1050
- ]
1051
- },
1052
- "orderBy": [
1053
- {"expr": "month", "desc": true},
1054
- {"expr": "price_diff", "desc": true}
1055
- ],
1056
- "limit": 100,
1057
- "offset": 0
1058
- }
1059
- }
1060
- ```
1061
-
1062
- **结果读取说明**:
1063
- - 当月行(如 `2026-04`):`price_prev` = 上月值,`price_diff` = 本月增减,`price_pct` = 环比率
1064
- - 上月行(如 `2026-03`):`price_prev` = 上上月值,其他同理
1065
- - WHERE 范围需覆盖**当期 + 对比期**(至少两个完整粒度),否则最早一期 `price_prev` 为 NULL
1066
-
1067
- **适用场景**:按月/日/周分组的趋势图、时序对比;注意 MOY 用整个历史周期做 LAG,与 `dataComparison` 的同期对比不同,**月中查询时本月 vs 上月完整月存在天数不等的偏差**。
1068
-
1069
- ---
1070
-
1071
- ### ACC 累加计算
1072
-
1073
- > 按时间序列滚动累计(Running Total),适合 YTD 累计销售额等场景。
1074
-
1075
- ```json
1076
- {
1077
- "expr": "ds_xxx.price",
1078
- "alias": "price_acc",
1079
- "comparison": "ACC",
1080
- "params": {
1081
- "dim": [],
1082
- "aggregation": "SUM"
1083
- }
1084
- }
1085
- ```
1086
-
1087
- > `dim` 当前固定传空数组 `[]`,暂不支持分组累加。
1088
-
1089
- ---
1090
-
1091
- ### PPT 占比计算
1092
-
1093
- > 当前维度指标值 ÷ 全局总量,适合各部门销售额占比等场景。
1094
-
1095
- ```json
1096
- {
1097
- "expr": "ds_xxx.price",
1098
- "alias": "price_ppt",
1099
- "comparison": "PPT",
1100
- "params": {
1101
- "dim": [],
1102
- "aggregation": "SUM"
1103
- }
1104
- }
1105
- ```
892
+ - 涉及高级场景时,先阅读 `references/query-patterns.md` 和 `references/data-query-service-dev-guide.md`,再手写 payload + `opscli query run`
1106
893
 
1107
894
  ---
1108
895
 
1109
- ### 降级方案:多次查询客户端合并
896
+ ### 降级方案:多次查询客户端合并(CLI 示例)
1110
897
 
1111
898
  > **仅在 dataComparison 和 MOY 均无法满足需求时使用**(如工具限制、跨数据集对比)。
1112
899
 
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  name: ops-dataset-query
3
- mcp-version: v1.0.1
4
3
  description: 使用 MCP Tool 查询本地缓存的数据集与字段索引,执行数据查询(无状态模式)
5
4
  ---
6
5
 
@@ -656,32 +655,15 @@ auth_token_refresh(system="ops", session_id="860b0636485b5188a2b9b4ed5210e736")
656
655
 
657
656
  ## 数据对比与高级计算
658
657
 
659
- ### 方案选择决策流程
658
+ > 完整的数据对比与高级计算参考(dataComparison / MOY / ACC / PPT / 决策流程 / payload 结构)
659
+ > 请参见 **`references/query-patterns.md`**。
660
660
 
661
- ```
662
- 用户需要比较两个时间段的数据?
663
- ├── YES 需要按时间粒度(日/月)分组展示趋势?
664
- │ ├── YES → 使用 MOY 高级计算(comparison 写在 select 字段内)
665
- │ └── NO → 需要当期 vs 对比期汇总对比?
666
- │ ├── YES → 使用 dataComparison(服务端一次 SQL,推荐首选)
667
- │ └── NO → 普通聚合 query_build_and_run
668
- └── NO → 普通聚合 query_build_and_run
669
- ```
670
-
671
- ### dataComparison 数据对比
672
-
673
- > 服务端将当期和对比期合并为**一次 SQL**(条件聚合),每个度量字段自动裂变为 4 个字段。
674
-
675
- **字段裂变规则**(以别名 `total_price` 为例):
661
+ **使用建议**:
662
+ - 普通聚合优先使用 `query_build_and_run`
663
+ - 涉及高级场景时,先阅读 `references/query-patterns.md` 和 `references/data-query-service-dev-guide.md`,再手写 payload + `query_run`
676
664
 
677
- | 裂变字段 | 含义 |
678
- |---------|------|
679
- | `total_price` | 当期值 |
680
- | `last_total_price` | 对比期值 |
681
- | `diff_total_price` | 绝对差值(当期 - 对比期) |
682
- | `pct_total_price` | 变化率(差值 / ABS(对比期)),上期为 0 时返回 null |
665
+ ### dataComparison MCP 调用示例
683
666
 
684
- **调用示例**:
685
667
  ```python
686
668
  query_build_and_run(
687
669
  table_id=1104,
@@ -693,53 +675,7 @@ query_build_and_run(
693
675
  )
694
676
  ```
695
677
 
696
- **适用场景**:当期(如本月 1-22 日) vs 对比期(如上月同期 1-22 日)的汇总数据对比,**同期天数对等**。
697
-
698
- ---
699
-
700
- ### MOY 同环比(高级计算)
701
-
702
- > 服务端通过窗口函数 `LAG()` 计算,**`comparison` 字段写在 `select` 内部**。
703
-
704
- **前提条件**:`groupBy` 中**必须同时包含日期维度和其他业务维度**。
705
-
706
- **type 枚举速查**:
707
-
708
- | 类型 | `type` 值 | groupBy 日期格式 |
709
- |------|-----------|----------------|
710
- | 月环比 | `MOM_MONTH` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m')` |
711
- | 日环比 | `MOM_DAY` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
712
- | 周环比 | `MOM_WEEK` | `DATE_FORMAT(ds_xxx.date_id, '%x-%v')` |
713
- | 月同比 | `YOY_MONTH` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
714
- | 年同比 | `YOY_YEAR` | `DATE_FORMAT(ds_xxx.date_id, '%Y-%m-%d')` |
715
-
716
- **`cacl_type` 字段语义**:
717
-
718
- | `cacl_type` | 字段值含义 | 说明 |
719
- |-------------|-----------|------|
720
- | `ORIGINAL` | **上期值(LAG)** | 不是当期原始值!是前一期的聚合结果 |
721
- | `COMPARE` | 当期 − 上期 | 正数=增长,负数=下滑 |
722
- | `PERCENT` | (当期 − 上期) / ABS(上期) | 环比变化率,上期为 0 时返回 null |
723
-
724
- > 💡 当期实际值 = `ORIGINAL 字段值` + `COMPARE 字段值`
725
-
726
- **适用场景**:按月/日/周分组的趋势图、时序对比。注意 MOY 用整个历史周期做 LAG,与 `dataComparison` 的同期对比不同。
727
-
728
- ---
729
-
730
- ### ACC 累加计算
731
-
732
- > 按时间序列滚动累计(Running Total),适合 YTD 累计销售额等场景。
733
-
734
- ---
735
-
736
- ### PPT 占比计算
737
-
738
- > 当前维度指标值 ÷ 全局总量,适合各部门销售额占比等场景。
739
-
740
- ---
741
-
742
- ### 降级方案:多次查询客户端合并
678
+ ### 降级方案:多次查询客户端合并(MCP 示例)
743
679
 
744
680
  > **仅在 dataComparison 和 MOY 均无法满足需求时使用**。
745
681
 
@@ -924,18 +860,8 @@ skills_upgrade(name="ops-dataset-query", skills_dir="/Users/mask/.config/opencod
924
860
 
925
861
  ## 高级查询说明
926
862
 
927
- 详细规则见 `references/data-query-service-dev-guide.md`,核心章节:
928
-
929
- | 场景 | 参考章节 |
930
- |------|---------|
931
- | innerWhere、子查询数据集 | 第三章 数据集类型详解 |
932
- | WHERE 操作符、嵌套条件、translate | 第五章 WHERE 条件构建指南 |
933
- | dataComparison 数据对比 | 第六章 |
934
- | 多次查询(交叉表/透视表/堆叠图) | 第七章 |
935
- | SELECT 字段、聚合函数、高级计算(MOY/ACC/PPT) | 第八章 |
936
- | 权限占位符 | 第四章 |
937
- | 分页与排序 | 第九章 |
863
+ > 完整的高级查询章节索引和数据对比参考请参见 **`references/query-patterns.md`**。
938
864
 
939
865
  **使用建议**:
940
866
  - 普通聚合优先使用 `query_build_and_run`
941
- - 涉及上述高级场景时,先阅读引用文档,再手写 payload + `query_run`
867
+ - 涉及高级场景时,先阅读 `references/query-patterns.md` 和 `references/data-query-service-dev-guide.md`,再手写 payload + `query_run`