@qingflow-tech/qingflow-cli 1.1.43-beta.2 → 1.1.43-beta.4

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 (62) hide show
  1. package/README.md +11 -5
  2. package/entry_point.py +1 -1
  3. package/npm/bin/qingflow.mjs +1 -2
  4. package/npm/lib/runtime.mjs +3 -7
  5. package/package.json +1 -2
  6. package/pyproject.toml +1 -3
  7. package/skills/qingflow-app-form/SKILL.md +23 -11
  8. package/skills/qingflow-cli/SKILL.md +4 -2
  9. package/skills/qingflow-cli/reference/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  10. package/skills/qingflow-cli/reference/QINGFLOW_CLI_SCHEMA_APPLY_FIELD_TYPES_AND_SCENARIOS.md +1 -1
  11. package/skills/qingflow-cli/reference/builder/10-build-single-app.md +3 -3
  12. package/skills/qingflow-cli/reference/builder/20-build-complete-system.md +1 -1
  13. package/skills/qingflow-cli/reference/builder/30-schema-fields.md +25 -24
  14. package/skills/qingflow-cli/reference/builder/40-layout.md +5 -5
  15. package/skills/qingflow-cli/reference/builder/README.md +3 -3
  16. package/skills/qingflow-cli/reference/builder/code-integrations/README.md +1 -1
  17. package/skills/qingflow-cli/reference/builder/reference/app-delivery-sop.md +7 -7
  18. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  19. package/skills/qingflow-cli/reference/examples/README.md +1 -1
  20. package/skills/qingflow-common/SKILL.md +47 -0
  21. package/skills/qingflow-common/agents/openai.yaml +4 -0
  22. package/src/qingflow_mcp/__main__.py +2 -3
  23. package/src/qingflow_mcp/app_form_compat.py +11 -27
  24. package/src/qingflow_mcp/app_form_validator.py +201 -35
  25. package/src/qingflow_mcp/builder_facade/app_form.py +762 -148
  26. package/src/qingflow_mcp/builder_facade/app_form_schema.py +114 -3
  27. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +310 -245
  28. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +82 -27
  29. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +85 -32
  30. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +82 -30
  31. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +113 -37
  32. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +87 -64
  33. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +82 -27
  34. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +82 -27
  35. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +83 -28
  36. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +82 -27
  37. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +82 -27
  38. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +82 -27
  39. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +83 -28
  40. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +82 -27
  41. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +85 -32
  42. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +82 -27
  43. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +95 -40
  44. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +100 -28
  45. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +82 -27
  46. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +82 -27
  47. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +212 -117
  48. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +82 -27
  49. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +143 -161
  50. package/src/qingflow_mcp/builder_facade/service.py +3 -2
  51. package/src/qingflow_mcp/response_trim.py +2 -0
  52. package/src/qingflow_mcp/server.py +24 -3
  53. package/src/qingflow_mcp/server_app_builder.py +2 -2
  54. package/src/qingflow_mcp/tools/record_tools.py +3 -3
  55. package/src/qingflow_mcp/version.py +2 -4
  56. package/docs/local-agent-install.md +0 -370
  57. package/skills/qingflow-mcp-setup/SKILL.md +0 -115
  58. package/skills/qingflow-mcp-setup/agents/openai.yaml +0 -4
  59. package/skills/qingflow-mcp-setup/references/claude-desktop.md +0 -34
  60. package/skills/qingflow-mcp-setup/references/environments.md +0 -62
  61. package/skills/qingflow-mcp-setup/references/generic-stdio.md +0 -32
  62. package/skills/qingflow-mcp-setup/scripts/check_local_server.sh +0 -38
@@ -1,62 +0,0 @@
1
- # Environment Switching
2
-
3
- Use this reference before any setup, authentication, or live validation flow.
4
-
5
- ## Step 1: Resolve the active environment
6
-
7
- Decide explicitly whether the user is targeting:
8
-
9
- - `test`: for smoke tests, trial setup, DSL validation, mock data, and integration debugging
10
- - `prod`: for real business usage in the formal environment
11
-
12
- If the user did not specify an environment, default to `prod`.
13
-
14
- ## Test Environment
15
-
16
- Default characteristics:
17
-
18
- - preferred for first-time setup and local MCP validation
19
- - mock or smoke data is acceptable when the user asks for it
20
- - use read/write verification freely inside the intended test workspace
21
-
22
- Known values in the current workspace:
23
-
24
- - use an explicitly provided non-production backend
25
- - common test workspace example: `ws_id=2`
26
- - `qf_version`: usually unset unless the user explicitly needs a routed version
27
-
28
- Setup behavior:
29
-
30
- - prefer this environment for Claude Desktop or local MCP client onboarding
31
- - for Wingent Momo runtime, use the injected session and skip auth/workspace preflight
32
- - for standalone MCP client setup, use `auth_use_credential` or `auth_login`, then `workspace_list`, then `workspace_select`
33
- - if the user asks to verify installation, a real read-only smoke path is acceptable
34
-
35
- ## Production Environment
36
-
37
- Production is the default environment when the user does not specify one. If the user explicitly says `test`, switch to the dedicated non-production backend they provide.
38
-
39
- Expected behavior:
40
-
41
- - default `base_url`: `https://qingflow.com/api`
42
- - confirm the production `qf_version` explicitly when browser traffic depends on routed versions such as `canary`
43
- - confirm the exact workspace before any live validation
44
- - prefer read-only checks first
45
- - avoid mock data, smoke writes, or destructive tests unless the user explicitly asks for them
46
-
47
- Production guardrails:
48
-
49
- - do not store credentials in skill files or examples
50
- - do not assume the same workspace ids as test
51
- - treat startup verification and auth verification as separate steps
52
- - when sharing snippets, label them as `prod` and `test` clearly
53
- - when MCP and browser results diverge, compare `request_route` with the browser route before blaming the query logic
54
-
55
- ## Reporting Rule
56
-
57
- When you give setup instructions, always state:
58
-
59
- - active environment
60
- - selected `base_url`
61
- - selected `qf_version` when relevant
62
- - whether the next step is read-only or write-impacting
@@ -1,32 +0,0 @@
1
- # Generic Stdio MCP Clients
2
-
3
- Use this for any local AI client that supports MCP over stdio.
4
-
5
- ## Required mapping
6
-
7
- - `command`: `<ABSOLUTE_PATH_TO_REPO>/qingflow-support/mcp-server/qingflow-mcp`
8
- - `args`: `[]`
9
- - `env.QINGFLOW_MCP_DEFAULT_BASE_URL`: backend base URL for the active environment
10
-
11
- Environment examples:
12
-
13
- - `prod` (default): `https://qingflow.com/api`
14
- - `test`: use the explicitly provided non-production backend
15
-
16
- Keep separate client entries or separate config snippets for `test` and `prod`.
17
-
18
- ## Validation sequence
19
-
20
- 1. Start the client
21
- 2. Confirm the `qingflow` MCP server is visible
22
- 3. In Wingent Momo runtime, skip auth/workspace preflight and run a read-only tool such as `app_list`
23
- 4. In a standalone client without injected credentials, run `auth_use_credential` or `auth_login`
24
- 5. Then run `workspace_list`
25
- 6. Then run `workspace_select`
26
- 7. Run a read-only tool such as `app_list`
27
-
28
- ## Common failures
29
-
30
- - Launch failure: bad `command` path or missing `.venv`
31
- - Auth failure: invalid or expired credential/token
32
- - Business tool failure before setup: workspace not selected
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
5
- ROOT="${QINGFLOW_MCP_ROOT:-}"
6
-
7
- if [[ -z "$ROOT" ]]; then
8
- if git_root="$(git rev-parse --show-toplevel 2>/dev/null)" && [[ -d "$git_root/qingflow-support/mcp-server" ]]; then
9
- ROOT="$git_root/qingflow-support/mcp-server"
10
- elif [[ -d "$PWD/qingflow-support/mcp-server" ]]; then
11
- ROOT="$PWD/qingflow-support/mcp-server"
12
- else
13
- repo_root="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
14
- if [[ -d "$repo_root/qingflow-support/mcp-server" ]]; then
15
- ROOT="$repo_root/qingflow-support/mcp-server"
16
- fi
17
- fi
18
- fi
19
-
20
- if [[ -z "$ROOT" ]]; then
21
- echo "Unable to locate qingflow-support/mcp-server. Set QINGFLOW_MCP_ROOT to the repo copy of the MCP server." >&2
22
- exit 1
23
- fi
24
-
25
- ENTRY="$ROOT/qingflow-mcp"
26
- PY="$ROOT/.venv/bin/python"
27
-
28
- echo "ROOT=$ROOT"
29
- test -d "$ROOT"
30
- echo "OK root exists"
31
-
32
- test -x "$ENTRY"
33
- echo "OK entrypoint exists and is executable"
34
-
35
- test -x "$PY"
36
- echo "OK virtualenv python exists"
37
-
38
- PYTHONPATH="$ROOT/src" "$PY" -c "import qingflow_mcp.server; print('OK import qingflow_mcp.server')"