qiongli 1.9.2 → 1.10.0

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 (63) hide show
  1. package/README.md +8 -5
  2. package/lib/args.mjs +1 -1
  3. package/lib/cli.mjs +9 -2
  4. package/package.json +1 -1
  5. package/payload/qiongli-workflow/SKILL.md +2 -2
  6. package/payload/qiongli-workflow/VERSION +1 -1
  7. package/payload/qiongli-workflow/skills/registry.yaml +73 -73
  8. package/payload/subjects/accounting/complete/qiongli-workflow/SKILL.md +2 -2
  9. package/payload/subjects/accounting/complete/qiongli-workflow/VERSION +1 -1
  10. package/payload/subjects/accounting/complete/qiongli-workflow/skills/registry.yaml +73 -73
  11. package/payload/subjects/accounting/focused/qiongli-workflow/SKILL.md +2 -2
  12. package/payload/subjects/accounting/focused/qiongli-workflow/VERSION +1 -1
  13. package/payload/subjects/accounting/focused/qiongli-workflow/skills/registry.yaml +37 -37
  14. package/payload/subjects/business/complete/qiongli-workflow/SKILL.md +2 -2
  15. package/payload/subjects/business/complete/qiongli-workflow/VERSION +1 -1
  16. package/payload/subjects/business/complete/qiongli-workflow/skills/registry.yaml +73 -73
  17. package/payload/subjects/business/focused/qiongli-workflow/SKILL.md +2 -2
  18. package/payload/subjects/business/focused/qiongli-workflow/VERSION +1 -1
  19. package/payload/subjects/business/focused/qiongli-workflow/skills/registry.yaml +37 -37
  20. package/payload/subjects/core/complete/qiongli-workflow/SKILL.md +2 -2
  21. package/payload/subjects/core/complete/qiongli-workflow/VERSION +1 -1
  22. package/payload/subjects/core/complete/qiongli-workflow/skills/registry.yaml +73 -73
  23. package/payload/subjects/core/focused/qiongli-workflow/SKILL.md +2 -2
  24. package/payload/subjects/core/focused/qiongli-workflow/VERSION +1 -1
  25. package/payload/subjects/core/focused/qiongli-workflow/skills/registry.yaml +73 -73
  26. package/payload/subjects/economics/complete/qiongli-workflow/SKILL.md +2 -2
  27. package/payload/subjects/economics/complete/qiongli-workflow/VERSION +1 -1
  28. package/payload/subjects/economics/complete/qiongli-workflow/skills/registry.yaml +73 -73
  29. package/payload/subjects/economics/focused/qiongli-workflow/SKILL.md +2 -2
  30. package/payload/subjects/economics/focused/qiongli-workflow/VERSION +1 -1
  31. package/payload/subjects/economics/focused/qiongli-workflow/skills/registry.yaml +37 -37
  32. package/payload/subjects/economics-accounting/complete/qiongli-workflow/SKILL.md +2 -2
  33. package/payload/subjects/economics-accounting/complete/qiongli-workflow/VERSION +1 -1
  34. package/payload/subjects/economics-accounting/complete/qiongli-workflow/skills/registry.yaml +73 -73
  35. package/payload/subjects/economics-accounting/focused/qiongli-workflow/SKILL.md +2 -2
  36. package/payload/subjects/economics-accounting/focused/qiongli-workflow/VERSION +1 -1
  37. package/payload/subjects/economics-accounting/focused/qiongli-workflow/skills/registry.yaml +37 -37
  38. package/payload/subjects/finance/complete/qiongli-workflow/SKILL.md +2 -2
  39. package/payload/subjects/finance/complete/qiongli-workflow/VERSION +1 -1
  40. package/payload/subjects/finance/complete/qiongli-workflow/skills/registry.yaml +73 -73
  41. package/payload/subjects/finance/focused/qiongli-workflow/SKILL.md +2 -2
  42. package/payload/subjects/finance/focused/qiongli-workflow/VERSION +1 -1
  43. package/payload/subjects/finance/focused/qiongli-workflow/skills/registry.yaml +37 -37
  44. package/payload/subjects/geoeconomics/complete/qiongli-workflow/SKILL.md +2 -2
  45. package/payload/subjects/geoeconomics/complete/qiongli-workflow/VERSION +1 -1
  46. package/payload/subjects/geoeconomics/complete/qiongli-workflow/skills/registry.yaml +73 -73
  47. package/payload/subjects/geoeconomics/focused/qiongli-workflow/SKILL.md +2 -2
  48. package/payload/subjects/geoeconomics/focused/qiongli-workflow/VERSION +1 -1
  49. package/payload/subjects/geoeconomics/focused/qiongli-workflow/skills/registry.yaml +37 -37
  50. package/payload/subjects/political-economy/complete/qiongli-workflow/SKILL.md +2 -2
  51. package/payload/subjects/political-economy/complete/qiongli-workflow/VERSION +1 -1
  52. package/payload/subjects/political-economy/complete/qiongli-workflow/skills/registry.yaml +73 -73
  53. package/payload/subjects/political-economy/focused/qiongli-workflow/SKILL.md +2 -2
  54. package/payload/subjects/political-economy/focused/qiongli-workflow/VERSION +1 -1
  55. package/payload/subjects/political-economy/focused/qiongli-workflow/skills/registry.yaml +37 -37
  56. package/python-runtime/qiongli/__init__.py +1 -1
  57. package/python-runtime/qiongli/bridges/mcp_config_wizard.py +230 -11
  58. package/python-runtime/qiongli/cli.py +86 -15
  59. package/python-runtime/qiongli/install_discovery.py +22 -14
  60. package/python-runtime/qiongli/self_update.py +240 -0
  61. package/python-runtime/qiongli/setup_wizard.py +83 -10
  62. package/python-runtime/qiongli/universal_installer.py +20 -1
  63. package/python-runtime/skills/registry.yaml +73 -73
package/README.md CHANGED
@@ -24,10 +24,12 @@ Use explicit `qiongli install ...` commands when you only need Node-based asset
24
24
  Update an existing global install with:
25
25
 
26
26
  ```bash
27
- npm install -g qiongli@latest
28
- qiongli upgrade --subject accounting --target all
27
+ qiongli self-update --dry-run
28
+ qiongli self-update --yes
29
29
  ```
30
30
 
31
+ `qiongli self-update` delegates to `npm install -g qiongli@latest`, then refreshes the full local plugin/MCP surface with `qiongli install --target all --surface plugin --profile full --overwrite`. Use `--channel next` for the prerelease dist-tag. Marketplace plugins remain managed by the client plugin manager.
32
+
31
33
  Or run without a global install:
32
34
 
33
35
  ```bash
@@ -53,13 +55,14 @@ qiongli uninstall --target codex
53
55
 
54
56
  The npm package contains pre-materialized `core`, `economics`, `accounting`, `business`, `finance`, `political-economy`, `geoeconomics`, and `economics-accounting` `qiongli-workflow` subject payloads in both `complete` and `focused` coverage. It does not depend on PyPI for skill installation and does not run `postinstall`.
55
57
 
56
- `qiongli setup` is the interactive guided path for choosing install or upgrade, runtime surface, subject, coverage, `--mode copy|link`, install scope, CLI directory, `--overwrite` / `--no-overwrite`, optional upgrade source, literature provider keys, and doctor verification. Each prompt includes a short `Tip:` comment. It delegates to the bundled Python bridge, so it requires Python 3.12+ with `PyYAML`. If you only need Node-based asset installation, use explicit `qiongli install ...` commands.
58
+ `qiongli setup` is the interactive guided path for choosing install or upgrade, runtime surface, subject, coverage, `--mode copy|link`, install scope, CLI directory, `--overwrite` / `--no-overwrite`, optional upgrade source, literature provider setup, and doctor verification. Provider setup defaults to one local browser page with key-access guidance for OpenAlex, Semantic Scholar, Crossref, PubMed, and arXiv; use `--provider-mode prompt` for terminal-only entry or `--provider-mode skip` to bypass it. Each prompt includes a short `Tip:` comment. It delegates to the bundled Python bridge, so it requires Python 3.12+ with `PyYAML`. If you only need Node-based asset installation, use explicit `qiongli install ...` commands.
57
59
 
58
60
  ## Global-first update model
59
61
 
60
62
  The npm package and the installed workflow assets are separate surfaces:
61
63
 
62
64
  - `npm install -g qiongli@latest` updates the npm CLI and bundled payload in npm's global package location.
65
+ - `qiongli self-update --yes` performs that npm package update and then refreshes installed full local plugin/MCP surfaces from the new bundled payload.
63
66
  - `qiongli install --target all` installs the default `core/complete` package into global AI client skill directories.
64
67
  - `qiongli install --subject economics --target all` installs the full framework plus economics specialization.
65
68
  - `qiongli install --subject accounting --target all` installs the full framework plus accounting specialization.
@@ -69,7 +72,7 @@ The npm package and the installed workflow assets are separate surfaces:
69
72
  - `qiongli install --subject geoeconomics --target all` installs the full framework plus geoeconomics specialization.
70
73
  - `qiongli install --subject economics --coverage focused --target all` installs the slimmer economics-focused package.
71
74
  - `qiongli install --subject economics-accounting --target all` installs the official economics/accounting composite.
72
- - `qiongli upgrade --subject accounting --target all` is the same install flow with overwrite enabled, and is the normal command after updating the npm package.
75
+ - `qiongli upgrade --subject accounting --target all` is the release-archive refresh path with overwrite enabled. Use it when you intentionally want to download an upstream GitHub release rather than updating the npm package first.
73
76
  - `qiongli remove --target all` removes CLI-installed global workflow assets and generated discovery links while preserving marketplace plugins and unmanaged user files.
74
77
  - Project directories are not required for normal install or upgrade. Use project paths only for commands that inspect or clean a specific project, such as `qiongli doctor --cwd .` or `qiongli clean --project-dir .`.
75
78
 
@@ -122,7 +125,7 @@ Use `stdio` when the desktop client can launch a local command. Use HTTP only fo
122
125
  qiongli mcp serve --transport http --host 127.0.0.1 --port 8765
123
126
  ```
124
127
 
125
- Provider keys can be configured with `qiongli mcp configure ...`, `qiongli provider setup`, or the MCP tool `qiongli_configure_provider`. Status and tool output are redacted; raw key values are not printed.
128
+ Provider keys can be configured with `qiongli mcp configure ...`, `qiongli provider setup`, or the MCP tool `qiongli_configure_provider`. The setup page includes links and short steps for getting each supported key, and marks arXiv as available without an API key. Status and tool output are redacted; raw key values are not printed.
126
129
 
127
130
  Runtime `--custom-dir` customization is not supported by npm in this phase. Use the source checkout when you need local custom overlays, profiles, or skills:
128
131
 
package/lib/args.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  const TARGETS = new Set(['codex', 'claude', 'antigravity', 'hermes', 'all']);
2
2
  const MODES = new Set(['copy', 'link']);
3
3
  const BRIDGE_COMMANDS = new Set(['doctor', 'guidance', 'task-run', 'team-run', 'parallel', 'chain', 'role', 'single', 'code-build', 'task-plan']);
4
- const PYTHON_CLI_COMMANDS = new Set(['setup', 'mcp']);
4
+ const PYTHON_CLI_COMMANDS = new Set(['setup', 'mcp', 'self-update', 'update']);
5
5
 
6
6
  export function parseArgv(argv) {
7
7
  const [rawCommand = 'help', ...restArgs] = argv;
package/lib/cli.mjs CHANGED
@@ -8,11 +8,13 @@ import {
8
8
  } from './python-runtime.mjs';
9
9
 
10
10
  const BRIDGE_COMMANDS = new Set(['doctor', 'guidance', 'task-run', 'team-run', 'parallel', 'chain', 'role', 'single', 'code-build', 'task-plan']);
11
- const PYTHON_CLI_COMMANDS = new Set(['setup', 'mcp']);
11
+ const PYTHON_CLI_COMMANDS = new Set(['setup', 'mcp', 'self-update', 'update']);
12
+ const SELF_UPDATE_COMMANDS = new Set(['self-update', 'update']);
12
13
 
13
14
  export async function main(argv, {
14
15
  stdout = process.stdout,
15
16
  stderr = process.stderr,
17
+ env = process.env,
16
18
  runBridgeCommand = defaultRunBridgeCommand,
17
19
  runPythonCliCommand = defaultRunPythonCliCommand,
18
20
  } = {}) {
@@ -115,7 +117,10 @@ export async function main(argv, {
115
117
  }
116
118
 
117
119
  if (PYTHON_CLI_COMMANDS.has(parsed.command)) {
118
- return runPythonCliCommand({ packageRoot: root, args: [parsed.command, ...parsed.rest] });
120
+ const childEnv = SELF_UPDATE_COMMANDS.has(parsed.command)
121
+ ? { ...env, QIONGLI_INSTALL_CHANNEL: 'npm' }
122
+ : env;
123
+ return runPythonCliCommand({ packageRoot: root, args: [parsed.command, ...parsed.rest], env: childEnv });
119
124
  }
120
125
 
121
126
  if (BRIDGE_COMMANDS.has(parsed.command)) {
@@ -162,6 +167,8 @@ Usage:
162
167
  qiongli check [--json]
163
168
  qiongli clean --project-dir . [--globals]
164
169
  qiongli runtime doctor
170
+ qiongli self-update [--channel stable|next] [--yes]
171
+ qiongli update [--dry-run]
165
172
  qiongli setup [--dry-run] [--project-dir .] [--no-doctor]
166
173
  qiongli mcp serve --transport stdio
167
174
  qiongli mcp doctor --json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qiongli",
3
- "version": "1.9.2",
3
+ "version": "1.10.0",
4
4
  "description": "Qiongli academic research workflow installer and optional Python bridge runtime.",
5
5
  "author": {
6
6
  "name": "Jiaxin Peng",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: qiongli
3
- description: "Qiongli version: v1.9.2. Cross-platform academic research workflow for Codex, Claude / Claude Code, and CLI. Use for academic research lifecycle work: paper planning, literature review, paper reading, gap finding, study design, manuscript writing, statistics, analysis code, reproducibility, proofread, rebuttal, submission, presentation, and stage-aware grill / critique. Route natural academic requests even when the user does not explicitly invoke $qiongli or a slash command."
3
+ description: "Qiongli version: v1.10.0. Cross-platform academic research workflow for Codex, Claude / Claude Code, and CLI. Use for academic research lifecycle work: paper planning, literature review, paper reading, gap finding, study design, manuscript writing, statistics, analysis code, reproducibility, proofread, rebuttal, submission, presentation, and stage-aware grill / critique. Route natural academic requests even when the user does not explicitly invoke $qiongli or a slash command."
4
4
  ---
5
5
 
6
6
  # Qiongli Academic Workflow
@@ -9,7 +9,7 @@ Run a model-agnostic paper workflow using shared Task IDs and artifact contracts
9
9
 
10
10
  This is a **self-contained skill package**. All assets needed for execution — workflows, skill specifications, output templates, standards, and agent roles — are bundled in subdirectories of this package. No external repo access is needed.
11
11
 
12
- Installed Qiongli workflow version: `v1.9.2`
12
+ Installed Qiongli workflow version: `v1.10.0`
13
13
 
14
14
  ## Quick Start
15
15
 
@@ -1 +1 @@
1
- v1.9.2
1
+ v1.10.0