Not in the top 1,000 by GitHub stars

openqa-cn/codexqa

codexqa: 11 local-first Agent Skills for Cursor, Claude Code, Codex & OpenClaw — change impact analysis, AI code review, defect scan, testcase generation, browser replay & RCA.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/codexqa-change-analysis/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-code-analyzer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-code-reviewer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-code-wiki/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-defect-analyzer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-jev-browser/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-requirement-analyzer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-rootcause-analyzer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-skill-router/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testcase-generator/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testdata-generator/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testdata-generator/references/case-data-material-planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testdata-generator/slot-scaffolder/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testdata-generator/slots/catalog/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

skills/codexqa-testdata-generator/slots/distribution/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

783954281fc4 → 783954281fc4

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 783954281fc4

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 783954281fc4898a9fac66a575363f419d4683e4

git clone --filter=blob:none --no-checkout https://github.com/openqa-cn/codexqa.git .hotskills/openqa-cn-codexqa && git -C .hotskills/openqa-cn-codexqa checkout --detach 783954281fc4898a9fac66a575363f419d4683e4 # Copy each selected skill directory from .hotskills/openqa-cn-codexqa into .agents/skills/<skill-name>/
236GitHub stars
0stars in 7 days
15skills in this repository
0commits in 30 days

Heat

0.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 28, 2026236

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

codexqa-change-analysis

When your agent uses it

Change-impact analysis for one diff: use CodexQA diff indexing (`index --diff-base` tags nodes and files `add` / `change` / `delete`, then `change-groups` / `symbol-diff` / `file-base`) to write one HTML report (affected entries, changed methods, test plan, coverage verdict, sensitive paths) and add runnable test files in the analyzed repo for uncovered points (add only; do not edit existing test files). Use when the user mentions change impact, change analysis, blast radius, affected entries, added methods, changed methods, test plan, generate or recall tests, link existing tests, entry points, 变更分析, 变更代码分析, 影响面, 影响入口, 测试方案, or 召回测试用例. Requires the codexqa CLI. One change only. Whole-repo analysis with no diff, and general symbol-graph Q&A, are codexqa-code-analyzer, not this skill. Former skill name: change-impact-analysis.

What it loads into context

Frontmatter

374 tokens

Always available to the agent

SKILL.md

3,092 tokens

When the skill is activated

Reference documents

25,513 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Deliverables (both required)
  2. Hard rules (a violation means rewrite)
  3. Why git / grep are still used
  4. Index trust gate (do this first)
  5. Workflow (8 steps)
  6. Degraded mode (no CodexQA, or the index is unusable)
  7. When blocked

Files

  • KNOWN_LIMITATIONS.mddoc12,079 bytes
  • KNOWN_LIMITATIONS.zh-CN.mddoc12,452 bytes
  • README.mddoc5,484 bytes
  • README.zh-CN.mddoc5,681 bytes
  • SKILL.mdcore12,425 bytes
  • SKILL.mdcore12,425 bytes
  • SKILL.mdcore12,425 bytes
  • assets/report-template.htmlasset22,565 bytes
  • references/analysis.mddoc13,861 bytes
  • references/generate-cases.mddoc12,031 bytes
  • references/report.mddoc26,735 bytes
  • references/test-recall.mddoc11,270 bytes
Read SKILL.md

# Change Impact Analysis

One sentence: build a **trusted diff index**, then deliver two artifacts — a 7-section HTML report (key findings / risks and unknowns / affected entries / change list / test plan / coverage verdict / sensitive paths) plus **runnable test files** for points that are not covered.
`codexqa` has **no** `diff` or `review` subcommand. Change analysis always follows this path:

```text
index --diff-base <base> --full  →  change-groups / files --change  →  symbol-diff
   →  reach --direction in (entries)  →  tested_count / reach --edge-kinds tests  →  test-file text recall
```

## Deliverables (both required)

| ID | Deliverable | Form |
|---|---|---|
View the complete source on GitHub

Skills included

  • codexqa-change-analysis
  • codexqa-code-analyzer
  • codexqa-code-reviewer
  • codexqa-code-wiki
  • codexqa-defect-analyzer
  • codexqa-jev-browser
  • codexqa-requirement-analyzer
  • codexqa-rootcause-analyzer
  • codexqa-skill-router
  • codexqa-testcase-generator
  • codexqa-testdata-generator
  • case-data-material-planner
  • slot-scaffolder
  • catalog
  • distribution

Repository facts

License
Apache-2.0
Created
Sep 5, 2026
Last pushed
Oct 3, 2026
Forks
3
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 97 notes
  • skills/codexqa-change-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-change-analysis/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-analyzer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/codexqa-code-reviewer/prompts/full-repo-review.md:42 Analysis incomplete: physical or joined line exceeds character limit
  • skills/codexqa-code-reviewer/prompts/pr-diff-review.md:48 Analysis incomplete: physical or joined line exceeds character limit
Show all 1,799 signals by file

skills/codexqa-change-analysis/KNOWN_LIMITATIONS.md

  • Network accessline 38
    `codexqa tag . keys --json` currently registers taggers only for Spring / Rust (`framework.http`, `framework.http.method`, `framework.http.client`, `framework.mq_consumer`). A JS/TS/Python repo's `tagged --key framework.http` is empty, and 

skills/codexqa-change-analysis/KNOWN_LIMITATIONS.zh-CN.md

  • Network accessline 36
    `codexqa tag . keys --json` 目前仅为 Spring / Rust 注册了标注器(`framework.http`, `framework.http.method`, `framework.http.client`, `framework.mq_consumer`)。在 JS/TS/Python 仓库中,`tagged --key framework.http` 结果为空,且 `repo_count` 为 0。

skills/codexqa-change-analysis/README.md

  • Network accessline 39
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/

skills/codexqa-change-analysis/README.zh-CN.md

  • Network accessline 39
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/

skills/codexqa-change-analysis/assets/report-template.html

  • Network accessline 5
    <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Change impact analysis</title> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 6
    <title>Change impact analysis</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 7
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 9
    <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">
  • Network accessline 394
    so before delivery render a static inline SVG as references/report.md describes, and delete this loader. --> <script type="module">   import('https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs')
  • Network accessline 395
    <script type="module">   import('https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs')     .then(m => m.default.initialize({ startOnLoad: true, theme: 'base' }))
  • Network accessline 396
    import('https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs')

skills/codexqa-change-analysis/references/analysis.md

  • Network accessline 110
    codexqa tag . keys --json                        # tag keys this repo can query codexqa query --repo . tagged --key framework.http          # server routes (Spring / Rust taggers only) codexqa query --repo . tagged --key framework.http.clie
  • Network accessline 111
    codexqa query --repo . tagged --key framework.http          # server routes (Spring / Rust taggers only) codexqa query --repo . tagged --key framework.http.client   # outbound REST call sites codexqa query --repo . tagged --key framework.mq
  • Network accessline 112
    codexqa query --repo . tagged --key framework.http.client   # outbound REST call sites
  • Access to secretsline 183
    [Credential-related source omitted]

skills/codexqa-code-analyzer/KNOWN_LIMITATIONS.md

  • Network accessline 20
    See the repository [support matrix](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.md) for the current evidence status.

skills/codexqa-code-analyzer/KNOWN_LIMITATIONS.zh-CN.md

  • Network accessline 20
    当前公开证据见仓库[支持矩阵](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.zh-CN.md)。

skills/codexqa-code-analyzer/README.md

  • Network accessline 23
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 37
    npx skills add openqa-cn/codexqa --skill codexqa-code-analyzer npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 38
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 148
    codexqa index /path/to/repo --diff-base origin/main # remote feature branch vs main # codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 150
    # codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 257
    codexqa tag <repo> keys --json codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 258
    codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client codexqa query --repo <repo> tagged --key <key>
  • Network accessline 259
    codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 270
    - Tags find a **role** (endpoint, consumer, outbound client). Do not look them up by function name. - `framework.http` is server routing; REST clients use `framework.http.client`. Querying only the former comes back empty.
  • Network accessline 271
    - `framework.http` is server routing; REST clients use `framework.http.client`. Querying only the former comes back empty.
  • Access to secretsline 285
    [Credential-related source omitted]

skills/codexqa-code-analyzer/README.zh-CN.md

  • Network accessline 21
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 39
    npx skills add openqa-cn/codexqa --skill codexqa-code-analyzer npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 40
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 183
    codexqa index /path/to/repo --diff-base origin/main # 远程功能分支对照 main # codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 185
    # codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 300
    codexqa tag <repo> keys --json codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 301
    codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client codexqa query --repo <repo> tagged --key <key>
  • Network accessline 302
    codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 313
    - Tag 找**角色**(端点、消费者、出站客户端),不要按函数名找。 - `framework.http` 是服务端路由;REST 客户端查 `framework.http.client`。只查前者会空。
  • Network accessline 314
    - `framework.http` 是服务端路由;REST 客户端查 `framework.http.client`。只查前者会空。
  • Access to secretsline 330
    [Credential-related source omitted]

skills/codexqa-code-analyzer/assets/checkout-change-impact.svg

  • Network accessline 1
    <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="1480" height="860" viewBox="0 0 1480 860" role="img" aria-label="Checkout change impact and test coverage">
  • Network accessline 2
    <svg xmlns="http://www.w3.org/2000/svg" width="1480" height="860" viewBox="0 0 1480 860" role="img" aria-label="Checkout change impact and test coverage">

skills/codexqa-code-analyzer/references/cli.md

  • Network accessline 10
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 32
    | Local path | `/path/to/repo` or `.` | Checkout already on disk; preferred for indexing | | Canonical id | `github.com/org/repo@main` | Reuse across commands after indexing; `@` is the branch | | Remote git URL | `https://github.com/org/re
  • Network accessline 34
    | Remote git URL | `https://github.com/org/repo.git` | **Index only**: fetch that branch and parse it |
  • Network accessline 56
    [llm] base_url = "https://api.openai.com/v1"
  • Network accessline 57
    base_url = "https://api.openai.com/v1"
  • Access to secretsline 58
    [Credential-related source omitted]

skills/codexqa-code-analyzer/references/playbook.md

  • Network accessline 15
    codexqa index /path/to/repo codexqa index https://github.com/org/repo.git
  • Network accessline 16
    codexqa index https://github.com/org/repo.git
  • Network accessline 17
    codexqa index https://github.com/org/repo.git -b main
  • Network accessline 37
    codexqa index /path/to/repo --diff-base origin/main codexqa index /path/to/repo --diff-base HEAD~1 codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 39
    codexqa index https://github.com/org/repo.git -b feature --diff-base main
  • Network accessline 115
    codexqa tag <repo> keys --json codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 116
    codexqa query --repo <repo> tagged --key framework.http codexqa query --repo <repo> tagged --key framework.http.client codexqa query --repo <repo> tagged --key <key>
  • Network accessline 117
    codexqa query --repo <repo> tagged --key framework.http.client
  • Network accessline 127
    - Tags find a **role** (endpoint, consumer, outbound client). Do not look them up by function name. - `framework.http` is server routing; REST **clients** (reqwest `Client.get`, no axum/actix) use `framework.http.client`. Querying only the 
  • Network accessline 128
    - `framework.http` is server routing; REST **clients** (reqwest `Client.get`, no axum/actix) use `framework.http.client`. Querying only the former comes back empty.
  • Access to secretsline 140
    [Credential-related source omitted]

skills/codexqa-code-reviewer/HOW_IT_WORKS.md

  • Network accessline 47
    | Skill | Difference | |---|---| | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md) | Symbol-graph Q&A / impact — not a full review-report pipeline |
  • Network accessline 48
    |---|---| | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md) | Symbol-graph Q&A / impact — not a full review-report pipeline | | [`codexqa-defect-analyzer`](https://github.com/
  • Network accessline 49
    | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md) | Symbol-graph Q&A / impact — not a full review-report pipeline |
  • Network accessline 50
    | [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.md) | SAST + Agent LLM Detection → `report_scan.*` (dedupe/merge) |
  • Network accessline 51
    | [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.md) | Exception RCA on top of CLI facts |

skills/codexqa-code-reviewer/HOW_IT_WORKS.zh-CN.md

  • Network accessline 47
    | Skill | 差异 | |---|---| | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md) | 符号图问答 / 影响面 — 不是完整评审报告流水线 |
  • Network accessline 48
    |---|---| | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md) | 符号图问答 / 影响面 — 不是完整评审报告流水线 | | [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/sk
  • Network accessline 49
    | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md) | 符号图问答 / 影响面 — 不是完整评审报告流水线 |
  • Network accessline 50
    | [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.zh-CN.md) | SAST + Agent LLM Detection → `report_scan.*`(去重合并) |
  • Network accessline 51
    | [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.zh-CN.md) | 在 CLI facts 之上做异常 RCA |

skills/codexqa-code-reviewer/LICENSE

  • Network accessline 2
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 4
    http://www.apache.org/licenses/
  • Network accessline 196
    http://www.apache.org/licenses/LICENSE-2.0

skills/codexqa-code-reviewer/README.md

  • Network accessline 7
    It is **not** [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.md) (SAST + Agent LLM Detection → `report_scan.*`), **not** [`codexqa-code-analyzer`](https://github.com/openqa-c
  • Network accessline 12
    - `bash` 3.2+, `jq` on `PATH` - `@openqa-cn/codexqa` CLI on PATH:   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 13
    - `@openqa-cn/codexqa` CLI on PATH:   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - A local Git checkout for PR/diff mode (`--diff-base`); full-repo / adhoc modes documented in `SKILL.md`
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    See the [installation guide](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.md), [support matrix](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.md), and [FAQ](https://github.com/openqa-cn/codexqa/bl

skills/codexqa-code-reviewer/README.zh-CN.md

  • Network accessline 7
    **不是** [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.zh-CN.md)(SAST + Agent LLM Detection → `report_scan.*`),**不是**单独的 [`codexqa-code-analyzer`](https://github.com/openqa-cn
  • Network accessline 12
    - `PATH` 上有 `bash` 3.2+、`jq` - `PATH` 上有 `@openqa-cn/codexqa` CLI:   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 13
    - `PATH` 上有 `@openqa-cn/codexqa` CLI:   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - PR/diff 模式需要本地 Git 工作副本与 `--diff-base`;全仓 / adhoc 模式见 `SKILL.md`
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    见[安装指南](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.zh-CN.md)、[支持矩阵](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.zh-CN.md)和 [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.m

skills/codexqa-code-reviewer/assets/report-chrome.js

  • Executable scriptline 1
    Executable file

skills/codexqa-code-reviewer/references/business-rule-records.md

  • Access to secretsline 87
    [Credential-related source omitted]

skills/codexqa-code-reviewer/references/dimensions/complexity.md

  • Network accessline 3
    Source: [Google eng-practices — Complexity](https://google.github.io/eng-practices/review/reviewer/looking-for.html)

skills/codexqa-code-reviewer/references/dimensions/dependencies.md

  • Network accessline 3
    Source: [Codacy — Proper Use Of Dependencies](https://blog.codacy.com/code-review-checklist);

skills/codexqa-code-reviewer/references/dimensions/design-fit.md

  • Network accessline 3
    Source: [Google eng-practices — Design](https://google.github.io/eng-practices/review/reviewer/looking-for.html)

skills/codexqa-code-reviewer/references/dimensions/performance.md

  • Network accessline 13
    | Criterion | Why this wins | |---|---| | N+1 is highest-ROI static perf gate | [n1detect](https://github.com/renaldid/n1detect), [Roslyn CI0011](https://blog.rogatnev.net/posts/en/2026/08/N-Plus-One-Problem.html), [QueryPerf](https://githu
  • Network accessline 14
    |---|---| | N+1 is highest-ROI static perf gate | [n1detect](https://github.com/renaldid/n1detect), [Roslyn CI0011](https://blog.rogatnev.net/posts/en/2026/08/N-Plus-One-Problem.html), [QueryPerf](https://github.com/NetizenLabs/queryperf) —
  • Network accessline 15
    | N+1 is highest-ROI static perf gate | [n1detect](https://github.com/renaldid/n1detect), [Roslyn CI0011](https://blog.rogatnev.net/posts/en/2026/08/N-Plus-One-Problem.html), [QueryPerf](https://github.com/NetizenLabs/queryperf) — missed ba
  • Network accessline 16
    | Known pathologies: fix on sight | [sota-performance](https://github.com/martinholovsky/sota-skills/blob/main/skills/sota-performance/SKILL.md) — N+1 / unbounded cache need no profiler first |

skills/codexqa-code-reviewer/references/dimensions/privacy.md

  • Access to secretsline 43
    [Credential-related source omitted]

skills/codexqa-code-reviewer/references/dimensions/risk-tier.md

  • Network accessline 8
    Selected model: **ShipWithAI T0–T3** where **T0 = highest blast radius** ([Part 2 triage](https://shipwithai.io/blog/reviewing-ai-generated-pull-requests-2026--part2--senior-dev--en/),
  • Network accessline 9
    ([Part 2 triage](https://shipwithai.io/blog/reviewing-ai-generated-pull-requests-2026--part2--senior-dev--en/),
  • Network accessline 10
    [Part 3 CI encoding](https://shipwithai.io/blog/reviewing-ai-generated-pull-requests-2026--part3--senior-dev--en/)).

skills/codexqa-code-reviewer/references/industry-bar.md

  • Network accessline 11
    5. **Multi-dimension pipeline** — Design fit → Complexity → Dependencies → Correctness → Resilience → security/sensitive → Privacy → API/contract → Change/rollout → regression/test gaps → observability → maintainability → **performance** ([
  • Network accessline 12
    6. **Human merge gate** — Skill advises; humans decide. 7. **Blast-radius risk tier (pre-pipeline)** — Assign T0–T3 from paths + tags + sensitive + rollout surfaces **before** deep review; auth/pay/migration/IaC force T0 and full evidence f
  • Network accessline 13
    7. **Blast-radius risk tier (pre-pipeline)** — Assign T0–T3 from paths + tags + sensitive + rollout surfaces **before** deep review; auth/pay/migration/IaC force T0 and full evidence floor ([dimensions/risk-tier.md](dimensions/risk-tier.md)
  • Network accessline 14
    8. **Performance pathology signatures** — Hot path / N+1 / unbounded allocation via local heuristics (`21-performance-signals.json`); fix-on-sight known pathologies ([n1detect](https://github.com/renaldid/n1detect), [Roslyn CI0011](https://

skills/codexqa-code-reviewer/scripts/acr-python

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/audit-plan-coverage.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 20
    trap 'rm -f "$BODY"' EXIT

skills/codexqa-code-reviewer/scripts/collect-adhoc-evidence.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 403
    *) rm -rf "$MINI_CLEANUP" ;;

skills/codexqa-code-reviewer/scripts/collect-fullrepo-evidence.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 39
    --out DIR              Output directory (default: <repo>/.codexqa-review/<run-id>)   --primary-lang LANG    Override detected primary language (e.g. Go, Java, TypeScript)   --symbol-limit N       Max symbols to fetch (default: 100)
  • Network accessline 40
    --primary-lang LANG    Override detected primary language (e.g. Go, Java, TypeScript)   --symbol-limit N       Max symbols to fetch (default: 100)   --hotspot-limit N      Max untested hotspots to keep (default: 30)
  • Network accessline 41
    --symbol-limit N       Max symbols to fetch (default: 100)
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 287
    [Credential-related source omitted]
  • Access to secretsline 318
    [Credential-related source omitted]
  • Access to secretsline 319
    [Credential-related source omitted]
  • Access to secretsline 320
    [Credential-related source omitted]

skills/codexqa-code-reviewer/scripts/collect-pr-evidence.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 181
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 240
    [Credential-related source omitted]
  • Access to secretsline 241
    [Credential-related source omitted]

skills/codexqa-code-reviewer/scripts/lib/_annotation_edges_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_complexity_body.py

  • Executable scriptline 1
    Executable file

skills/codexqa-code-reviewer/scripts/lib/_dependencies_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_det_rules.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_identical_copies.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_line_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 125
    Stabilizes derive/risk-tier on repos that ship security/SAST scanners: pattern     source containing ``password|secret|email|fetch(`` must not force T0 or
  • Network accessline 126
    source containing ``password|secret|email|fetch(`` must not force T0 or

skills/codexqa-code-reviewer/scripts/lib/_performance_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_privacy_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_resilience_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 98
    # Remote / IO without timeout. # Avoid a trailing \b on the whole group — alternatives like fetch( end on '(' (non-word).
  • Network accessline 99
    # Avoid a trailing \b on the whole group — alternatives like fetch( end on '(' (non-word).

skills/codexqa-code-reviewer/scripts/lib/_risk_tier_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_rollout_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_rule_router.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/_sast_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 210
    [Credential-related source omitted]
  • Network accessline 820
    "do_not_report": "The host is checked against an allowlist before the fetch.",         "fix": "Allowlist the host before opening the connection.",         "noncompliant": "fetch(request.getParameter(\"url\"))",
  • Network accessline 821
    "fix": "Allowlist the host before opening the connection.",         "noncompliant": "fetch(request.getParameter(\"url\"))",         "compliant": "if allowlist.contains(host): fetch(url)",
  • Network accessline 822
    "noncompliant": "fetch(request.getParameter(\"url\"))",
  • Network accessline 823
    "compliant": "if allowlist.contains(host): fetch(url)",

skills/codexqa-code-reviewer/scripts/lib/_secondary_body.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/build-coverage-ledger.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/build-judgment-packet.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/build-review-digest.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/codexqa-preflight.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 74
    eval "$__varname=()"
  • Dangerous shell operationline 77
    eval "$__varname+=(\"\$__line\")"

skills/codexqa-code-reviewer/scripts/lib/collect-trace.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/collect-unit-calls.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/derive-annotation-edges.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/derive-complexity.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-contract.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 27
    TMPD="$(mktemp -d)"; trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-dependencies.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 48
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-design-fit.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 62
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-maintainability.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 27
    TMPD="$(mktemp -d)"; trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-observability.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 27
    TMPD="$(mktemp -d)"; trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-performance.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-privacy.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-resilience.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-risk-tier.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-rollout.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 49
    trap 'rm -rf "$TMPD"' EXIT

skills/codexqa-code-reviewer/scripts/lib/derive-sast.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/derive_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/index-diff-base.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/install-sast-tools.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 112
    eval "$@"
  • Network accessline 134
    local repo="$1" asset_re="$2" inner="$3" dest_name="$4"   local tag url tmp   if ! command -v curl >/dev/null 2>&1 || ! command -v jq >/dev/null 2>&1; then
  • Network accessline 135
    local tag url tmp   if ! command -v curl >/dev/null 2>&1 || ! command -v jq >/dev/null 2>&1; then     log "ERROR: curl and jq are required to download ${dest_name}"
  • Network accessline 136
    if ! command -v curl >/dev/null 2>&1 || ! command -v jq >/dev/null 2>&1; then
  • Network accessline 137
    log "ERROR: curl and jq are required to download ${dest_name}"
  • Network accessline 138
    return 1   fi   tag="$(curl -fsSL --max-time 20 "https://api.github.com/repos/${repo}/releases/latest" | jq -r '.tag_name // empty')"
  • Network accessline 139
    fi   tag="$(curl -fsSL --max-time 20 "https://api.github.com/repos/${repo}/releases/latest" | jq -r '.tag_name // empty')"   url="$(curl -fsSL --max-time 20 "https://api.github.com/repos/${repo}/releases/latest" \
  • Network accessline 140
    tag="$(curl -fsSL --max-time 20 "https://api.github.com/repos/${repo}/releases/latest" | jq -r '.tag_name // empty')"
  • Network accessline 141
    url="$(curl -fsSL --max-time 20 "https://api.github.com/repos/${repo}/releases/latest" \
  • Network accessline 147
    log "DOWNLOAD: ${url}"   if [[ "$PRINT_ONLY" -eq 1 ]]; then     printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" %q && chmod +x "$HOME/.local/bin/%s"\n' \
  • Network accessline 148
    if [[ "$PRINT_ONLY" -eq 1 ]]; then     printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" %q && chmod +x "$HOME/.local/bin/%s"\n' \       "$dest_name" "$url" "$dest_name"
  • Network accessline 149
    printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" %q && chmod +x "$HOME/.local/bin/%s"\n' \
  • Network accessline 153
    mkdir -p "${HOME}/.local/bin"   tmp="$(mktemp -d)"   curl -fsSL --max-time 45 -L "$url" -o "$tmp/asset"
  • Network accessline 154
    tmp="$(mktemp -d)"   curl -fsSL --max-time 45 -L "$url" -o "$tmp/asset"   local found=""
  • Network accessline 155
    curl -fsSL --max-time 45 -L "$url" -o "$tmp/asset"
  • Dangerous shell operationline 165
    rm -rf "$tmp"
  • Dangerous shell operationline 170
    rm -rf "$tmp"
  • Network accessline 186
    fi   if [[ "$PRINT_ONLY" -eq 1 ]]; then     printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" <latest %s release matching %s> && chmod +x "$HOME/.local/bin/%s"\n' \
  • Network accessline 187
    if [[ "$PRINT_ONLY" -eq 1 ]]; then     printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" <latest %s release matching %s> && chmod +x "$HOME/.local/bin/%s"\n' \       "$bin" "$repo" "$asset_re" "$bin"
  • Network accessline 188
    printf 'curl -fsSL -L -o "$HOME/.local/bin/%s" <latest %s release matching %s> && chmod +x "$HOME/.local/bin/%s"\n' \

skills/codexqa-code-reviewer/scripts/lib/merge-llm-findings.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/python_resolve.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/lib/sast-tool-path.sh

  • Executable scriptline 1
    Executable file

skills/codexqa-code-reviewer/scripts/lib/seal-conclusion.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/lib/validate-conclusion.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-code-reviewer/scripts/render-review-html.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 105
    trap 'rm -f "$MERGED" "$FRAG"' EXIT

skills/codexqa-code-reviewer/scripts/resolve-pr-checkout.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 68
    trap 'rm -f "$TRIED_FILE"' EXIT
  • Dangerous shell operationline 153
    rm -f "$err"
  • Dangerous shell operationline 158
    claim_attempt "${key} http/1.1" || { cat "$err" >&2; rm -f "$err"; return 1; }
  • Dangerous shell operationline 160
    rm -f "$err"
  • Dangerous shell operationline 165
    rm -f "$err"
  • Dangerous shell operationline 221
    rm -rf "$dest"

skills/codexqa-code-reviewer/scripts/validate-evidence.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-code-reviewer/scripts/validate-skill.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 209
    trap 'rm -rf "$TMP"' EXIT
  • Dangerous shell operationline 568
    rm -f "$SCENE_DIR/23-sast-signals.json"
  • Dangerous shell operationline 1590
    rm -f "$DF_DIR/10-design-fit-signals.json"
  • Dangerous shell operationline 1613
    rm -f "$CX_DIR/11-complexity-signals.json" "$CX_DIR/10-design-fit-signals.json"
  • Dangerous shell operationline 1616
    rm -f "$CX_DIR/11-complexity-signals.json"
  • Dangerous shell operationline 1738
    rm -f "$DEP_DIR/12-dependency-signals.json" \
  • Dangerous shell operationline 1821
    rm -f "$PV_DIR/13-privacy-signals.json" \
  • Dangerous shell operationline 1885
    rm -f "$RS_DIR/14-resilience-signals.json" \
  • Network accessline 1919
    void charge() {     try {       http.Get("https://pay.example/charge");
  • Network accessline 1920
    try {       http.Get("https://pay.example/charge");     } catch (Exception e) {
  • Network accessline 1921
    http.Get("https://pay.example/charge");
  • Network accessline 1948
    // unbounded retry loop (no max / sleep)   for (const id of ids) {     await retry(() => fetch("https://pay.example/charge/" + id));
  • Network accessline 1949
    for (const id of ids) {     await retry(() => fetch("https://pay.example/charge/" + id));   }
  • Network accessline 1950
    await retry(() => fetch("https://pay.example/charge/" + id));
  • Network accessline 1951
    }   return Promise.all(ids.map((id) => fetch("https://pay.example/status/" + id))); }
  • Network accessline 1952
    return Promise.all(ids.map((id) => fetch("https://pay.example/status/" + id)));
  • Network accessline 1976
    package client import "net/http" func Get() { http.Get("https://example.com") }
  • Network accessline 1977
    import "net/http" func Get() { http.Get("https://example.com") } EOF
  • Network accessline 1978
    func Get() { http.Get("https://example.com") }
  • Network accessline 2023
    void otherRemote() {     RestTemplate rt = null;     rt.getForObject("https://example.com", String.class);
  • Network accessline 2024
    RestTemplate rt = null;     rt.getForObject("https://example.com", String.class);   }
  • Network accessline 2025
    rt.getForObject("https://example.com", String.class);
  • Dangerous shell operationline 2173
    rm -f "$RO_DIR/15-rollout-signals.json" \
  • Dangerous shell operationline 2679
    rm -f "$RT_DIR/20-risk-tier.json"
  • Dangerous shell operationline 2708
    rm -f "$PF_DIR/21-performance-signals.json" \
  • Network accessline 4057
    blob = pickle.loads(request.body)     digest = hashlib.md5(blob).hexdigest()     return requests.get(request.args.get("url"))
  • Network accessline 4058
    digest = hashlib.md5(blob).hexdigest()     return requests.get(request.args.get("url")) EOF
  • Network accessline 4059
    return requests.get(request.args.get("url"))
  • Dangerous shell operationline 4073
    rm -rf "$SAST_FIX"
  • Dangerous shell operationline 4099
    rm -rf "$SAST_MERGE"
  • Dangerous shell operationline 4159
    rm -rf "$SAST_POL"
  • Dangerous shell operationline 4290
    rm -rf "$DIGEST_FIX"
  • Dangerous shell operationline 4338
    rm -rf "$SCOPE_FIX"
  • Dangerous shell operationline 4399
    rm -rf "$RESOLVE_DIR" "$RESOLVE_BIN"
  • Dangerous shell operationline 4482
    rm -rf "$STUB_DIR"
  • Dangerous shell operationline 4496
    rm -rf "$NOMANIFEST"
  • Access to secretsline 4560
    [Credential-related source omitted]

skills/codexqa-code-wiki/README.md

  • Network accessline 32
    npx skills add openqa-cn/codexqa --skill codexqa-code-wiki npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 33
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/

skills/codexqa-code-wiki/README.zh-CN.md

  • Network accessline 32
    npx skills add openqa-cn/codexqa --skill codexqa-code-wiki npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 33
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/

skills/codexqa-code-wiki/SKILL.md

  • Network accessline 73
    Useful flags: `brief --limit 8` (large repos), `brief --lang en`, `brief --skip-index` (index is fresh), `build --out FILE`, `build --source-url 'https://host/repo/blob/{commit}/{path}'` (file links
  • Network accessline 74
    `brief --skip-index` (index is fresh), `build --out FILE`, `build --source-url 'https://host/repo/blob/{commit}/{path}'` (file links when the remote is not GitHub / GitLab / Gitee / Bitbucket).
  • Network accessline 75
    `build --source-url 'https://host/repo/blob/{commit}/{path}'` (file links

skills/codexqa-code-wiki/assets/wiki.js

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/package.json

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/references/cli.md

  • Network accessline 10
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 32
    | Local path | `/path/to/repo` or `.` | Checkout already on disk; preferred for indexing and wiki | | Canonical id | `github.com/org/repo@main` | Reuse across commands after indexing; `@` is the branch | | Remote git URL | `https://github.c
  • Network accessline 34
    | Remote git URL | `https://github.com/org/repo.git` | **Index only**: fetch that branch and parse it |
  • Network accessline 67
    - `--inputs FILE` reads a saved `wiki inputs` export instead of calling `codexqa` (no `--limit`; export with it instead). - One work dir belongs to one repo. `brief` and `build` refuse a work dir written for another path; pass `--dir`. - To
  • Network accessline 68
    - One work dir belongs to one repo. `brief` and `build` refuse a work dir written for another path; pass `--dir`. - Tokens in a remote URL (`https://user:token@host/…`) are stripped from every file and page the script writes. - `CODEXQA_BIN
  • Network accessline 69
    - Tokens in a remote URL (`https://user:token@host/…`) are stripped from every file and page the script writes.

skills/codexqa-code-wiki/scripts/lib/layout.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 221
    const marker = (id, cls) => `<marker id="${id}" viewBox="0 0 10 10" refX="8.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M0,1.5 L9,5 L0,8.5 z" class="${cls}"/></marker>`;  
  • Network accessline 222
    const defs = `<defs>${marker('wa', 'arrow')}${marker('wa-on', 'arrow on')}</defs>`;   const svg = `<svg class="graph-svg" viewBox="0 0 ${width} ${height}" width="${width}" height="${height}" role="group" aria-label="${esc(t.graphLabel)}" xm
  • Network accessline 223
    const svg = `<svg class="graph-svg" viewBox="0 0 ${width} ${height}" width="${width}" height="${height}" role="group" aria-label="${esc(t.graphLabel)}" xmlns="http://www.w3.org/2000/svg">`

skills/codexqa-code-wiki/scripts/lib/model.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/scripts/lib/notes.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/scripts/lib/render.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/scripts/lib/repo.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 25
    // Tokens in clone URLs (`https://user:token@host/…`) never reach files or pages.
  • Network accessline 60
    }   path = path.replace(/\.git$/, '').replace(/\/+$/, '');   const base = `https://${host}/${path}`;
  • Network accessline 61
    path = path.replace(/\.git$/, '').replace(/\/+$/, '');   const base = `https://${host}/${path}`;   const enc = (p) => p.split('/').map(encodeURIComponent).join('/');
  • Network accessline 62
    const base = `https://${host}/${path}`;
  • Network accessline 107
    // github.com/org/name@branch, https://host/org/name.git, git@host:org/name.git

skills/codexqa-code-wiki/scripts/lib/strings.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/scripts/lib/text.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/scripts/wiki.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 68
    });   if ((r.error && r.error.code === 'ENOENT') || (win && r.status === 1 && /not recognized/i.test(r.stderr || ''))) {     throw new UsageError(`\`${bin}\` not found. Install it with: npm install -g @openqa-cn/codexqa --registry https://r
  • Network accessline 69
    if ((r.error && r.error.code === 'ENOENT') || (win && r.status === 1 && /not recognized/i.test(r.stderr || ''))) {     throw new UsageError(`\`${bin}\` not found. Install it with: npm install -g @openqa-cn/codexqa --registry https://registr
  • Network accessline 70
    throw new UsageError(`\`${bin}\` not found. Install it with: npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ (or set CODEXQA_BIN)`);
  • Network accessline 301
    const tpl = opts['source-url'];   if (tpl && (!/^https?:\/\//i.test(tpl) || !tpl.includes('{path}'))) {     throw new UsageError('--source-url must be an http(s) URL containing {path}, e.g. https://host/repo/blob/{commit}/{path}');
  • Network accessline 302
    if (tpl && (!/^https?:\/\//i.test(tpl) || !tpl.includes('{path}'))) {     throw new UsageError('--source-url must be an http(s) URL containing {path}, e.g. https://host/repo/blob/{commit}/{path}');   }
  • Network accessline 303
    throw new UsageError('--source-url must be an http(s) URL containing {path}, e.g. https://host/repo/blob/{commit}/{path}');

skills/codexqa-code-wiki/tests/cli.test.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 106
    assert.equal(ok.code, 0, ok.err);   assert.match(ok.out, /notes\.json OK/);   const final = run(['build', cwd, '--dir', 'w', '--out', 'out/final.html', '--source-url', 'https://code.example.com/r/blob/{commit}/{path}'], { cwd });
  • Network accessline 107
    assert.match(ok.out, /notes\.json OK/);   const final = run(['build', cwd, '--dir', 'w', '--out', 'out/final.html', '--source-url', 'https://code.example.com/r/blob/{commit}/{path}'], { cwd });   assert.equal(final.code, 0, final.err);
  • Network accessline 108
    const final = run(['build', cwd, '--dir', 'w', '--out', 'out/final.html', '--source-url', 'https://code.example.com/r/blob/{commit}/{path}'], { cwd });
  • Network accessline 160
    const cwd = sandbox(t);   const bin = fakeCli(cwd);   const url = 'https://user:ghp_SECRET@github.com/org/myrepo.git';
  • Network accessline 161
    const bin = fakeCli(cwd);   const url = 'https://user:ghp_SECRET@github.com/org/myrepo.git';   const b = run(['brief', url], { cwd, bin });
  • Network accessline 162
    const url = 'https://user:ghp_SECRET@github.com/org/myrepo.git';
  • Network accessline 180
    const r = run(['build', cwd, '--dir', 'w', '--draft', '--out', 'x.html', '--source-url=https://h.example/r/{path}?a=b=c'], { cwd });
  • Network accessline 181
    assert.equal(r.code, 0, r.err);   assert.match(readFileSync(join(cwd, 'x.html'), 'utf8'), /href="https:\/\/h\.example\/r\/[^"]+\?a=b=c"/);   run(['build', cwd, '--dir', 'w', '--draft', '--out', 'y.html', '--source-url=https://h.example/{com
  • Network accessline 182
    assert.match(readFileSync(join(cwd, 'x.html'), 'utf8'), /href="https:\/\/h\.example\/r\/[^"]+\?a=b=c"/);   run(['build', cwd, '--dir', 'w', '--draft', '--out', 'y.html', '--source-url=https://h.example/{commit}/{path}'], { cwd });   assert.
  • Network accessline 183
    run(['build', cwd, '--dir', 'w', '--draft', '--out', 'y.html', '--source-url=https://h.example/{commit}/{path}'], { cwd });

skills/codexqa-code-wiki/tests/fixtures/codexqa/meta.json

  • Network accessline 8
    "commitDate": "2026-09-28T18:11:08+08:00",   "dirty": false,   "remote": "https://github.com/openqa-cn/codexqa",
  • Network accessline 9
    "dirty": false,   "remote": "https://github.com/openqa-cn/codexqa",   "generatedAt": "2026-09-28 18:30",
  • Network accessline 10
    "remote": "https://github.com/openqa-cn/codexqa",

skills/codexqa-code-wiki/tests/helpers.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/tests/model.test.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/tests/notes.test.mjs

  • Executable scriptline 1
    Executable file

skills/codexqa-code-wiki/tests/render.test.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 61
    assert.ok(textWidth(fit('一二三四五六七八九十', 5)) <= 5);   assert.equal(fit('short', 20), 'short');   assert.equal(safeUrl('https://github.com/a/b'), 'https://github.com/a/b');
  • Network accessline 62
    assert.equal(fit('short', 20), 'short');   assert.equal(safeUrl('https://github.com/a/b'), 'https://github.com/a/b');   for (const bad of ['javascript:alert(1)', 'JAVASCRIPT:x', 'data:text/html,x', '//evil', 'https://a b', '', null]) {
  • Network accessline 63
    assert.equal(safeUrl('https://github.com/a/b'), 'https://github.com/a/b');
  • Network accessline 64
    for (const bad of ['javascript:alert(1)', 'JAVASCRIPT:x', 'data:text/html,x', '//evil', 'https://a b', '', null]) {
  • Network accessline 143
    modules: CHAIN.modules.map((m) => (m.id === 'p03' ? { ...m, files: ['src/db.ts', 'pkg/util', 'pkg/found'] } : m)),   });   const repo = { fileUrl: (p) => `https://h.example/blob/main/${p}`, resolveFile: (p) => (p === 'pkg/found' ? 'pkg/foun
  • Network accessline 144
    });   const repo = { fileUrl: (p) => `https://h.example/blob/main/${p}`, resolveFile: (p) => (p === 'pkg/found' ? 'pkg/found.py' : p) };   const { html } = render(inputs, null, { draft: true, repo });
  • Network accessline 145
    const repo = { fileUrl: (p) => `https://h.example/blob/main/${p}`, resolveFile: (p) => (p === 'pkg/found' ? 'pkg/found.py' : p) };

skills/codexqa-defect-analyzer/HOW_IT_WORKS.md

  • Network accessline 53
    | Skill | Difference | |---|---| | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md) | CodexQA evidence pack + heuristic dims + Agent LLM judgment (dedupe) → bilingual `REVIEW-R
  • Network accessline 54
    |---|---| | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md) | CodexQA evidence pack + heuristic dims + Agent LLM judgment (dedupe) → bilingual `REVIEW-REPORT.html` — no `repor
  • Network accessline 55
    | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md) | CodexQA evidence pack + heuristic dims + Agent LLM judgment (dedupe) → bilingual `REVIEW-REPORT.html` — no `report_scan` pi
  • Network accessline 56
    | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md) | Structure/impact from the same CodexQA graph — not a finding severity report |
  • Network accessline 57
    | [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.md) | Exception RCA on top of CLI facts — not incremental/full code-risk scan |

skills/codexqa-defect-analyzer/HOW_IT_WORKS.zh-CN.md

  • Network accessline 53
    | Skill | 差异 | |---|---| | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-CN.md) | CodexQA 证据包 + 启发式维度 + Agent LLM judgment(去重)→ 双语 `REVIEW-REPORT.html` — 无 `report_scan` 流水线 
  • Network accessline 54
    |---|---| | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-CN.md) | CodexQA 证据包 + 启发式维度 + Agent LLM judgment(去重)→ 双语 `REVIEW-REPORT.html` — 无 `report_scan` 流水线 | | [`codexqa-c
  • Network accessline 55
    | [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-CN.md) | CodexQA 证据包 + 启发式维度 + Agent LLM judgment(去重)→ 双语 `REVIEW-REPORT.html` — 无 `report_scan` 流水线 |
  • Network accessline 56
    | [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md) | 同一 CodexQA 图上的结构/影响面 — 不是按严重级别排序的发现报告 |
  • Network accessline 57
    | [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.zh-CN.md) | 在 CLI 事实之上做异常根因 — 不是增量/全量代码风险扫描 |

skills/codexqa-defect-analyzer/README.md

  • Network accessline 7
    It is **not** [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md) (CodexQA evidence-pack HTML review), **not** [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/
  • Network accessline 12
    - `git` on `PATH` for repository incremental/full scans - `@openqa-cn/codexqa` CLI on PATH for live graph analysis (repo scans hard-fail without it unless mock is allowed):   `npm install -g @openqa-cn/codexqa --registry https://registry.np
  • Network accessline 13
    - `@openqa-cn/codexqa` CLI on PATH for live graph analysis (repo scans hard-fail without it unless mock is allowed):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - Optional scanners: Semgrep, Bandit, gosec, g
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    See the [installation guide](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.md), [support matrix](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.md), and [FAQ](https://github.com/openqa-cn/codexqa/bl

skills/codexqa-defect-analyzer/README.zh-CN.md

  • Network accessline 7
    **不是** [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-CN.md)(CodexQA 证据包 HTML 评审),**不是** [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexq
  • Network accessline 12
    - 仓库增量/全量扫描需要 `git` 在 `PATH` 上 - 实图分析需要 `PATH` 上有 `@openqa-cn/codexqa` CLI(未允许 mock 时仓库扫描硬失败):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 13
    - 实图分析需要 `PATH` 上有 `@openqa-cn/codexqa` CLI(未允许 mock 时仓库扫描硬失败):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - 可选扫描器:Semgrep、Bandit、gosec、gitleaks、ruff / eslint / golangci-lint、osv-scanner(`bash scripts/insta
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    见[安装指南](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.zh-CN.md)、[支持矩阵](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.zh-CN.md)和 [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.m

skills/codexqa-defect-analyzer/SKILL.md

  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/assets/report-chrome.js

  • Executable scriptline 1
    Executable file

skills/codexqa-defect-analyzer/evals/fixtures/auth_bypass.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/evals/fixtures/race_order.py

  • Executable scriptline 1
    Executable file

skills/codexqa-defect-analyzer/package.json

  • Executable scriptline 1
    Executable file

skills/codexqa-defect-analyzer/prompts/review_filter.md

  • Network accessline 20
    Example demote ambiguous SAST residue (localhost HTTP mock graded P3): Input: ambiguous Semgrep P1 at verify_foo.ts:40 "Unencrypted request over HTTP" Output: {"findings":[{"file":"verify_foo.ts","line":40,"category":"security","severity":"
  • Network accessline 22
    Output: {"findings":[{"file":"verify_foo.ts","line":40,"category":"security","severity":"P3","rule_id":"SEC-001","title":"loopback mock health probe (not production TLS)","evidence":"fetch http://127.0.0.1 for local mock only","suggestion":

skills/codexqa-defect-analyzer/references/category_rules.md

  • Dangerous shell operationline 32
    - Auto-promoted dismissed pattern: `eval() executes dynamic input — RCE risk` (dismissed ≥3×)

skills/codexqa-defect-analyzer/references/ci-advisory-workflow.yml

  • Network accessline 32
    - name: Install CodexQA CLI         run: |           npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ || true
  • Network accessline 33
    run: |           npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ || true           echo "PATH=$(npm prefix -g)/bin:$HOME/.local/bin:$HOME/go/bin:$PATH" >> "$GITHUB_ENV"
  • Network accessline 34
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ || true

skills/codexqa-defect-analyzer/references/codexqa-cli.md

  • Network accessline 28
    bash scripts/install_codexqa.sh # or: npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/
  • Network accessline 29
    # or: npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ export PATH="$(npm prefix -g)/bin:$PATH"
  • Network accessline 30
    npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/

skills/codexqa-defect-analyzer/references/llm-api.md

  • Network accessline 13
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 14
    export LLM_BASE_URL=https://api.deepseek.com   # OpenAI-compatible base

skills/codexqa-defect-analyzer/references/output_schema.json

  • Network accessline 1
    {   "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 2
    "$schema": "http://json-schema.org/draft-07/schema#",

skills/codexqa-defect-analyzer/references/policies/SEC-001.yaml

  • Dangerous shell operationline 26
    return eval(user_expr)

skills/codexqa-defect-analyzer/references/scope_policy.yaml

  • Network accessline 4
    #   - SonarQube analysis scope: sonar.sources / sonar.inclusions / sonar.exclusions #     only REDUCE analyzable set; separate main vs test scope. #     https://docs.sonarsource.com/sonarqube-server/latest/project-administration/analysis-sc
  • Network accessline 5
    #     only REDUCE analyzable set; separate main vs test scope. #     https://docs.sonarsource.com/sonarqube-server/latest/project-administration/analysis-scope/ #   - Semgrep monorepo: --include / --subdir to scan application modules only.
  • Network accessline 6
    #     https://docs.sonarsource.com/sonarqube-server/latest/project-administration/analysis-scope/
  • Network accessline 7
    #   - Semgrep monorepo: --include / --subdir to scan application modules only. #     https://semgrep.dev/docs/kb/semgrep-ci/scan-monorepo-in-parts #   - GitHub CodeQL: paths / paths-ignore for first-party application source;
  • Network accessline 8
    #     https://semgrep.dev/docs/kb/semgrep-ci/scan-monorepo-in-parts
  • Network accessline 9
    #   - GitHub CodeQL: paths / paths-ignore for first-party application source; #     exclude tests, vendor, generated, node_modules. #     https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/cu
  • Network accessline 10
    #     exclude tests, vendor, generated, node_modules. #     https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning #   - Sonatype reachability: -
  • Network accessline 11
    #     https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning
  • Network accessline 12
    #   - Sonatype reachability: --reachability-js-sources (app) vs #     --reachability-js-excludes (tests, node_modules). #     https://help.sonatype.com/en/reachability-analysis-cli.html
  • Network accessline 13
    #     --reachability-js-excludes (tests, node_modules). #     https://help.sonatype.com/en/reachability-analysis-cli.html #   - Polyglot project roots: deepest manifest root owns files (Cascade / projectdetect).
  • Network accessline 14
    #     https://help.sonatype.com/en/reachability-analysis-cli.html

skills/codexqa-defect-analyzer/scripts/agent_llm.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 6
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/scripts/audit_policy_fixtures.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/choose_scenario.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/codexqa_client.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 25
    Install:   bash scripts/install_codexqa.sh   # or: npm install -g @openqa-cn/codexqa@latest --registry https://registry.npmjs.org/
  • Network accessline 27
    # or: npm install -g @openqa-cn/codexqa@latest --registry https://registry.npmjs.org/
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Access to secretsline 307
    [Credential-related source omitted]
  • Network accessline 533
    'codexqa CLI not found. Install via:\n'                 '  bash scripts/install_codexqa.sh\n'                 '  # or: npm install -g @openqa-cn/codexqa@latest --registry https://registry.npmjs.org/\n'
  • Network accessline 534
    '  bash scripts/install_codexqa.sh\n'                 '  # or: npm install -g @openqa-cn/codexqa@latest --registry https://registry.npmjs.org/\n'                 'Or set CODEXQA_FORCE_MOCK=1 to verify upper layers with mocked graph JSON.\n'
  • Network accessline 535
    '  # or: npm install -g @openqa-cn/codexqa@latest --registry https://registry.npmjs.org/\n'
  • Network accessline 539
    r = subprocess.run(             ['npm', 'install', '-g', '@openqa-cn/codexqa@latest',              '--registry', 'https://registry.npmjs.org/'],
  • Network accessline 540
    ['npm', 'install', '-g', '@openqa-cn/codexqa@latest',              '--registry', 'https://registry.npmjs.org/'],             capture_output=True, text=True)
  • Network accessline 541
    '--registry', 'https://registry.npmjs.org/'],

skills/codexqa-defect-analyzer/scripts/collect_full.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/collect_incremental.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/context_builder.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/dd-python

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-defect-analyzer/scripts/ensure_tools.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 57
    'golangci-lint': [         'brew install golangci-lint',         'curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$HOME/.local/bin"',
  • Network accessline 58
    'brew install golangci-lint',         'curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$HOME/.local/bin"',     ],
  • Dangerous shell operationline 59
    'curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$HOME/.local/bin"',
  • Network accessline 59
    'curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$HOME/.local/bin"',
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/scripts/feedback.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/html_chrome.py

  • Executable scriptline 1
    Executable file

skills/codexqa-defect-analyzer/scripts/ingest_adhoc.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/install_codexqa.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 5
    REGISTRY="https://registry.npmjs.org/"
  • Network accessline 20
    echo "Installing @openqa-cn/codexqa@latest …" npm install -g @openqa-cn/codexqa@latest --registry "$REGISTRY"
  • Network accessline 21
    npm install -g @openqa-cn/codexqa@latest --registry "$REGISTRY"
  • Network accessline 30
    if [[ -n "$PLATFORM_PKG" ]]; then   echo "Installing latest platform binary ${PLATFORM_PKG} …"   npm install -g "${PLATFORM_PKG}@latest" --registry "$REGISTRY"
  • Network accessline 31
    echo "Installing latest platform binary ${PLATFORM_PKG} …"   npm install -g "${PLATFORM_PKG}@latest" --registry "$REGISTRY" fi
  • Network accessline 32
    npm install -g "${PLATFORM_PKG}@latest" --registry "$REGISTRY"

skills/codexqa-defect-analyzer/scripts/install_sast_tools.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 126
    brew install golangci-lint   else     curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \
  • Network accessline 127
    else     curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \       | sh -s -- -b "${HOME}/.local/bin"
  • Dangerous shell operationline 128
    curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh        | sh -s -- -b "${HOME}/.local/bin"
  • Network accessline 128
    curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \

skills/codexqa-defect-analyzer/scripts/lib.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 105
    [Credential-related source omitted]
  • Access to secretsline 517
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/scripts/llm_client.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 21
    if self.dry_run:             return mock_review(prompt)         req = urllib.request.Request(
  • Network accessline 22
    return mock_review(prompt)         req = urllib.request.Request(             self.base + '/v1/chat/completions',
  • Network accessline 23
    req = urllib.request.Request(
  • Network accessline 28
    [Credential-related source omitted]
  • Network accessline 29
    [Credential-related source omitted]
  • Network accessline 30
    with urllib.request.urlopen(req, timeout=180) as resp:
  • Access to secretsline 56
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/scripts/merge_report.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/policy_loader.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/python_resolve.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-defect-analyzer/scripts/rag_context.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/route_model.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/run_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 231
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]
  • Access to secretsline 719
    [Credential-related source omitted]
  • Access to secretsline 842
    [Credential-related source omitted]
  • Access to secretsline 848
    [Credential-related source omitted]
  • Access to secretsline 849
    [Credential-related source omitted]
  • Access to secretsline 851
    [Credential-related source omitted]

skills/codexqa-defect-analyzer/scripts/run_tests.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-defect-analyzer/scripts/sast_adapters.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 526
    'package': {'name': pkg_name, 'ecosystem': 'Maven', 'version': ver},             }).encode('utf-8')             req = urllib.request.Request(
  • Network accessline 527
    }).encode('utf-8')             req = urllib.request.Request(                 'https://api.osv.dev/v1/query',
  • Network accessline 528
    req = urllib.request.Request(
  • Network accessline 529
    'https://api.osv.dev/v1/query',
  • Network accessline 533
    )             try:                 with urllib.request.urlopen(req, timeout=20) as resp:
  • Network accessline 534
    try:                 with urllib.request.urlopen(req, timeout=20) as resp:                     data = json.loads(resp.read().decode('utf-8'))
  • Network accessline 535
    with urllib.request.urlopen(req, timeout=20) as resp:

skills/codexqa-defect-analyzer/scripts/scope_planner.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-defect-analyzer/scripts/test_pipeline_fixes.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 132
    [Credential-related source omitted]
  • Network accessline 530
    'ambiguous': True}]     llm = [{'file': 'scripts/_verify.ts', 'line': 40, 'category': 'security', 'severity': 'P3',             'title': 'loopback mock health probe', 'evidence': 'http://127.0.0.1 mock only',
  • Network accessline 531
    llm = [{'file': 'scripts/_verify.ts', 'line': 40, 'category': 'security', 'severity': 'P3',             'title': 'loopback mock health probe', 'evidence': 'http://127.0.0.1 mock only',             'suggestion': 'allowlist loopback', 'confid
  • Network accessline 532
    'title': 'loopback mock health probe', 'evidence': 'http://127.0.0.1 mock only',

skills/codexqa-jev-browser/.env.example

  • Access to secretsline 6
    [Credential-related source omitted]
  • Network accessline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Network accessline 8
    TYPESAFE_MODEL=jev-latest TYPESAFE_BASE_URL=https://api.typesafe.ai/v1 # Task plan before the browser opens. Also the decision when TYPESAFE_API_KEY is unset.
  • Network accessline 9
    TYPESAFE_BASE_URL=https://api.typesafe.ai/v1
  • Network accessline 10
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 11
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 12
    OPENAI_BASE_URL=https://api.openai.com/v1
  • Network accessline 14
    TEXT_MODEL=gpt-4o-mini # Optional. Used only when set. The CLI does not probe local proxy ports. # HTTPS_PROXY=http://127.0.0.1:7897
  • Network accessline 15
    # Optional. Used only when set. The CLI does not probe local proxy ports. # HTTPS_PROXY=http://127.0.0.1:7897 #
  • Network accessline 16
    # HTTPS_PROXY=http://127.0.0.1:7897
  • Network accessline 17
    # # Optional Cloak browser. No default mirror is included. # CLOAKBROWSER_DOWNLOAD_URL=https://example.com/cloakbrowser
  • Network accessline 18
    # Optional Cloak browser. No default mirror is included. # CLOAKBROWSER_DOWNLOAD_URL=https://example.com/cloakbrowser # CLOAKBROWSER_SHA256=
  • Network accessline 19
    # CLOAKBROWSER_DOWNLOAD_URL=https://example.com/cloakbrowser

skills/codexqa-jev-browser/.gitignore

  • Access to secretsline 4
    [Credential-related source omitted]

skills/codexqa-jev-browser/KNOWN_LIMITATIONS.md

  • Access to secretsline 9
    [Credential-related source omitted]

skills/codexqa-jev-browser/KNOWN_LIMITATIONS.zh-CN.md

  • Access to secretsline 9
    [Credential-related source omitted]

skills/codexqa-jev-browser/README.md

  • Network accessline 5
    **Jev Browser** is one skill in [CodexQA](https://github.com/openqa-cn/codexqa): local Agent Skills that check whether code is actually good after it is written. This repository is the standalone project. The same skill is also installed fr
  • Network accessline 13
    On TypeSafe’s published System One comparison, a Jev decision is **40×–200× faster** than a frontier LLM on the same kind of question (70–500 ms, against multi-second LLM calls). Their workflow demo is **193.6× faster** and **444.6× cheaper
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 48
    <p align="center"><a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/jev-report.html"><img src="docs/jev-report.png" alt="Jev Browser HTML execution report" width="640"></a></p>
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 67
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 69
    TYPESAFE_BASE_URL=https://api.typesafe.ai/v1
  • Network accessline 71
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 72
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 73
    OPENAI_BASE_URL=https://api.openai.com/v1
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 90
    npx codexqa-jev-browser run cases/examples/search-docs.yaml cases/examples/login.yaml npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases
  • Network accessline 91
    npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases npx codexqa-jev-browser auto --url examples/app/index.html --goal '搜索 Pilot 并打开文档' \
  • Network accessline 92
    npx codexqa-jev-browser run --from-api https://qa.example.com/cases
  • Network accessline 124
    Browser replay is the UI step. The rest of the check lives in [CodexQA](https://github.com/openqa-cn/codexqa): requirements, cases, test data, blast radius, defect scans, and a review page you can open. Install the catalog, or only this ski
  • Network accessline 135
    | Skill | What you get | | --- | --- | | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | Picks the matching skill and installs it if it is missing. |
  • Network accessline 136
    | --- | --- | | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | Picks the matching skill and installs it if it is missing. | | [codexqa-requirement-analyzer](https://github.com/openqa-cn/
  • Network accessline 137
    | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | Picks the matching skill and installs it if it is missing. |
  • Network accessline 138
    | [codexqa-requirement-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-requirement-analyzer) | A P0/P1 register of gaps and conflicts in a PRD, before code is written. |
  • Network accessline 139
    | [codexqa-testcase-generator](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-testcase-generator) | A local test plan and cases for Web, server, and APP. Unknowns stay TBD. |
  • Network accessline 140
    | [codexqa-testdata-generator](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-testdata-generator) | Backend data, with the returned business IDs written into case preconditions. |
  • Network accessline 141
    | [codexqa-code-wiki](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-wiki) | An architecture graph: modules, real dependencies, the hub, and where to start reading. |
  • Network accessline 142
    | [codexqa-code-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-analyzer) | Blast radius: which APIs, methods, and call chains a change hits, and which edges have no tests. |
  • Network accessline 143
    | [codexqa-rootcause-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-rootcause-analyzer) | A gated RCA that separates the throw site from the root cause. |
  • Network accessline 144
    | [codexqa-defect-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-defect-analyzer) | A P0–P3 HTML scan of bugs, secrets, and dangerous patterns. |
  • Network accessline 145
    | [codexqa-code-reviewer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-reviewer) | A bilingual `REVIEW-REPORT.html` a reviewer can open before merge. |

skills/codexqa-jev-browser/README.zh-CN.md

  • Network accessline 5
    **Jev Browser** 是 [CodexQA](https://github.com/openqa-cn/codexqa) 里的一个技能。CodexQA 是一组本地 Agent Skill,用来在代码写完之后检查它到底好不好。本仓库是独立项目,同一技能也可以从 CodexQA 目录安装。
  • Network accessline 13
    按 TypeSafe 公布的 System One 对比,同一种决策上 Jev 比前沿大模型快 **40–200 倍**(70–500 毫秒,对方是数秒到数百秒)。他们的工作流演示是快 **193.6 倍**、便宜 **444.6 倍**:0.114 秒、0.000081 美元,对比 8.566 秒、0.013880 美元。TypeSafe 把这一组称为实际收益里偏高的一端。Jev 的输入价是 **每百万 token 0.042 美元**,比 Claude Fable 5.1
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 48
    <p align="center"><a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/jev-report.html"><img src="docs/jev-report.png" alt="Jev Browser HTML 执行报告" width="640"></a></p>
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 67
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 69
    TYPESAFE_BASE_URL=https://api.typesafe.ai/v1
  • Network accessline 71
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 72
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 73
    OPENAI_BASE_URL=https://api.openai.com/v1
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 90
    npx codexqa-jev-browser run cases/examples/search-docs.yaml cases/examples/login.yaml npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases
  • Network accessline 91
    npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases npx codexqa-jev-browser auto --url examples/app/index.html --goal '搜索 Pilot 并打开文档' \
  • Network accessline 92
    npx codexqa-jev-browser run --from-api https://qa.example.com/cases
  • Network accessline 124
    浏览器回放只是界面这一步。其余检查在 [CodexQA](https://github.com/openqa-cn/codexqa):需求、用例、测试数据、影响面、缺陷扫描,以及一份能打开的评审页。可以装整个目录,也可以只装这个技能:
  • Network accessline 135
    | 技能 | 拿到什么 | | --- | --- | | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | 按你的话选对技能,没有就装上再交接。 |
  • Network accessline 136
    | --- | --- | | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | 按你的话选对技能,没有就装上再交接。 | | [codexqa-requirement-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-require
  • Network accessline 137
    | [codexqa-skill-router](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router) | 按你的话选对技能,没有就装上再交接。 |
  • Network accessline 138
    | [codexqa-requirement-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-requirement-analyzer) | 代码还没写时,一份 P0/P1 的需求缺口和冲突登记表。 |
  • Network accessline 139
    | [codexqa-testcase-generator](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-testcase-generator) | 本地测试方案和 Web / 服务端 / APP 用例。没写清的标 TBD。 |
  • Network accessline 140
    | [codexqa-testdata-generator](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-testdata-generator) | 对着后端造数,把返回的业务 ID 写回用例前置条件。 |
  • Network accessline 141
    | [codexqa-code-wiki](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-wiki) | 架构图谱:模块、真实依赖、枢纽,以及从哪开始读。 |
  • Network accessline 142
    | [codexqa-code-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-analyzer) | 变更影响面:打到哪些接口、方法和调用链,哪些边还没测试。 |
  • Network accessline 143
    | [codexqa-rootcause-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-rootcause-analyzer) | 带门禁的 RCA,把抛错位置和根因分开。 |
  • Network accessline 144
    | [codexqa-defect-analyzer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-defect-analyzer) | P0–P3 的 HTML 扫描:缺陷、密钥和危险写法。 |
  • Network accessline 145
    | [codexqa-code-reviewer](https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-code-reviewer) | 双语 `REVIEW-REPORT.html`,合码前给评审人打开。 |

skills/codexqa-jev-browser/SKILL.md

  • Network accessline 28
    npx codexqa-jev-browser run cases/examples/search-docs.yaml npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases?suite=smoke
  • Network accessline 29
    npx codexqa-jev-browser run cases/examples/search-docs.md npx codexqa-jev-browser run --from-api https://qa.example.com/cases?suite=smoke npx codexqa-jev-browser auto --url <url> --goal '<goal>'
  • Network accessline 30
    npx codexqa-jev-browser run --from-api https://qa.example.com/cases?suite=smoke
  • Access to secretsline 44
    [Credential-related source omitted]
  • Network accessline 49
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Network accessline 51
    TYPESAFE_BASE_URL=https://api.typesafe.ai/v1
  • Network accessline 53
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Network accessline 54
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 55
    OPENAI_BASE_URL=https://api.openai.com/v1
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]

skills/codexqa-jev-browser/bin/codexqa-jev-browser.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-jev-browser/codexqa-jev-browser.config.yaml

  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]

skills/codexqa-jev-browser/examples/app/search-submit.html

  • Network accessline 16
    <input type="search" placeholder="搜索" aria-label="搜索">     <div class="icon">       <img alt="" width="32" height="32" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3C/svg%3E">
  • Network accessline 17
    <div class="icon">       <img alt="" width="32" height="32" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3C/svg%3E">     </div>
  • Network accessline 18
    <img alt="" width="32" height="32" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3C/svg%3E">

skills/codexqa-jev-browser/package-lock.json

  • Network accessline 29
    "node_modules/@esbuild/aix-ppc64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz",
  • Network accessline 30
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz",       "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==",
  • Network accessline 31
    "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz",
  • Network accessline 46
    "node_modules/@esbuild/android-arm": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz",
  • Network accessline 47
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz",       "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==",
  • Network accessline 48
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz",
  • Network accessline 63
    "node_modules/@esbuild/android-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz",
  • Network accessline 64
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz",       "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==",
  • Network accessline 65
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz",
  • Network accessline 80
    "node_modules/@esbuild/android-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz",
  • Network accessline 81
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz",       "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==",
  • Network accessline 82
    "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz",
  • Network accessline 97
    "node_modules/@esbuild/darwin-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz",
  • Network accessline 98
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz",       "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==",
  • Network accessline 99
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz",
  • Network accessline 114
    "node_modules/@esbuild/darwin-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz",
  • Network accessline 115
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz",       "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==",
  • Network accessline 116
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz",
  • Network accessline 131
    "node_modules/@esbuild/freebsd-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz",
  • Network accessline 132
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz",       "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==",
  • Network accessline 133
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz",
  • Network accessline 148
    "node_modules/@esbuild/freebsd-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz",
  • Network accessline 149
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz",       "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==",
  • Network accessline 150
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz",
  • Network accessline 165
    "node_modules/@esbuild/linux-arm": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz",
  • Network accessline 166
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz",       "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==",
  • Network accessline 167
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz",
  • Network accessline 182
    "node_modules/@esbuild/linux-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz",
  • Network accessline 183
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz",       "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==",
  • Network accessline 184
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz",
  • Network accessline 199
    "node_modules/@esbuild/linux-ia32": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz",
  • Network accessline 200
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz",       "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==",
  • Network accessline 201
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz",
  • Network accessline 216
    "node_modules/@esbuild/linux-loong64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz",
  • Network accessline 217
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz",       "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==",
  • Network accessline 218
    "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz",
  • Network accessline 233
    "node_modules/@esbuild/linux-mips64el": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz",
  • Network accessline 234
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz",       "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==",
  • Network accessline 235
    "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz",
  • Network accessline 250
    "node_modules/@esbuild/linux-ppc64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz",
  • Network accessline 251
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz",       "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==",
  • Network accessline 252
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz",
  • Network accessline 267
    "node_modules/@esbuild/linux-riscv64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz",
  • Network accessline 268
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz",       "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==",
  • Network accessline 269
    "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz",
  • Network accessline 284
    "node_modules/@esbuild/linux-s390x": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz",
  • Network accessline 285
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz",       "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==",
  • Network accessline 286
    "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz",
  • Network accessline 301
    "node_modules/@esbuild/linux-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz",
  • Network accessline 302
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz",       "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==",
  • Network accessline 303
    "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz",
  • Network accessline 318
    "node_modules/@esbuild/netbsd-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz",
  • Network accessline 319
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz",       "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==",
  • Network accessline 320
    "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz",
  • Network accessline 335
    "node_modules/@esbuild/netbsd-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz",
  • Network accessline 336
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz",       "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==",
  • Network accessline 337
    "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz",
  • Network accessline 352
    "node_modules/@esbuild/openbsd-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz",
  • Network accessline 353
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz",       "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==",
  • Network accessline 354
    "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz",
  • Network accessline 369
    "node_modules/@esbuild/openbsd-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz",
  • Network accessline 370
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz",       "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==",
  • Network accessline 371
    "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz",
  • Network accessline 386
    "node_modules/@esbuild/openharmony-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz",
  • Network accessline 387
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz",       "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q
  • Network accessline 388
    "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz",
  • Network accessline 403
    "node_modules/@esbuild/sunos-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz",
  • Network accessline 404
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz",       "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==",
  • Network accessline 405
    "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz",
  • Network accessline 420
    "node_modules/@esbuild/win32-arm64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz",
  • Network accessline 421
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz",       "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==",
  • Network accessline 422
    "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz",
  • Network accessline 437
    "node_modules/@esbuild/win32-ia32": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz",
  • Network accessline 438
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz",       "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==",
  • Network accessline 439
    "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz",
  • Network accessline 454
    "node_modules/@esbuild/win32-x64": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz",
  • Network accessline 455
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz",       "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==",
  • Network accessline 456
    "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz",
  • Network accessline 471
    "node_modules/@jridgewell/sourcemap-codec": {       "version": "1.6.0",       "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
  • Network accessline 472
    "version": "1.6.0",       "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",       "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw=="
  • Network accessline 473
    "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
  • Network accessline 478
    "node_modules/@napi-rs/lzma-linux-x64-gnu": {       "version": "1.5.1",       "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
  • Network accessline 479
    "version": "1.5.1",       "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",       "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ
  • Network accessline 480
    "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
  • Network accessline 495
    "node_modules/@rollup/rollup-android-arm-eabi": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.4.tgz",
  • Network accessline 496
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.4.tgz",       "integrity": "sha512-I+BSHzTAhKN2n7ZwGZsegGcZjDpLqFOMAtJz/u6uFGe0pUFbq56dEHjqJV/ZUdRJtNXNxA+hREU
  • Network accessline 497
    "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.4.tgz",
  • Network accessline 509
    "node_modules/@rollup/rollup-android-arm64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.4.tgz",
  • Network accessline 510
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.4.tgz",       "integrity": "sha512-pu3BdjS2LtEzRu2elmGzS3fIeWSZy4BMDIaLNwjorO76+k2d0LMluijhsDx3KQyQBQ/lLUZCQA9/s6csv
  • Network accessline 511
    "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.4.tgz",
  • Network accessline 523
    "node_modules/@rollup/rollup-darwin-arm64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.4.tgz",
  • Network accessline 524
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.4.tgz",       "integrity": "sha512-xfSrj9MHnWK9GaSqT9U0ImHtH/N8WZlHLx4cZHiuLcqs640hvZ3hLPd5UR2AZS57FaE8HrRUSpltbZdWRxH
  • Network accessline 525
    "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.4.tgz",
  • Network accessline 537
    "node_modules/@rollup/rollup-darwin-x64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.4.tgz",
  • Network accessline 538
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.4.tgz",       "integrity": "sha512-bqU99PLJb/dqb3S0GIMdeuyAEETSUgZBoqXYd3Sd+WCsV+MmPhnN6JrotWyir31+QgH7EvvE5/mwGJlEoci8Fw=
  • Network accessline 539
    "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.4.tgz",
  • Network accessline 551
    "node_modules/@rollup/rollup-freebsd-arm64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.4.tgz",
  • Network accessline 552
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.4.tgz",       "integrity": "sha512-JinsFZ5G40oXQb+sUuiA5x689vhr6dDYK0H0NL+rwKdL6CqnmYN8PE4ZwfRSoIjrCxqTQG/SLfTtSvHeG
  • Network accessline 553
    "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.4.tgz",
  • Network accessline 565
    "node_modules/@rollup/rollup-freebsd-x64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.4.tgz",
  • Network accessline 566
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.4.tgz",       "integrity": "sha512-GAdA4UxpiNm27cLHr2GqXBpAD0x9FqwYBY7/YSP0Ss0/PNi4k8gbviqpIpYbVSRBaS2ZcegXEzgTQMbRNCwxC
  • Network accessline 567
    "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.4.tgz",
  • Network accessline 579
    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.4.tgz",
  • Network accessline 580
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.4.tgz",       "integrity": "sha512-qDd6NoA1znaLjp4jR5U/KWCdLAKDJNB8W9ChbbDaKbo0xA+Atln5HK6LFCZ4oJQpemtRZ
  • Network accessline 581
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.4.tgz",
  • Network accessline 593
    "node_modules/@rollup/rollup-linux-arm-musleabihf": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.4.tgz",
  • Network accessline 594
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.4.tgz",       "integrity": "sha512-WtB5Tz5KTNINb8ZA+8sQ7bmjuS1JrRT7YverYIhUGdWWDlpzVWmIwuZE+jidkEXUn1l
  • Network accessline 595
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.4.tgz",
  • Network accessline 607
    "node_modules/@rollup/rollup-linux-arm64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.4.tgz",
  • Network accessline 608
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.4.tgz",       "integrity": "sha512-VcQ3L1tjnkKzWjryAVaFhHEWcqOfICX9uxVVoDzm2t0DpgKRHd2zOpVrJc0xsWeBZcBFyYROCIBdy
  • Network accessline 609
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.4.tgz",
  • Network accessline 621
    "node_modules/@rollup/rollup-linux-arm64-musl": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.4.tgz",
  • Network accessline 622
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.4.tgz",       "integrity": "sha512-6+ZQX6P5s0cMDN2Ypb8Lbm2+/sZYmZjdaYny992ujUU9UKi/4CWoJWsl1pNvjWJHNHGK51m+jKG
  • Network accessline 623
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.4.tgz",
  • Network accessline 635
    "node_modules/@rollup/rollup-linux-loong64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.4.tgz",
  • Network accessline 636
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.4.tgz",       "integrity": "sha512-D72ZnvkFkBXOfzMMQLcwfPLyGkKb7HZ9/mf97B7v6/P5Lbv4oFOtSY/uHbS8lH6uKUOxoKiuo
  • Network accessline 637
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.4.tgz",
  • Network accessline 649
    "node_modules/@rollup/rollup-linux-loong64-musl": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.4.tgz",
  • Network accessline 650
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.4.tgz",       "integrity": "sha512-piU6BxeqA3O9KSu3kRCIQQtNqFFaTu21SEV4FwaRZowpnj3bLaWPZHw+xFqCs0XlJ+aOH3P
  • Network accessline 651
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.4.tgz",
  • Network accessline 663
    "node_modules/@rollup/rollup-linux-ppc64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.4.tgz",
  • Network accessline 664
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.4.tgz",       "integrity": "sha512-/5PGpHwqt2EEEOUs1XwzubE/ucr0dWDQ+to3zqi4Ds7EWpwtQ79wXc4JBoxqj/OwpawTsKWzJxHfS
  • Network accessline 665
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.4.tgz",
  • Network accessline 677
    "node_modules/@rollup/rollup-linux-ppc64-musl": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.4.tgz",
  • Network accessline 678
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.4.tgz",       "integrity": "sha512-cX3beZDLWt7G2oJF+nhChiT+qtaihs+S2xi7ziGmVB+2pwPng6D0Ed0HmElQOgv2UsUmSJJLGwp
  • Network accessline 679
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.4.tgz",
  • Network accessline 691
    "node_modules/@rollup/rollup-linux-riscv64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.4.tgz",
  • Network accessline 692
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.4.tgz",       "integrity": "sha512-1uz2mGWHyptR7DgHHrlbdRAjXK7v7elGZ9lMja910/RP+ZYbX6xAmCiU9UZSX4hqmgtHMv6lr
  • Network accessline 693
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.4.tgz",
  • Network accessline 705
    "node_modules/@rollup/rollup-linux-riscv64-musl": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.4.tgz",
  • Network accessline 706
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.4.tgz",       "integrity": "sha512-nLS8topojxyz7SRpKR2IODRpQ0XPZ+xaOXvT3+hqK/Uy8Lo5HFgkkIBiIrCu5tL5YqzTvgo
  • Network accessline 707
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.4.tgz",
  • Network accessline 719
    "node_modules/@rollup/rollup-linux-s390x-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.4.tgz",
  • Network accessline 720
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.4.tgz",       "integrity": "sha512-gs7DRKotr3l3q+jGPQBjH0ng1FjlEDm5ueQrkw5JtQvtLyEIcLASqAEaor56BhkKRzk+IcQzrcanB
  • Network accessline 721
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.4.tgz",
  • Network accessline 733
    "node_modules/@rollup/rollup-linux-x64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.4.tgz",
  • Network accessline 734
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.4.tgz",       "integrity": "sha512-791ET7W17NnScOZM7h4dX5hYspxE28htPFsb1awY/NRR8+PRNkS53e475rDdxXXDrP+kwnCcNWg9CX5zt
  • Network accessline 735
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.4.tgz",
  • Network accessline 747
    "node_modules/@rollup/rollup-linux-x64-musl": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.4.tgz",
  • Network accessline 748
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.4.tgz",       "integrity": "sha512-iwZQRcmj7g88g3tzefIrQY7qvmuA/cfYwhrDtTBhsmukO4U2huVO5W+86XacUMRvdSFVAc6kZUZy21J
  • Network accessline 749
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.4.tgz",
  • Network accessline 761
    "node_modules/@rollup/rollup-openbsd-x64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.4.tgz",
  • Network accessline 762
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.4.tgz",       "integrity": "sha512-dVHFp9gRWrdTpnqQuGfCwd7hOQDatK1VCP2iWhLY/cGrOQs/ucFzJ6A5SRqbXX12ZDI8EUuejSM5kwg+ja7Pn
  • Network accessline 763
    "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.4.tgz",
  • Network accessline 775
    "node_modules/@rollup/rollup-openharmony-arm64": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.4.tgz",
  • Network accessline 776
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.4.tgz",       "integrity": "sha512-t3NlauOW6gxZVVFcBEnO62Cb4wbyDFL416gTg1uFI/2tgqYQlf69FbSE115Ajre9I+c26Lk4m
  • Network accessline 777
    "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.4.tgz",
  • Network accessline 789
    "node_modules/@rollup/rollup-win32-arm64-msvc": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.4.tgz",
  • Network accessline 790
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.4.tgz",       "integrity": "sha512-xWuIaSye5FWZF8+UYtVEcHtRJDN5kN9Kfgxx3Kq8XIov9KSKbc1fiqQCm90SKrgQbUXZelbnUhn
  • Network accessline 791
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.4.tgz",
  • Network accessline 803
    "node_modules/@rollup/rollup-win32-ia32-msvc": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.4.tgz",
  • Network accessline 804
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.4.tgz",       "integrity": "sha512-9ALJJUOg/ZflMJepVo2PlgsGxSaxN7SQ4Z8GoZfVlarWr6r3rkHUNsd/zAio7p4YMtChSMXPionxe
  • Network accessline 805
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.4.tgz",
  • Network accessline 817
    "node_modules/@rollup/rollup-win32-x64-gnu": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.4.tgz",
  • Network accessline 818
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.4.tgz",       "integrity": "sha512-blj9z5qx/Pv4WU0W1NMFDB97e0JH5ed+aZGywW8WCvp/NhWX/4PFAq5uu6Q0AebNn+Vo6KzUYDT++JzTT
  • Network accessline 819
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.4.tgz",
  • Network accessline 831
    "node_modules/@rollup/rollup-win32-x64-msvc": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.4.tgz",
  • Network accessline 832
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.4.tgz",       "integrity": "sha512-Erx822VRBwLa124shbj+wNXe//BOgMEctDV0m1aqTQdNO1S69DgNUCFKC1RCeZfixs1J31l6igk1ziy
  • Network accessline 833
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.4.tgz",
  • Network accessline 845
    "node_modules/@types/chai": {       "version": "5.2.3",       "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
  • Network accessline 846
    "version": "5.2.3",       "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",       "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
  • Network accessline 847
    "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
  • Network accessline 856
    "node_modules/@types/deep-eql": {       "version": "4.0.2",       "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
  • Network accessline 857
    "version": "4.0.2",       "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",       "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
  • Network accessline 858
    "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
  • Network accessline 863
    "node_modules/@types/estree": {       "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 864
    "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",       "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
  • Network accessline 865
    "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 870
    "node_modules/@types/node": {       "version": "24.13.6",       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.6.tgz",
  • Network accessline 871
    "version": "24.13.6",       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.6.tgz",       "integrity": "sha512-SGrw/h3KPFshy3OE6ZL53LMBG5vGQQ8/gIpiqz/kRZhPJ7HgwCEs8LBuNtWLa8dvGZVpSF7+Bf+c11HUrCb/yg==",
  • Network accessline 872
    "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.6.tgz",
  • Network accessline 880
    "node_modules/@vitest/expect": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.7.tgz",
  • Network accessline 881
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.7.tgz",       "integrity": "sha512-E8eBXaKibuvH2pSZErOjdVb5vF4PbKYcrnluBTYxEk1l/VhhwZg1kZQsdtjq+CsF5CFydf2Rdkz7jDHKSisi3w==",
  • Network accessline 882
    "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.7.tgz",
  • Network accessline 892
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 893
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 894
    "url": "https://opencollective.com/vitest"
  • Network accessline 897
    "node_modules/@vitest/mocker": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.7.tgz",
  • Network accessline 898
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.7.tgz",       "integrity": "sha512-Trr0hYO9CM3Wj6ksWHRhK9IZpIY6wTMO5u/MqXurMxT57sWBaOPEtP3Oq60ihZuh5JsiagKfz95OcxdEP6dBrA==",
  • Network accessline 899
    "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.7.tgz",
  • Network accessline 907
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 908
    "funding": {         "url": "https://opencollective.com/vitest"       },
  • Network accessline 909
    "url": "https://opencollective.com/vitest"
  • Network accessline 924
    "node_modules/@vitest/pretty-format": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.7.tgz",
  • Network accessline 925
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.7.tgz",       "integrity": "sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA==",
  • Network accessline 926
    "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.7.tgz",
  • Network accessline 932
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 933
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 934
    "url": "https://opencollective.com/vitest"
  • Network accessline 937
    "node_modules/@vitest/runner": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.7.tgz",
  • Network accessline 938
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.7.tgz",       "integrity": "sha512-sB9y4ovltoQP+WaUPwmSxO9WIg9Ig694Di5PalVPsYHklAdE027mehpWF2SQSVq+k6sFgaivbTjTJwZLSHbedA==",
  • Network accessline 939
    "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.7.tgz",
  • Network accessline 947
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 948
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 949
    "url": "https://opencollective.com/vitest"
  • Network accessline 952
    "node_modules/@vitest/snapshot": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.7.tgz",
  • Network accessline 953
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.7.tgz",       "integrity": "sha512-7C+MwShwtBSI5Buwoyg3s/iY1eHL9PKAf+O1wVh/TdnjXUtkoL/9YQtre90i4MtNXM6edP1wJ2zOBpfCyhIS7g==",
  • Network accessline 954
    "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.7.tgz",
  • Network accessline 962
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 963
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 964
    "url": "https://opencollective.com/vitest"
  • Network accessline 967
    "node_modules/@vitest/spy": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.7.tgz",
  • Network accessline 968
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.7.tgz",       "integrity": "sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==",
  • Network accessline 969
    "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.7.tgz",
  • Network accessline 975
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 976
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 977
    "url": "https://opencollective.com/vitest"
  • Network accessline 980
    "node_modules/@vitest/utils": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.7.tgz",
  • Network accessline 981
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.7.tgz",       "integrity": "sha512-x6BDOd7dyo3PFLY3I9/HJ25X/6OurhGXk2/B9gOZNPF7XDVjeBK4k01lQE5uvDpbuheErh91qYuE1E2OEjK3Rw==",
  • Network accessline 982
    "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.7.tgz",
  • Network accessline 990
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 991
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 992
    "url": "https://opencollective.com/vitest"
  • Network accessline 995
    "node_modules/assertion-error": {       "version": "2.0.1",       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
  • Network accessline 996
    "version": "2.0.1",       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",       "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
  • Network accessline 997
    "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
  • Network accessline 1005
    "node_modules/cac": {       "version": "6.7.14",       "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
  • Network accessline 1006
    "version": "6.7.14",       "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",       "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
  • Network accessline 1007
    "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
  • Network accessline 1015
    "node_modules/chai": {       "version": "5.3.3",       "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
  • Network accessline 1016
    "version": "5.3.3",       "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",       "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
  • Network accessline 1017
    "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
  • Network accessline 1032
    "node_modules/check-error": {       "version": "2.1.3",       "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
  • Network accessline 1033
    "version": "2.1.3",       "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",       "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==",
  • Network accessline 1034
    "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
  • Network accessline 1042
    "node_modules/debug": {       "version": "4.4.3",       "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
  • Network accessline 1043
    "version": "4.4.3",       "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",       "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
  • Network accessline 1044
    "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
  • Network accessline 1060
    "node_modules/deep-eql": {       "version": "5.0.2",       "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
  • Network accessline 1061
    "version": "5.0.2",       "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",       "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
  • Network accessline 1062
    "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
  • Network accessline 1070
    "node_modules/es-module-lexer": {       "version": "1.7.0",       "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
  • Network accessline 1071
    "version": "1.7.0",       "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",       "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
  • Network accessline 1072
    "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
  • Network accessline 1077
    "node_modules/esbuild": {       "version": "0.28.2",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz",
  • Network accessline 1078
    "version": "0.28.2",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz",       "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==",
  • Network accessline 1079
    "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz",
  • Network accessline 1119
    "node_modules/estree-walker": {       "version": "3.0.3",       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
  • Network accessline 1120
    "version": "3.0.3",       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",       "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
  • Network accessline 1121
    "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
  • Network accessline 1129
    "node_modules/expect-type": {       "version": "1.4.0",       "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",
  • Network accessline 1130
    "version": "1.4.0",       "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",       "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==",
  • Network accessline 1131
    "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",
  • Network accessline 1139
    "node_modules/fdir": {       "version": "6.5.0",       "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
  • Network accessline 1140
    "version": "6.5.0",       "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",       "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
  • Network accessline 1141
    "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
  • Network accessline 1157
    "node_modules/fsevents": {       "version": "2.3.3",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
  • Network accessline 1158
    "version": "2.3.3",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",       "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
  • Network accessline 1159
    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
  • Network accessline 1172
    "node_modules/js-tokens": {       "version": "9.0.1",       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
  • Network accessline 1173
    "version": "9.0.1",       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",       "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
  • Network accessline 1174
    "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
  • Network accessline 1179
    "node_modules/loupe": {       "version": "3.2.1",       "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
  • Network accessline 1180
    "version": "3.2.1",       "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",       "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==",
  • Network accessline 1181
    "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
  • Network accessline 1186
    "node_modules/magic-string": {       "version": "0.30.21",       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
  • Network accessline 1187
    "version": "0.30.21",       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",       "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
  • Network accessline 1188
    "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
  • Network accessline 1196
    "node_modules/ms": {       "version": "2.1.3",       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
  • Network accessline 1197
    "version": "2.1.3",       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",       "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
  • Network accessline 1198
    "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
  • Network accessline 1203
    "node_modules/nanoid": {       "version": "3.3.19",       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz",
  • Network accessline 1204
    "version": "3.3.19",       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz",       "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==",
  • Network accessline 1205
    "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz",
  • Network accessline 1209
    {           "type": "github",           "url": "https://github.com/sponsors/ai"
  • Network accessline 1210
    "type": "github",           "url": "https://github.com/sponsors/ai"         }
  • Network accessline 1211
    "url": "https://github.com/sponsors/ai"
  • Network accessline 1222
    "node_modules/pathe": {       "version": "2.0.3",       "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
  • Network accessline 1223
    "version": "2.0.3",       "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",       "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
  • Network accessline 1224
    "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
  • Network accessline 1229
    "node_modules/pathval": {       "version": "2.0.1",       "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
  • Network accessline 1230
    "version": "2.0.1",       "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",       "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
  • Network accessline 1231
    "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
  • Network accessline 1239
    "node_modules/picocolors": {       "version": "1.1.1",       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
  • Network accessline 1240
    "version": "1.1.1",       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",       "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
  • Network accessline 1241
    "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
  • Network accessline 1246
    "node_modules/picomatch": {       "version": "4.0.7",       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
  • Network accessline 1247
    "version": "4.0.7",       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",       "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
  • Network accessline 1248
    "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
  • Network accessline 1254
    },       "funding": {         "url": "https://github.com/sponsors/jonschlinkert"
  • Network accessline 1255
    "funding": {         "url": "https://github.com/sponsors/jonschlinkert"       }
  • Network accessline 1256
    "url": "https://github.com/sponsors/jonschlinkert"
  • Network accessline 1259
    "node_modules/playwright": {       "version": "1.63.0",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
  • Network accessline 1260
    "version": "1.63.0",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",       "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==",
  • Network accessline 1261
    "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
  • Network accessline 1274
    "node_modules/playwright-core": {       "version": "1.63.0",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
  • Network accessline 1275
    "version": "1.63.0",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",       "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==",
  • Network accessline 1276
    "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
  • Network accessline 1286
    "node_modules/postcss": {       "version": "8.5.28",       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz",
  • Network accessline 1287
    "version": "8.5.28",       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz",       "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==",
  • Network accessline 1288
    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz",
  • Network accessline 1292
    {           "type": "opencollective",           "url": "https://opencollective.com/postcss/"
  • Network accessline 1293
    "type": "opencollective",           "url": "https://opencollective.com/postcss/"         },
  • Network accessline 1294
    "url": "https://opencollective.com/postcss/"
  • Network accessline 1296
    {           "type": "tidelift",           "url": "https://tidelift.com/funding/github/npm/postcss"
  • Network accessline 1297
    "type": "tidelift",           "url": "https://tidelift.com/funding/github/npm/postcss"         },
  • Network accessline 1298
    "url": "https://tidelift.com/funding/github/npm/postcss"
  • Network accessline 1300
    {           "type": "github",           "url": "https://github.com/sponsors/ai"
  • Network accessline 1301
    "type": "github",           "url": "https://github.com/sponsors/ai"         }
  • Network accessline 1302
    "url": "https://github.com/sponsors/ai"
  • Network accessline 1315
    "node_modules/rollup": {       "version": "4.63.4",       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.4.tgz",
  • Network accessline 1316
    "version": "4.63.4",       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.4.tgz",       "integrity": "sha512-4U0liVayNIoLp3GFl1FcI8561WepLnZ1rqfraGh7S9B3Ur5F9S283y8Futii7RUU2C/97tOBmBy7nYvhoiOpbQ==",
  • Network accessline 1317
    "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.4.tgz",
  • Network accessline 1361
    "node_modules/siginfo": {       "version": "2.0.0",       "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
  • Network accessline 1362
    "version": "2.0.0",       "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",       "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
  • Network accessline 1363
    "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
  • Network accessline 1368
    "node_modules/source-map-js": {       "version": "1.2.1",       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
  • Network accessline 1369
    "version": "1.2.1",       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",       "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
  • Network accessline 1370
    "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
  • Network accessline 1378
    "node_modules/stackback": {       "version": "0.0.2",       "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
  • Network accessline 1379
    "version": "0.0.2",       "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",       "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
  • Network accessline 1380
    "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
  • Network accessline 1385
    "node_modules/std-env": {       "version": "3.10.0",       "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
  • Network accessline 1386
    "version": "3.10.0",       "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",       "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
  • Network accessline 1387
    "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
  • Network accessline 1392
    "node_modules/strip-literal": {       "version": "3.1.0",       "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz",
  • Network accessline 1393
    "version": "3.1.0",       "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz",       "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==",
  • Network accessline 1394
    "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz",
  • Network accessline 1400
    },       "funding": {         "url": "https://github.com/sponsors/antfu"
  • Network accessline 1401
    "funding": {         "url": "https://github.com/sponsors/antfu"       }
  • Network accessline 1402
    "url": "https://github.com/sponsors/antfu"
  • Network accessline 1405
    "node_modules/tinybench": {       "version": "2.9.0",       "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
  • Network accessline 1406
    "version": "2.9.0",       "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",       "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
  • Network accessline 1407
    "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
  • Network accessline 1412
    "node_modules/tinyexec": {       "version": "0.3.2",       "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
  • Network accessline 1413
    "version": "0.3.2",       "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",       "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
  • Network accessline 1414
    "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
  • Network accessline 1419
    "node_modules/tinyglobby": {       "version": "0.2.17",       "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
  • Network accessline 1420
    "version": "0.2.17",       "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",       "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
  • Network accessline 1421
    "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
  • Network accessline 1431
    },       "funding": {         "url": "https://github.com/sponsors/SuperchupuDev"
  • Network accessline 1432
    "funding": {         "url": "https://github.com/sponsors/SuperchupuDev"       }
  • Network accessline 1433
    "url": "https://github.com/sponsors/SuperchupuDev"
  • Network accessline 1436
    "node_modules/tinypool": {       "version": "1.1.1",       "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
  • Network accessline 1437
    "version": "1.1.1",       "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",       "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
  • Network accessline 1438
    "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
  • Network accessline 1446
    "node_modules/tinyrainbow": {       "version": "2.0.0",       "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
  • Network accessline 1447
    "version": "2.0.0",       "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",       "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
  • Network accessline 1448
    "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
  • Network accessline 1456
    "node_modules/tinyspy": {       "version": "4.0.6",       "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.6.tgz",
  • Network accessline 1457
    "version": "4.0.6",       "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.6.tgz",       "integrity": "sha512-u8KszXvGfU68hVcZpRHKG28T0krMuv2G5nDhiHaMLen/gIuFEgIJhaJuO69qjnXg5paSrbPMFfx3brNuN8eVSg==",
  • Network accessline 1458
    "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.6.tgz",
  • Network accessline 1466
    "node_modules/tsx": {       "version": "4.23.15",       "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz",
  • Network accessline 1467
    "version": "4.23.15",       "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz",       "integrity": "sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==",
  • Network accessline 1468
    "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz",
  • Network accessline 1485
    "node_modules/typescript": {       "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 1486
    "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",       "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
  • Network accessline 1487
    "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 1499
    "node_modules/undici": {       "version": "7.29.1",       "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
  • Network accessline 1500
    "version": "7.29.1",       "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",       "integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==",
  • Network accessline 1501
    "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
  • Network accessline 1508
    "node_modules/undici-types": {       "version": "7.18.2",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
  • Network accessline 1509
    "version": "7.18.2",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",       "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
  • Network accessline 1510
    "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
  • Network accessline 1515
    "node_modules/vite": {       "version": "7.3.6",       "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz",
  • Network accessline 1516
    "version": "7.3.6",       "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz",       "integrity": "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==",
  • Network accessline 1517
    "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz",
  • Network accessline 1534
    },       "funding": {         "url": "https://github.com/vitejs/vite?sponsor=1"
  • Network accessline 1535
    "funding": {         "url": "https://github.com/vitejs/vite?sponsor=1"       },
  • Network accessline 1536
    "url": "https://github.com/vitejs/vite?sponsor=1"
  • Network accessline 1590
    "node_modules/vite-node": {       "version": "3.2.4",       "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
  • Network accessline 1591
    "version": "3.2.4",       "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",       "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
  • Network accessline 1592
    "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
  • Network accessline 1608
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 1609
    "funding": {         "url": "https://opencollective.com/vitest"       }
  • Network accessline 1610
    "url": "https://opencollective.com/vitest"
  • Network accessline 1613
    "node_modules/vitest": {       "version": "3.2.7",       "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.7.tgz",
  • Network accessline 1614
    "version": "3.2.7",       "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.7.tgz",       "integrity": "sha512-KrxIJ62Fd89gfysR4WotlgZABiz2dqFPgqGzX7s+CwsqLFomRH7777ZcrOD6+WVAh7khPQP41A+BKbpcJFrdEg==",
  • Network accessline 1615
    "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.7.tgz",
  • Network accessline 1649
    },       "funding": {         "url": "https://opencollective.com/vitest"
  • Network accessline 1650
    "funding": {         "url": "https://opencollective.com/vitest"       },
  • Network accessline 1651
    "url": "https://opencollective.com/vitest"
  • Network accessline 1686
    "node_modules/why-is-node-running": {       "version": "2.3.0",       "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
  • Network accessline 1687
    "version": "2.3.0",       "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",       "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
  • Network accessline 1688
    "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
  • Network accessline 1703
    "node_modules/yaml": {       "version": "2.9.1",       "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",
  • Network accessline 1704
    "version": "2.9.1",       "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",       "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==",
  • Network accessline 1705
    "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",
  • Network accessline 1713
    },       "funding": {         "url": "https://github.com/sponsors/eemeli"
  • Network accessline 1714
    "funding": {         "url": "https://github.com/sponsors/eemeli"       }
  • Network accessline 1715
    "url": "https://github.com/sponsors/eemeli"

skills/codexqa-jev-browser/package.json

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/references/examples.md

  • Network accessline 15
    npx codexqa-jev-browser run --from-api https://qa.example.com/cases?suite=smoke
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 21
    npx codexqa-jev-browser auto --url https://example.com --goal '搜索北京天气' --model gpt-4o-mini

skills/codexqa-jev-browser/references/schema.md

  • Network accessline 51
    4. Scroll down 5. Wait 200 ms 6. POST https://example.com/login expect 200
  • Network accessline 52
    5. Wait 200 ms 6. POST https://example.com/login expect 200 7. Assert url contains `docs.html` and text "入门"
  • Network accessline 53
    6. POST https://example.com/login expect 200

skills/codexqa-jev-browser/src/act.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 142
    const json = step.json !== undefined ? expandDeep(step.json, extra) : undefined;   const body = step.body !== undefined ? expandVars(step.body, extra) : undefined;   const response = await fetch(url, {
  • Network accessline 143
    const body = step.body !== undefined ? expandVars(step.body, extra) : undefined;   const response = await fetch(url, {     method: (step.method ?? "GET").toUpperCase(),
  • Network accessline 144
    const response = await fetch(url, {

skills/codexqa-jev-browser/src/agent.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/browser.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 265
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/cases.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 219
    const target = expandVars(url, extra);   assertHttpUrl(target);   const response = await fetch(target, { headers });
  • Network accessline 220
    assertHttpUrl(target);   const response = await fetch(target, { headers });   if (!response.ok) throw new Error(`API ${url} returned HTTP ${response.status}`);
  • Network accessline 221
    const response = await fetch(target, { headers });

skills/codexqa-jev-browser/src/cli.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/cloak-install.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 210
    for (let hop = 0; hop < 5; hop += 1) {     assertHttpsUrl(current);     const response = await fetch(current, { redirect: "manual" });
  • Network accessline 211
    assertHttpsUrl(current);     const response = await fetch(current, { redirect: "manual" });     if (response.status >= 300 && response.status < 400) {
  • Network accessline 212
    const response = await fetch(current, { redirect: "manual" });

skills/codexqa-jev-browser/src/cloak.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 96
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    reportsDir: "reports",     model: {       baseUrl: process.env.OPENAI_BASE_URL || "https://api.openai.com/v1",
  • Network accessline 17
    [Credential-related source omitted]
  • Network accessline 18
    baseUrl: process.env.OPENAI_BASE_URL || "https://api.openai.com/v1",
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 23
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Network accessline 24
    typesafeModel: process.env.TYPESAFE_MODEL || "jev-latest",       typesafeBaseUrl: process.env.TYPESAFE_BASE_URL || "https://api.typesafe.ai/v1",     },
  • Network accessline 25
    typesafeBaseUrl: process.env.TYPESAFE_BASE_URL || "https://api.typesafe.ai/v1",
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 126
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/errors.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/explore.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/generate.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/jev.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 344
    [Credential-related source omitted]
  • Access to secretsline 409
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/knowledge-draft.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/knowledge.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/model-http.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/observe/snapshot.dom.js

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/observe/snapshot.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 166
    function shortHref(href: string): string {   try {     const url = new URL(href, "https://local.invalid");
  • Network accessline 167
    try {     const url = new URL(href, "https://local.invalid");     const path = `${url.hostname}${url.pathname}`.replace(/\/$/, "");
  • Network accessline 168
    const url = new URL(href, "https://local.invalid");

skills/codexqa-jev-browser/src/policy.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 630
    [Credential-related source omitted]
  • Access to secretsline 632
    [Credential-related source omitted]
  • Access to secretsline 634
    [Credential-related source omitted]

skills/codexqa-jev-browser/src/record.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/report.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/runner.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/types.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/util.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/src/verify.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-jev-browser/tests/cloak.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 75
    expect(cloakGeoIpUrl()).toBe("");       expect(() => cloakArchiveUrl("darwin-arm64", "145.0.7632.109.2")).toThrow(/CLOAKBROWSER_DOWNLOAD_URL/);       process.env.CLOAKBROWSER_DOWNLOAD_URL = "http://mirror.example/cloak";
  • Network accessline 76
    expect(() => cloakArchiveUrl("darwin-arm64", "145.0.7632.109.2")).toThrow(/CLOAKBROWSER_DOWNLOAD_URL/);       process.env.CLOAKBROWSER_DOWNLOAD_URL = "http://mirror.example/cloak";       expect(() => cloakArchiveUrl("darwin-arm64", "145.0.7
  • Network accessline 77
    process.env.CLOAKBROWSER_DOWNLOAD_URL = "http://mirror.example/cloak";
  • Network accessline 78
    expect(() => cloakArchiveUrl("darwin-arm64", "145.0.7632.109.2")).toThrow(/https/);       process.env.CLOAKBROWSER_DOWNLOAD_URL = "https://mirror.example/cloak";       expect(cloakArchiveUrl("darwin-arm64", "145.0.7632.109.2")).toBe(
  • Network accessline 79
    process.env.CLOAKBROWSER_DOWNLOAD_URL = "https://mirror.example/cloak";
  • Network accessline 80
    expect(cloakArchiveUrl("darwin-arm64", "145.0.7632.109.2")).toBe(         "https://mirror.example/cloak/chromium-v145.0.7632.109.2/cloakbrowser-darwin-arm64.tar.gz",       );
  • Network accessline 81
    "https://mirror.example/cloak/chromium-v145.0.7632.109.2/cloakbrowser-darwin-arm64.tar.gz",
  • Network accessline 82
    );       expect(cloakArchiveUrl("windows-x64", "146.0.7680.177.5")).toBe(         "https://mirror.example/cloak/chromium-v146.0.7680.177.5/cloakbrowser-windows-x64.zip",
  • Network accessline 83
    expect(cloakArchiveUrl("windows-x64", "146.0.7680.177.5")).toBe(         "https://mirror.example/cloak/chromium-v146.0.7680.177.5/cloakbrowser-windows-x64.zip",       );
  • Network accessline 84
    "https://mirror.example/cloak/chromium-v146.0.7680.177.5/cloakbrowser-windows-x64.zip",
  • Network accessline 85
    );       process.env.CLOAKBROWSER_GEOIP_URL = "https://mirror.example/geoip.mmdb";       expect(cloakGeoIpUrl()).toBe("https://mirror.example/geoip.mmdb");
  • Network accessline 86
    process.env.CLOAKBROWSER_GEOIP_URL = "https://mirror.example/geoip.mmdb";
  • Network accessline 87
    expect(cloakGeoIpUrl()).toBe("https://mirror.example/geoip.mmdb");
  • Network accessline 105
    try {       await expect(ensureCloakBrowser({ force: true })).rejects.toThrow(/CLOAKBROWSER_DOWNLOAD_URL/);       process.env.CLOAKBROWSER_DOWNLOAD_URL = "https://mirror.example/cloak";
  • Network accessline 106
    await expect(ensureCloakBrowser({ force: true })).rejects.toThrow(/CLOAKBROWSER_DOWNLOAD_URL/);       process.env.CLOAKBROWSER_DOWNLOAD_URL = "https://mirror.example/cloak";       process.env.CLOAKBROWSER_VERSION = process.env.CLOAKBROWSER_
  • Network accessline 107
    process.env.CLOAKBROWSER_DOWNLOAD_URL = "https://mirror.example/cloak";

skills/codexqa-jev-browser/tests/compiler-report.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 58
    ],       },       "https://example.com",
  • Network accessline 59
    },       "https://example.com",       "scroll",
  • Network accessline 60
    "https://example.com",
  • Network accessline 86
    pageChanged: true,             durationMs: 1,             url: "https://example.com/app",
  • Network accessline 87
    durationMs: 1,             url: "https://example.com/app",             matched: { role: "button", name: "进入", within: "登录" },
  • Network accessline 88
    url: "https://example.com/app",
  • Network accessline 91
    ],       },       "https://example.com/login",
  • Network accessline 92
    },       "https://example.com/login",     );
  • Network accessline 93
    "https://example.com/login",
  • Network accessline 162
    observeMs: 186,               observed: {                 url: "https://example.com",
  • Network accessline 163
    observed: {                 url: "https://example.com",                 title: "搜索",
  • Network accessline 164
    url: "https://example.com",
  • Network accessline 176
    observeAfterMs: 40,               assertVerdict: "pass",               url: "https://example.com",
  • Network accessline 177
    assertVerdict: "pass",               url: "https://example.com",               title: "搜索",
  • Network accessline 178
    url: "https://example.com",

skills/codexqa-jev-browser/tests/config-env.test.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 61
    const config = loadConfig(path.join(root, "codexqa-jev-browser.config.yaml"));       expect(config.model.apiKey).toBe("");       expect(config.model.baseUrl).toBe("https://api.openai.com/v1");
  • Network accessline 62
    expect(config.model.apiKey).toBe("");       expect(config.model.baseUrl).toBe("https://api.openai.com/v1");       expect(config.model.model).toBe("gpt-4o-mini");
  • Network accessline 63
    expect(config.model.baseUrl).toBe("https://api.openai.com/v1");
  • Network accessline 70
    const config = applyCliOverrides(defaultConfig(), {       model: "gpt-test",       baseUrl: "https://example.test/v1",
  • Network accessline 71
    model: "gpt-test",       baseUrl: "https://example.test/v1",     });
  • Network accessline 72
    baseUrl: "https://example.test/v1",
  • Network accessline 73
    });     expect(config.model.model).toBe("gpt-test");     expect(config.model.baseUrl).toBe("https://example.test/v1");
  • Network accessline 74
    expect(config.model.model).toBe("gpt-test");     expect(config.model.baseUrl).toBe("https://example.test/v1");   });
  • Network accessline 75
    expect(config.model.baseUrl).toBe("https://example.test/v1");
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Network accessline 95
    ]);     expect(fileArgs(["run", "--headed", "cases/examples/login.yaml"], "run")).toEqual(["cases/examples/login.yaml"]);     expect(fileArgs(["run", "--from-api", "https://qa.example.com/cases", "cases/examples/login.yaml"], "run")).toEqua
  • Network accessline 96
    expect(fileArgs(["run", "--headed", "cases/examples/login.yaml"], "run")).toEqual(["cases/examples/login.yaml"]);     expect(fileArgs(["run", "--from-api", "https://qa.example.com/cases", "cases/examples/login.yaml"], "run")).toEqual([     
  • Network accessline 97
    expect(fileArgs(["run", "--from-api", "https://qa.example.com/cases", "cases/examples/login.yaml"], "run")).toEqual([
  • Access to secretsline 118
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]

skills/codexqa-jev-browser/tests/jev.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 8
    function page(...elements: ObservedElement[]): PageState {   return {     url: "https://www.baidu.com/",
  • Network accessline 9
    return {     url: "https://www.baidu.com/",     title: "百度",
  • Network accessline 10
    url: "https://www.baidu.com/",
  • Network accessline 60
    const config = defaultConfig();     config.model.typesafeModel = "jev-latest";     const body = buildJevRequest(config, { url: "https://www.baidu.com/", title: "百度" }, "搜索携程", [], space);
  • Network accessline 61
    config.model.typesafeModel = "jev-latest";     const body = buildJevRequest(config, { url: "https://www.baidu.com/", title: "百度" }, "搜索携程", [], space);     const questions = body.questions as Record<string, { criteria: Record<string, unknow
  • Network accessline 62
    const body = buildJevRequest(config, { url: "https://www.baidu.com/", title: "百度" }, "搜索携程", [], space);
  • Network accessline 80
    );     const goal = "从百度搜索「携程旅行网」并打开携程官网。出发地北京,目的地三亚(不是上海、不是深圳)。去程2026-10-01。";     const body = buildJevRequest(defaultConfig(), { url: "https://flights.ctrip.com/", title: "机票" }, goal, [], space);
  • Network accessline 81
    const goal = "从百度搜索「携程旅行网」并打开携程官网。出发地北京,目的地三亚(不是上海、不是深圳)。去程2026-10-01。";     const body = buildJevRequest(defaultConfig(), { url: "https://flights.ctrip.com/", title: "机票" }, goal, [], space);     const questions = body.questions as Record<
  • Network accessline 82
    const body = buildJevRequest(defaultConfig(), { url: "https://flights.ctrip.com/", title: "机票" }, goal, [], space);
  • Network accessline 102
    const config = defaultConfig();     config.model.typesafeApiKey = "apikey_test";     config.model.typesafeBaseUrl = "https://typesafe.example/v1";
  • Network accessline 103
    config.model.typesafeApiKey = "apikey_test";     config.model.typesafeBaseUrl = "https://typesafe.example/v1";     const judged = await jevAssert(config, {
  • Network accessline 104
    config.model.typesafeBaseUrl = "https://typesafe.example/v1";
  • Network accessline 107
    value: "携程旅行网",       after: {         url: "https://www.baidu.com/",
  • Network accessline 108
    after: {         url: "https://www.baidu.com/",         title: "百度一下",
  • Network accessline 109
    url: "https://www.baidu.com/",
  • Network accessline 126
    const body = buildJevRequest(       defaultConfig(),       { url: "https://example.com/login", title: "login" },
  • Network accessline 127
    defaultConfig(),       { url: "https://example.com/login", title: "login" },       "登录",
  • Network accessline 128
    { url: "https://example.com/login", title: "login" },
  • Network accessline 150
    name: "携程官网",           operations: ["CLICK"],           href: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B%E5%AE%98%E7%BD%91",
  • Network accessline 151
    operations: ["CLICK"],           href: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B%E5%AE%98%E7%BD%91",         }),
  • Network accessline 152
    href: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B%E5%AE%98%E7%BD%91",
  • Network accessline 158
    name: "www.ctrip.com",           operations: ["CLICK"],           href: "https://www.ctrip.com/",
  • Network accessline 159
    operations: ["CLICK"],           href: "https://www.ctrip.com/",         }),
  • Network accessline 160
    href: "https://www.ctrip.com/",
  • Network accessline 162
    ),     );     const body = buildJevRequest(defaultConfig(), { url: "https://www.baidu.com/s", title: "携程_百度搜索" }, "打开携程官网", [], space);
  • Network accessline 163
    );     const body = buildJevRequest(defaultConfig(), { url: "https://www.baidu.com/s", title: "携程_百度搜索" }, "打开携程官网", [], space);     const criteria = (body.questions as { click_target: { criteria: Record<string, { element: string }> } }).cl
  • Network accessline 164
    const body = buildJevRequest(defaultConfig(), { url: "https://www.baidu.com/s", title: "携程_百度搜索" }, "打开携程官网", [], space);
  • Network accessline 193
    const config = defaultConfig();     config.model.typesafeApiKey = "apikey_test";     config.model.typesafeBaseUrl = "https://typesafe.example/v1";
  • Network accessline 194
    config.model.typesafeApiKey = "apikey_test";     config.model.typesafeBaseUrl = "https://typesafe.example/v1";     const checked = await jevConfirmDone(
  • Network accessline 195
    config.model.typesafeBaseUrl = "https://typesafe.example/v1";
  • Network accessline 196
    const checked = await jevConfirmDone(       config,       { url: "https://flights.ctrip.com/online/list/round-bjs-kmg?depdate=2026-10-01_2026-10-07", title: "北京到昆明", text: "", elements: [] },
  • Network accessline 197
    config,       { url: "https://flights.ctrip.com/online/list/round-bjs-kmg?depdate=2026-10-01_2026-10-07", title: "北京到昆明", text: "", elements: [] },       "页面上可见北京到昆明的航班列表",
  • Network accessline 198
    { url: "https://flights.ctrip.com/online/list/round-bjs-kmg?depdate=2026-10-01_2026-10-07", title: "北京到昆明", text: "", elements: [] },
  • Network accessline 217
    ),     );     const body = buildJevRequest(defaultConfig(), { url: "https://search.jd.com/", title: "搜索" }, "读出价格", [], space);
  • Network accessline 218
    );     const body = buildJevRequest(defaultConfig(), { url: "https://search.jd.com/", title: "搜索" }, "读出价格", [], space);     const questions = body.questions as Record<string, { criteria: Record<string, { element?: string }> }>;
  • Network accessline 219
    const body = buildJevRequest(defaultConfig(), { url: "https://search.jd.com/", title: "搜索" }, "读出价格", [], space);

skills/codexqa-jev-browser/tests/live.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 314
    [Credential-related source omitted]
  • Network accessline 315
    [Credential-related source omitted]
  • Network accessline 316
    [Credential-related source omitted]
  • Network accessline 317
    { op: "http", url: "https://example.test/${token}", expect_status: 200 },
  • Network accessline 324
    expect(result.status).toBe("fail");       expect(result.steps[1].status).toBe("pass");       expect(result.steps[1].http?.url).toBe("https://example.test/abc");
  • Network accessline 325
    expect(result.steps[1].status).toBe("pass");       expect(result.steps[1].http?.url).toBe("https://example.test/abc");       expect(result.steps[2].status).toBe("fail");
  • Network accessline 326
    expect(result.steps[1].http?.url).toBe("https://example.test/abc");
  • Network accessline 364
    const runner = new CaseRunner(session, writer);       await runner.runCase(normalizeCase({ id: "first", start: { url: app, storage_state: first }, steps: [{ op: "wait", wait_ms: 1 }] }));       const afterFirst = await session.page?.context
  • Network accessline 365
    await runner.runCase(normalizeCase({ id: "first", start: { url: app, storage_state: first }, steps: [{ op: "wait", wait_ms: 1 }] }));       const afterFirst = await session.page?.context().cookies("https://example.com");       expect(afterF
  • Network accessline 366
    const afterFirst = await session.page?.context().cookies("https://example.com");
  • Network accessline 367
    expect(afterFirst?.map((item) => item.value)).toEqual(["one"]);       await runner.runCase(normalizeCase({ id: "second", start: { url: app, storage_state: second }, steps: [{ op: "wait", wait_ms: 1 }] }));       const afterSecond = await se
  • Network accessline 368
    await runner.runCase(normalizeCase({ id: "second", start: { url: app, storage_state: second }, steps: [{ op: "wait", wait_ms: 1 }] }));       const afterSecond = await session.page?.context().cookies("https://example.com");       expect(aft
  • Network accessline 369
    const afterSecond = await session.page?.context().cookies("https://example.com");

skills/codexqa-jev-browser/tests/loaders.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 48
    new Response(payload, { status: 200, headers: { "content-type": "application/json" } });     try {       const cases = await loadApiCases("https://qa.example.com/cases", defaultConfig());
  • Network accessline 49
    try {       const cases = await loadApiCases("https://qa.example.com/cases", defaultConfig());       expect(cases[0].id).toBe("api-search-docs");
  • Network accessline 50
    const cases = await loadApiCases("https://qa.example.com/cases", defaultConfig());
  • Network accessline 66
    const item = normalizeCase({       id: "auth",       start: { url: "https://example.com/${UI_PILOT_PATH}", storage_state: "auth.json" },
  • Network accessline 67
    id: "auth",       start: { url: "https://example.com/${UI_PILOT_PATH}", storage_state: "auth.json" },       steps: [
  • Network accessline 68
    start: { url: "https://example.com/${UI_PILOT_PATH}", storage_state: "auth.json" },
  • Network accessline 69
    [Credential-related source omitted]
  • Network accessline 70
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 73
    });     expect(item.start.storageState).toBe("auth.json");     expect(item.start.url).toBe("https://example.com/${UI_PILOT_PATH}");
  • Network accessline 74
    expect(item.start.storageState).toBe("auth.json");     expect(item.start.url).toBe("https://example.com/${UI_PILOT_PATH}");     expect(item.steps[0].url).toBe("https://example.com/${UI_PILOT_HTTP_TOKEN}");
  • Network accessline 75
    expect(item.start.url).toBe("https://example.com/${UI_PILOT_PATH}");
  • Network accessline 76
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Network accessline 77
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Network accessline 78
    [Credential-related source omitted]
  • Network accessline 79
    [Credential-related source omitted]
  • Network accessline 96
    writeFileSync(       path.join(dir, "ok.yaml"),       "id: ok\nname: ok\nstart: https://example.com\nsteps:\n  - op: wait\n    wait_ms: 1\n",
  • Network accessline 97
    path.join(dir, "ok.yaml"),       "id: ok\nname: ok\nstart: https://example.com\nsteps:\n  - op: wait\n    wait_ms: 1\n",     );
  • Network accessline 98
    "id: ok\nname: ok\nstart: https://example.com\nsteps:\n  - op: wait\n    wait_ms: 1\n",

skills/codexqa-jev-browser/tests/locator-policy.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    function page(...elements: ObservedElement[]): PageState {   return {     url: "https://example.com",
  • Network accessline 10
    return {     url: "https://example.com",     title: "t",
  • Network accessline 11
    url: "https://example.com",
  • Network accessline 142
    const space = buildSpace(       page(         el({ index: "1", node: 1, role: "link", name: "", href: "https://www.jd.com/", operations: ["CLICK"] }),
  • Network accessline 143
    page(         el({ index: "1", node: 1, role: "link", name: "", href: "https://www.jd.com/", operations: ["CLICK"] }),         el({
  • Network accessline 144
    el({ index: "1", node: 1, role: "link", name: "", href: "https://www.jd.com/", operations: ["CLICK"] }),
  • Network accessline 148
    role: "link",           name: "Apple iPhone 17 Pro Max 256GB",           href: "https://item.jd.com/1001.html",
  • Network accessline 149
    name: "Apple iPhone 17 Pro Max 256GB",           href: "https://item.jd.com/1001.html",           operations: ["CLICK"],
  • Network accessline 150
    href: "https://item.jd.com/1001.html",

skills/codexqa-jev-browser/tests/model-http.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 18
    it("prefers HTTPS_PROXY from the environment", async () => {     process.env.HTTPS_PROXY = "http://127.0.0.1:6553";
  • Network accessline 19
    process.env.HTTPS_PROXY = "http://127.0.0.1:6553";
  • Network accessline 20
    resetModelProxyCache();     expect(envProxyUrl()).toBe("http://127.0.0.1:6553");     expect(await resolveModelProxy()).toBe("http://127.0.0.1:6553");
  • Network accessline 21
    expect(envProxyUrl()).toBe("http://127.0.0.1:6553");
  • Network accessline 22
    expect(await resolveModelProxy()).toBe("http://127.0.0.1:6553");

skills/codexqa-jev-browser/tests/model-proxy-retry.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 22
    describe("model proxy failure", () => {   it("does not retry a proxied model call on the direct network", async () => {     process.env.HTTPS_PROXY = "http://127.0.0.1:6553";
  • Network accessline 23
    it("does not retry a proxied model call on the direct network", async () => {     process.env.HTTPS_PROXY = "http://127.0.0.1:6553";     resetModelProxyCache();
  • Network accessline 24
    process.env.HTTPS_PROXY = "http://127.0.0.1:6553";
  • Network accessline 25
    resetModelProxyCache();     fetchMock.mockRejectedValue(new Error("proxy down"));     await expect(modelFetch("https://api.example.com/v1/chat/completions", { method: "POST", body: "{}" })).rejects.toThrow(
  • Network accessline 26
    fetchMock.mockRejectedValue(new Error("proxy down"));     await expect(modelFetch("https://api.example.com/v1/chat/completions", { method: "POST", body: "{}" })).rejects.toThrow(       /proxy down/,
  • Network accessline 27
    await expect(modelFetch("https://api.example.com/v1/chat/completions", { method: "POST", body: "{}" })).rejects.toThrow(

skills/codexqa-jev-browser/tests/regressions.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 46
    );     const state: PageState = {       url: "https://example.com/form",
  • Network accessline 47
    const state: PageState = {       url: "https://example.com/form",       title: "Form",
  • Network accessline 48
    url: "https://example.com/form",
  • Network accessline 78
    [Credential-related source omitted]
  • Network accessline 79
    [Credential-related source omitted]
  • Network accessline 80
    config.model.baseUrl = "https://text.example/v1";
  • Network accessline 104
    });     const state: PageState = {       url: "https://example.com/form",
  • Network accessline 105
    const state: PageState = {       url: "https://example.com/form",       title: "Form",
  • Network accessline 106
    url: "https://example.com/form",
  • Network accessline 136
    [Credential-related source omitted]
  • Network accessline 137
    [Credential-related source omitted]
  • Network accessline 138
    config.model.baseUrl = "https://text.example/v1";
  • Network accessline 267
    function pricePage(): PageState {   return {     url: "https://search.jd.com/Search?keyword=iPhone%2018%20Pro%20Max",
  • Network accessline 268
    return {     url: "https://search.jd.com/Search?keyword=iPhone%2018%20Pro%20Max",     title: "iPhone 18 - 商品搜索 - 京东",
  • Network accessline 269
    url: "https://search.jd.com/Search?keyword=iPhone%2018%20Pro%20Max",
  • Network accessline 304
    function flightPage(): PageState {   return {     url: "https://flights.example/home",
  • Network accessline 305
    return {     url: "https://flights.example/home",     title: "机票",
  • Network accessline 306
    url: "https://flights.example/home",
  • Network accessline 353
    it("drafts a note from the failed control and writes it only when accepted", () => {     const note = draftKnowledgeNote({       url: "https://www.example.com/login",
  • Network accessline 354
    const note = draftKnowledgeNote({       url: "https://www.example.com/login",       goal: "打开「工作台」并不要点退出",
  • Network accessline 355
    url: "https://www.example.com/login",
  • Network accessline 381
    const moved = draftKnowledgeNote({       url: "https://flights.ctrip.com/home",
  • Network accessline 382
    url: "https://flights.ctrip.com/home",
  • Network accessline 402
    const plain = draftKnowledgeNote({       url: "https://shop.example.co.uk/home",
  • Network accessline 403
    url: "https://shop.example.co.uk/home",
  • Network accessline 412
    const english = draftKnowledgeNote({       url: "https://example.com/docs",
  • Network accessline 413
    url: "https://example.com/docs",

skills/codexqa-jev-browser/tests/step-opt.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 39
    it("attaches matching business notes for the text model", async () => {     const notes = retrieveKnowledge({ goal: sanyaGoal, url: "https://www.baidu.com/" });
  • Network accessline 40
    const notes = retrieveKnowledge({ goal: sanyaGoal, url: "https://www.baidu.com/" });
  • Network accessline 55
    [Credential-related source omitted]
  • Network accessline 56
    [Credential-related source omitted]
  • Network accessline 57
    [Credential-related source omitted]
  • Network accessline 68
    it("checks the page after the action, not whether the whole goal is done", () => {     const before = {       url: "https://www.baidu.com/",
  • Network accessline 69
    const before = {       url: "https://www.baidu.com/",       title: "百度一下,你就知道",
  • Network accessline 70
    url: "https://www.baidu.com/",
  • Network accessline 77
    before,         after: {           url: "https://www.baidu.com/s?wd=携程",
  • Network accessline 78
    after: {           url: "https://www.baidu.com/s?wd=携程",           title: "携程旅行网_百度搜索",
  • Network accessline 79
    url: "https://www.baidu.com/s?wd=携程",
  • Network accessline 114
    value: "Pilot",         before: {           url: "https://example.com",
  • Network accessline 115
    before: {           url: "https://example.com",           title: "Demo",
  • Network accessline 116
    url: "https://example.com",
  • Network accessline 119
    },         after: {           url: "https://example.com",
  • Network accessline 120
    after: {           url: "https://example.com",           title: "Demo",
  • Network accessline 121
    url: "https://example.com",
  • Network accessline 137
    matched: { node: 2, role: "textbox", name: "请选择日期", within: "" },         before: {           url: "https://example.com",
  • Network accessline 138
    before: {           url: "https://example.com",           title: "机票",
  • Network accessline 139
    url: "https://example.com",
  • Network accessline 145
    },         after: {           url: "https://example.com",
  • Network accessline 146
    after: {           url: "https://example.com",           title: "机票",
  • Network accessline 147
    url: "https://example.com",
  • Network accessline 161
    matched: { node: 1, role: "textbox", name: "密码" },         before: {           url: "https://example.com/login",
  • Network accessline 162
    before: {           url: "https://example.com/login",           title: "登录",
  • Network accessline 163
    url: "https://example.com/login",
  • Network accessline 166
    },         after: {           url: "https://example.com/login",
  • Network accessline 167
    after: {           url: "https://example.com/login",           title: "登录",
  • Network accessline 168
    url: "https://example.com/login",
  • Network accessline 179
    matched: { node: 1, role: "textbox", name: "搜索" },         before: {           url: "https://www.baidu.com/",
  • Network accessline 180
    before: {           url: "https://www.baidu.com/",           title: "百度",
  • Network accessline 181
    url: "https://www.baidu.com/",
  • Network accessline 185
    },         after: {           url: "https://www.baidu.com/s?wd=携程",
  • Network accessline 186
    after: {           url: "https://www.baidu.com/s?wd=携程",           title: "携程_百度搜索",
  • Network accessline 187
    url: "https://www.baidu.com/s?wd=携程",
  • Network accessline 199
    matched: { node: 1, role: "textbox", name: "搜索" },         before: {           url: "https://www.baidu.com/",
  • Network accessline 200
    before: {           url: "https://www.baidu.com/",           title: "百度",
  • Network accessline 201
    url: "https://www.baidu.com/",
  • Network accessline 205
    },         after: {           url: "https://www.baidu.com/",
  • Network accessline 206
    after: {           url: "https://www.baidu.com/",           title: "百度",
  • Network accessline 207
    url: "https://www.baidu.com/",
  • Network accessline 219
    matched: { node: 1, role: "textbox", name: "可输入城市" },         before: {           url: "https://flights.example.com/",
  • Network accessline 220
    before: {           url: "https://flights.example.com/",           title: "机票",
  • Network accessline 221
    url: "https://flights.example.com/",
  • Network accessline 225
    },         after: {           url: "https://flights.example.com/",
  • Network accessline 226
    after: {           url: "https://flights.example.com/",           title: "机票",
  • Network accessline 227
    url: "https://flights.example.com/",
  • Network accessline 241
    matched: { node: 1, role: "textbox", name: "搜索" },         before: {           url: "https://www.ctrip.com/",
  • Network accessline 242
    before: {           url: "https://www.ctrip.com/",           title: "携程旅行网",
  • Network accessline 243
    url: "https://www.ctrip.com/",
  • Network accessline 248
    },         after: {           url: "https://www.ctrip.com/error",
  • Network accessline 249
    after: {           url: "https://www.ctrip.com/error",           title: "携程旅行网",
  • Network accessline 250
    url: "https://www.ctrip.com/error",
  • Network accessline 262
    matched: { node: 1, role: "textbox", name: "搜索" },         before: {           url: "https://www.baidu.com/",
  • Network accessline 263
    before: {           url: "https://www.baidu.com/",           title: "百度",
  • Network accessline 264
    url: "https://www.baidu.com/",
  • Network accessline 268
    },         after: {           url: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B",
  • Network accessline 269
    after: {           url: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B",           title: "百度搜索",
  • Network accessline 270
    url: "https://www.baidu.com/s?wd=%E6%90%BA%E7%A8%8B",
  • Network accessline 299
    [Credential-related source omitted]
  • Network accessline 300
    [Credential-related source omitted]
  • Network accessline 301
    config.model.baseUrl = "https://planner.example/v1";
  • Network accessline 318
    [Credential-related source omitted]
  • Network accessline 319
    [Credential-related source omitted]
  • Network accessline 320
    config.model.baseUrl = "https://planner.example/v1";
  • Network accessline 321
    const page = {       url: "https://www.xiaohongshu.com/search_result_ai?keyword=AI",       title: "AI最新新闻 - 小红书搜索",
  • Network accessline 322
    url: "https://www.xiaohongshu.com/search_result_ai?keyword=AI",

skills/codexqa-jev-browser/vitest.config.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/CONTRIBUTING.md

  • Network accessline 20
    See the repository [SECURITY.md](https://github.com/openqa-cn/codexqa/blob/main/SECURITY.md).

skills/codexqa-requirement-analyzer/HOW_IT_WORKS.md

  • Network accessline 9
    Agents read [`SKILL.md`](SKILL.md) then [`prompts/codexqa-requirement-analyzer.md`](prompts/codexqa-requirement-analyzer.md), not this page. Gaps: [Known limitations](KNOWN_LIMITATIONS.md). Sample register: [preview](https://htmlpreview.git
  • Network accessline 21
    The model judges wording and conflicts. Grids in `references/` decide what “complete” means. Writing cases is [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.md).
  • Network accessline 82
    | Quality bar | [`prompts/codexqa-requirement-analyzer.md`](prompts/codexqa-requirement-analyzer.md) | | Shortest path | [`quick-start.md`](quick-start.md) | | What each published skill takes | [FAQ](https://github.com/openqa-cn/codexqa/blo
  • Network accessline 84
    | What each published skill takes | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.md) |

skills/codexqa-requirement-analyzer/HOW_IT_WORKS.zh-CN.md

  • Network accessline 9
    Agent 运行时读 [`SKILL.md`](SKILL.md) 再读 [`prompts/codexqa-requirement-analyzer.md`](prompts/codexqa-requirement-analyzer.md),不要读本页。能力边界见[已知边界](KNOWN_LIMITATIONS.zh-CN.md)。登记表样例:[预览页](https://htmlpreview.github.io/?https://github.com/openqa-cn/
  • Network accessline 21
    模型判断措辞和冲突。`references/` 里的格子定义「完整」是什么。写用例是 [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.zh-CN.md)。
  • Network accessline 82
    | 质量条 | [`prompts/codexqa-requirement-analyzer.md`](prompts/codexqa-requirement-analyzer.md) | | 最短路径 | [`quick-start.md`](quick-start.md) | | 各 skill 要交什么 | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.md) |
  • Network accessline 84
    | 各 skill 要交什么 | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.md) |

skills/codexqa-requirement-analyzer/README.md

  • Network accessline 9
    <p align="center">   <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/ra-register.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/ra-re
  • Network accessline 10
    <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/ra-register.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/ra-register.png" alt="Samp
  • Network accessline 13
    It is **not** [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.md). That skill writes test plans and manual cases from local requirements (files, paste, or HTTPS docs). T

skills/codexqa-requirement-analyzer/README.zh-CN.md

  • Network accessline 9
    <p align="center">   <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/ra-register.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/ra-re
  • Network accessline 10
    <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/ra-register.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/ra-register.png" alt="需求分析
  • Network accessline 13
    **不是** [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.zh-CN.md)。那个 skill 根据本地需求(文件、粘贴或 HTTPS 文档)写测试方案与手工用例。本 skill 审的是需求本身是否完整、一致、可测。

skills/codexqa-requirement-analyzer/scripts/batch_convert_templates.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/common_parser.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_formats.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_output_formats.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_csv.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_excel.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_json.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_markdown.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_word.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/convert_to_xmind.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/office_io.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_csv.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_excel.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_formats.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_html.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_json.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_markdown.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_output_formats.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_pdf.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_word.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/parse_xmind.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-requirement-analyzer/scripts/run_analysis.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/README.md

  • Network accessline 7
    It is **not** [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md) (symbol-graph impact / callers / test gaps), **not** [`codexqa-defect-analyzer`](https://github.com/openqa-cn/cod
  • Network accessline 12
    - `git` on `PATH` when the input is a remote repository - `@openqa-cn/codexqa` CLI on PATH (install if missing):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 13
    - `@openqa-cn/codexqa` CLI on PATH (install if missing):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - Network only to clone a remote repo and, if needed, install the CLI
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    See the [installation guide](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.md), [support matrix](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.md), and [FAQ](https://github.com/openqa-cn/codexqa/bl

skills/codexqa-rootcause-analyzer/README.zh-CN.md

  • Network accessline 7
    **不是** [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md)(符号图影响面 / 调用方 / 测试缺口),**不是** [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/code
  • Network accessline 12
    - 远程仓库输入时需要 `git` 在 `PATH` 上 - `PATH` 上有 `@openqa-cn/codexqa` CLI(缺失时安装):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 13
    - `PATH` 上有 `@openqa-cn/codexqa` CLI(缺失时安装):   `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/` - 仅在克隆远程仓库、以及必要时安装 CLI 时联网
  • Network accessline 14
    `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`
  • Network accessline 26
    见[安装指南](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.zh-CN.md)、[支持矩阵](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.zh-CN.md)和 [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.m

skills/codexqa-rootcause-analyzer/SKILL.md

  • Network accessline 148
    Install if missing: `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`. Talk to the `codexqa` binary only (`index` / `query` / `stats` / `repos`). Do **not** copy engine or skill source into this skill. Details: [ref

skills/codexqa-rootcause-analyzer/assets/report-chrome.js

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/package.json

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/references/codexqa.md

  • Network accessline 11
    Install: `npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/`

skills/codexqa-rootcause-analyzer/scripts/cli_args.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/diagnose.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-rootcause-analyzer/scripts/draft_report.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/ensure_codexqa.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    export const PACKAGE_NAME = "@openqa-cn/codexqa"; export const BINARY_NAME = "codexqa"; export const NPM_REGISTRY = "https://registry.npmjs.org/";
  • Network accessline 6
    export const BINARY_NAME = "codexqa"; export const NPM_REGISTRY = "https://registry.npmjs.org/"; export const INSTALL_TIMEOUT = 300;
  • Network accessline 7
    export const NPM_REGISTRY = "https://registry.npmjs.org/";

skills/codexqa-rootcause-analyzer/scripts/html_report.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/materialize_repo.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/parse_exception.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/query_graph.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/render_html.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-rootcause-analyzer/scripts/report.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/resolve_repo.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/store.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/scripts/timing.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/analyze_frames.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/cli_smoke.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/draft_report.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 160
    return null;         }         return client.fetch(id);
  • Network accessline 161
    }         return client.fetch(id);     `);
  • Network accessline 162
    return client.fetch(id);
  • Network accessline 358
    extract_swallow(`         if (flag) { return null; }         try { return client.fetch(); }
  • Network accessline 359
    if (flag) { return null; }         try { return client.fetch(); }         catch (TException e) { throw e; }
  • Network accessline 360
    try { return client.fetch(); }
  • Network accessline 374
    key: "UserProxy#getUser",         weak: false,         source: { text: "User getUser() { return client.fetch(); }", startLine: 20, endLine: 30 },
  • Network accessline 375
    weak: false,         source: { text: "User getUser() { return client.fetch(); }", startLine: 20, endLine: 30 },       },
  • Network accessline 376
    source: { text: "User getUser() { return client.fetch(); }", startLine: 20, endLine: 30 },

skills/codexqa-rootcause-analyzer/tests/ensure_codexqa.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/html_report.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/materialize_repo.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-rootcause-analyzer/tests/parse_exception.test.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-skill-router/LICENSE

  • Network accessline 1
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/
  • Network accessline 184
    http://www.apache.org/licenses/LICENSE-2.0

skills/codexqa-skill-router/README.md

  • Network accessline 9
    It is **not** a substitute for [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.md),
  • Network accessline 10
    [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.md),
  • Network accessline 11
    [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md),
  • Network accessline 12
    [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.md),
  • Network accessline 13
    [`codexqa-change-analysis`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-change-analysis/README.md),
  • Network accessline 14
    [`codexqa-code-wiki`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-wiki/README.md),
  • Network accessline 15
    [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.md),
  • Network accessline 16
    [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.md),
  • Network accessline 17
    [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.md),
  • Network accessline 18
    [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testdata-generator/README.md), or
  • Network accessline 19
    [`codexqa-jev-browser`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-jev-browser/README.md).

skills/codexqa-skill-router/README.zh-CN.md

  • Network accessline 8
    **不是**替代 [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.zh-CN.md)、
  • Network accessline 9
    [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.zh-CN.md)、
  • Network accessline 10
    [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-CN.md)、
  • Network accessline 11
    [`codexqa-code-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-analyzer/README.zh-CN.md)、
  • Network accessline 12
    [`codexqa-change-analysis`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-change-analysis/README.zh-CN.md)、
  • Network accessline 13
    [`codexqa-code-wiki`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-wiki/README.zh-CN.md)、
  • Network accessline 14
    [`codexqa-rootcause-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-rootcause-analyzer/README.zh-CN.md)、
  • Network accessline 15
    [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.zh-CN.md)、
  • Network accessline 16
    [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.zh-CN.md)、
  • Network accessline 17
    [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testdata-generator/README.zh-CN.md)
  • Network accessline 18
    或 [`codexqa-jev-browser`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-jev-browser/README.zh-CN.md)。 那些才是干活的 skill;本 skill 负责**发现、匹配、按需安装、按对方 SKILL.md 交接**。
  • Network accessline 19
    [`codexqa-jev-browser`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-jev-browser/README.zh-CN.md)。

skills/codexqa-skill-router/scripts/discover_skills.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]

skills/codexqa-skill-router/scripts/ensure_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 78
    DEFAULT_BRANCH = "main" DEFAULT_TARBALL = (     "https://codeload.github.com/%s/tar.gz/%s" % (DEFAULT_PACK, DEFAULT_BRANCH)
  • Network accessline 79
    DEFAULT_TARBALL = (     "https://codeload.github.com/%s/tar.gz/%s" % (DEFAULT_PACK, DEFAULT_BRANCH) )
  • Network accessline 80
    "https://codeload.github.com/%s/tar.gz/%s" % (DEFAULT_PACK, DEFAULT_BRANCH)
  • Network accessline 122
    with tempfile.TemporaryDirectory(prefix="codexqa-skill-router-fetch-") as tmp:         tar_path = Path(tmp) / "pack.tar.gz"         req = urllib.request.Request(url, headers={"User-Agent": "codexqa-skill-router-ensure/1.0"})
  • Network accessline 123
    tar_path = Path(tmp) / "pack.tar.gz"         req = urllib.request.Request(url, headers={"User-Agent": "codexqa-skill-router-ensure/1.0"})         with urllib.request.urlopen(req, timeout=120) as resp:
  • Network accessline 124
    req = urllib.request.Request(url, headers={"User-Agent": "codexqa-skill-router-ensure/1.0"})
  • Network accessline 125
    with urllib.request.urlopen(req, timeout=120) as resp:
  • Access to secretsline 313
    [Credential-related source omitted]

skills/codexqa-skill-router/scripts/refresh_catalog.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]

skills/codexqa-skill-router/scripts/suggest_route.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]

skills/codexqa-testcase-generator/CONTRIBUTING.md

  • Network accessline 26
    Vulnerability reporting is at the repository level: [SECURITY.md](https://github.com/openqa-cn/codexqa/blob/main/SECURITY.md). For this skill specifically:

skills/codexqa-testcase-generator/HOW_IT_WORKS.md

  • Network accessline 42
    | Skill | Difference | |---|---| | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.md) | Requirement quality / gap register — does not write a case library |
  • Network accessline 43
    |---|---| | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.md) | Requirement quality / gap register — does not write a case library | | [`codexqa-testdata-generator
  • Network accessline 44
    | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.md) | Requirement quality / gap register — does not write a case library |
  • Network accessline 45
    | [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testdata-generator/README.md) | Live backend IDs and precondition write-back — not plan/case authoring |
  • Network accessline 46
    | [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.md) / [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.md) | Code

skills/codexqa-testcase-generator/HOW_IT_WORKS.zh-CN.md

  • Network accessline 42
    | Skill | 区别 | |---|---| | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.zh-CN.md) | 需求质量 / 缺口登记 — 不写用例库 |
  • Network accessline 43
    |---|---| | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.zh-CN.md) | 需求质量 / 缺口登记 — 不写用例库 | | [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/b
  • Network accessline 44
    | [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.zh-CN.md) | 需求质量 / 缺口登记 — 不写用例库 |
  • Network accessline 45
    | [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testdata-generator/README.zh-CN.md) | 真实后端 ID 与前置回写 — 不写方案/用例 |
  • Network accessline 46
    | [`codexqa-defect-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-defect-analyzer/README.zh-CN.md) / [`codexqa-code-reviewer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-code-reviewer/README.zh-C

skills/codexqa-testcase-generator/README.md

  • Dangerous shell operationline 5
    Conversation-driven **test-plan and test-case** generation for APP, Web, and server. Fully run **Plan (Stages 0–5)**, **Exec (Stage 6)**, and/or **Incremental (post-submit)**. Artifacts are local Markdown only.
  • Network accessline 9
    It is **not** [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.md) (gap/conflict register), **not** [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexq
  • Network accessline 22
    See the [installation guide](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.md), [support matrix](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.md), and [FAQ](https://github.com/openqa-cn/codexqa/bl
  • Network accessline 35
    Knowledge directory: /Users/me/kb/biz Knowledge repo: https://git.example.com/team/biz-knowledge.git#main
  • Network accessline 36
    Knowledge repo: https://git.example.com/team/biz-knowledge.git#main

skills/codexqa-testcase-generator/README.zh-CN.md

  • Dangerous shell operationline 5
    面向 APP / Web / 服务端的对话式**测试方案与用例**生成。完整跑 **Plan(阶段 0–5)**、**Exec(阶段 6)** 和/或 **Incremental(提测后增量)**。产物仅为本地 Markdown。
  • Network accessline 9
    **不是** [`codexqa-requirement-analyzer`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-requirement-analyzer/README.zh-CN.md)(缺口 / 冲突登记表),**不是** [`codexqa-testdata-generator`](https://github.com/openqa-cn/codexqa/blob/main/ski
  • Network accessline 22
    见[安装指南](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.zh-CN.md)、[支持矩阵](https://github.com/openqa-cn/codexqa/blob/main/docs/SUPPORT_MATRIX.zh-CN.md)和 [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.m
  • Network accessline 35
    知识目录:/Users/me/kb/biz 知识库仓库:https://git.example.com/team/biz-knowledge.git#main
  • Network accessline 36
    知识库仓库:https://git.example.com/team/biz-knowledge.git#main

skills/codexqa-testcase-generator/SKILL.md

  • Dangerous shell operationline 112
    ## 6. Exec (test cases)

skills/codexqa-testcase-generator/references/case-tpl-app.md

  • Network accessline 178
    | **Case type** | Format: [regression mark]+[dimension]<br><br>- **Regression-mark enum**: New, Change, Regression<br>- **Dimension enum**: UI, Interaction, Logic, Flow, Analytics<br><br>*Examples*:<br>- [New][UI]<br>- [Change][Interaction]
  • Network accessline 179
    | **Case name** | **Principle:** dimension, page-module, and verification-goal description are clear; the title does not exceed 150 characters.<br><br>**Format:** `[dimension-test type][page-module] scenario (optional) + verification-goal d
  • Network accessline 180
    | **Preconditions** | **Execution-environment description:**<br>- environment ID: {environment-ID value}<br>- End: {APP name} ({OS}) >= {version}<br>&nbsp;&nbsp;&nbsp;*Example: user App (iOS / Android / HarmonyOS) >=1.2.0; merchant App (iOS
  • Network accessline 257
    | 2 | Click the cart page-bottom "Checkout" button and wait for the checkout page to finish loading | Enter the checkout page; the delivery-fee area shows "Delivery fee ¥5.00"; the payable-amount area shows "¥35.00" | | 3 | Click the checko
  • Network accessline 258
    | 3 | Click the checkout page-"Submit order" button | The page navigates to the order-success page and shows the "Order submitted successfully" copy and the order number | | 4 | HTTP API call (triggered by step 3):<br>- Type: POST<br>- URL:
  • Network accessline 259
    | 4 | HTTP API call (triggered by step 3):<br>- Type: POST<br>- URL: https://app.example.com/api/v1/order/create<br>- Input structure: {"storeId":"long(store S1's storeId)","addressId":"long(address A1's addressId confirmed in step 2)","sku
  • Network accessline 265
    {scenario-table diagram link, sourced from the test plan "diagram link" column, inherited character for character; fill --- when not hit} (e.g.: https://docs.example.com/api/file/cdn/2783551353/253193639345)

skills/codexqa-testcase-generator/references/case-tpl-server.md

  • Network accessline 67
    | Case ID | Functional module | Case name | Preconditions | Operation steps | Expected results | Priority | Case type | Provenance | |--------|---------|---------|--------|---------|---------|--------|--------|------| | {runid}-[millisecond
  • Network accessline 68
    |--------|---------|---------|--------|---------|---------|--------|--------|------| | {runid}-[millisecond timestamp (must differ per case)+3-digit random] | [functional-module name] | [Function-Positive][API HTTP] - Place an order with a 
  • Network accessline 69
    | {runid}-[millisecond timestamp (must differ per case)+3-digit random] | [functional-module name] | [Function-Positive][API HTTP] - Place an order with a coupon successfully | **Environment dependency:** environment ID, domain<br><br>**Dat

skills/codexqa-testcase-generator/references/case-tpl-web.md

  • Network accessline 177
    | **Case type** | Format: [regression mark]+[dimension]<br><br>- **Regression-mark enum**: New, Change, Regression<br>- **Dimension enum**: UI, Interaction, Logic, Flow, Analytics<br><br>*Examples*:<br>- [New][UI]<br>- [Change][Interaction]
  • Network accessline 178
    | **Case name** | **Principle:** dimension, page-module, and verification-goal description are clear; the title does not exceed 150 characters.<br><br>**Format:** `[dimension-test type][page-module] scenario (optional) + verification-goal d
  • Network accessline 179
    | **Preconditions** | **Execution-environment description:**<br>- environment ID: {environment-ID value}<br>- End: WEB client description + login method e.g.: log in to the merchant-backend PC [https://merchant.test.example.com/dining](http
  • Network accessline 238
    **Execution-environment description** - environment ID: {environment-ID value} (e.g.: TBD) - End: {WEB client description} + login method (e.g.: log in to the merchant-backend PC https://merchant.test.example.com/dining, account password TB
  • Network accessline 240
    - End: {WEB client description} + login method (e.g.: log in to the merchant-backend PC https://merchant.test.example.com/dining, account password TBD)
  • Network accessline 248
    | # | Step | Expected results | |---|------|---------| | 1 | Open a browser, visit the merchant-backend PC https://merchant.test.example.com/dining, and log in with account password xx/xx | Enter the merchant-backend home; the merchant data
  • Network accessline 249
    |---|------|---------| | 1 | Open a browser, visit the merchant-backend PC https://merchant.test.example.com/dining, and log in with account password xx/xx | Enter the merchant-backend home; the merchant data overview is shown | | 2 | Click
  • Network accessline 250
    | 1 | Open a browser, visit the merchant-backend PC https://merchant.test.example.com/dining, and log in with account password xx/xx | Enter the merchant-backend home; the merchant data overview is shown |
  • Network accessline 251
    | 2 | Click the left menu-"Order management", then click the "Order list" entry | Enter the order-list page; the order data table is shown | | 3 | Double-click the row whose order status is "Pending payment" and open the order-detail dialog
  • Network accessline 252
    | 3 | Double-click the row whose order status is "Pending payment" and open the order-detail dialog | The dialog shows the complete order information, including product details and amount information | | 4 | HTTP API call (triggered by step
  • Network accessline 253
    | 4 | HTTP API call (triggered by step 3):<br>- Type: POST<br>- URL: https://merchant.test.example.com/api/v1/order/create<br>- Input structure: {"storeId":"long(store S1's storeId)","addressId":"long(address A1's addressId)"} | API returns
  • Network accessline 260
    {scenario-table diagram link, sourced from the test plan "diagram link" column, inherited character for character; fill --- when not hit} (e.g.: https://docs.example.com/api/file/cdn/2783551353/253193639345)

skills/codexqa-testcase-generator/references/incremental/code-fetch-spec.md

  • Network accessline 39
    - GitHub style: `https://host/owner/repo/pull/123` (suffixes such as `/files` are allowed) - GitLab style: `https://host/group/repo/-/merge_requests/123` - Other HTTPS PR/MR paths: `/pulls/`, `/pull-requests/`, `/merge-requests/`, `/merge_r
  • Network accessline 40
    - GitLab style: `https://host/group/repo/-/merge_requests/123` - Other HTTPS PR/MR paths: `/pulls/`, `/pull-requests/`, `/merge-requests/`, `/merge_requests/`, standalone segment `/pr/` (for example `https://host/owner/repo/pr/123`) - Code-
  • Network accessline 41
    - Other HTTPS PR/MR paths: `/pulls/`, `/pull-requests/`, `/merge-requests/`, `/merge_requests/`, standalone segment `/pr/` (for example `https://host/owner/repo/pr/123`)
  • Network accessline 42
    - Code-platform PR page: path is `/code/repo-detail/{group}/{repo}/pr/{n}` (suffixes such as `/diff` and `/files` are allowed). `family=code-ui`: take group/repo/number from the path; do not treat a suffix as the repo name. **Rewrite the ho
  • Network accessline 43
    - Custom git repo: `https://host/path/repo.git`, `git@host:path/repo.git`, `ssh://git@host[:port]/path/repo.git`; an HTTPS repo may also omit `.git`

skills/codexqa-testcase-generator/references/knowledge-adapter.md

  • Dangerous shell operationline 37
    - **Exec (Stage 6)**: Write cases from the formal test plan + built-in three-end templates; read the local pack only when it already exists and test-data setup / format gaps remain.

skills/codexqa-testcase-generator/references/plan-md-template.md

  • Network accessline 124
    |-----------|---------|-------------| | RPC | type; protocol; serviceId; class; method; params; auth | `RPC; protocol: Thrift; serviceId: com.xxx.api; class: com.xxx.ActivityService; method: createActivity; params: {"name": "", "type": 0}; 
  • Network accessline 125
    | RPC | type; protocol; serviceId; class; method; params; auth | `RPC; protocol: Thrift; serviceId: com.xxx.api; class: com.xxx.ActivityService; method: createActivity; params: {"name": "", "type": 0}; auth: no auth required` (protocol valu
  • Network accessline 126
    | HTTP | type; serviceId; url; method; request params; auth | `HTTP; serviceId: com.xxx.api; url: https://xxx.com/api/activity/create; method: POST; params: {"name": "", "type": 0}; auth: Header carries access token` |

skills/codexqa-testcase-generator/references/postsubmit-bootstrap.md

  • Dangerous shell operationline 21
    4. After the plan is valid, ask the user whether to generate the missing-end cases; execute **Exec (Stage 6)** only after the user confirms. The target end only limits the output end; do not cut Exec's internal flow.

skills/codexqa-testcase-generator/references/s00-req-ingest.md

  • Network accessline 24
    | **B Upstream archive / already-cleaned local file** | Input is already persisted in this run under `testcase/testdocs/` (same run_dir resume/rerun), or the user directly provides already-cleaned body text | **Skip ingest-flow steps 1–3 an
  • Network accessline 25
    | **C Pasted body text** | User pastes requirement / technical-design body text directly in the conversation, with no file path | First write the body to `{run_dir}/testcase/testdocs/_ingest/pasted-<id>.md` or persist it as `requirement-[ti
  • Network accessline 26
    | **D HTTPS / HTTP document URL** | User this turn gives one or more `https://` or `http://` document URLs, with no corresponding local file. Host does not matter | Follow "Form D HTTPS persist" below. Do **not** install or call a doc-platf

skills/codexqa-testcase-generator/scripts/bootstrap_knowledge.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 157
    )             return manifest         fetch_info = fetch(valid_url, output_dir / "repo", valid_ref or "")
  • Network accessline 158
    return manifest         fetch_info = fetch(valid_url, output_dir / "repo", valid_ref or "")         if not fetch_info.get("ok"):
  • Network accessline 159
    fetch_info = fetch(valid_url, output_dir / "repo", valid_ref or "")

skills/codexqa-testcase-generator/scripts/check_run_gate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/close_stage.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/extract_svg_text.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 122
    raw = base64.b64decode(inner)

skills/codexqa-testcase-generator/scripts/fetch_knowledge_git.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 83
    def fetch(url: str, dest: Path, ref: str = "") -> dict:
  • Network accessline 135
    dest = Path(args.output_dir).expanduser().resolve() / "repo"     result = fetch(valid_url, dest, valid_ref or "")
  • Network accessline 136
    result = fetch(valid_url, dest, valid_ref or "")

skills/codexqa-testcase-generator/scripts/generate_case_report.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/build_diff_candidates.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/freeze_case_standard.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/freeze_inputs.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/inc_common.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/make_ids.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/pull_remote_code.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 147
    project = project.strip("/")     if project.endswith(".git"):         return f"https://{host}/{project}"
  • Network accessline 148
    if project.endswith(".git"):         return f"https://{host}/{project}"     return f"https://{host}/{project}.git"
  • Network accessline 149
    return f"https://{host}/{project}"
  • Network accessline 150
    return f"https://{host}/{project}.git"
  • Network accessline 266
    raise SkillError(             "PR_URL_UNSUPPORTED",             "Only https://, git@host:path, or ssh://git@host/path is supported",
  • Network accessline 267
    "PR_URL_UNSUPPORTED",             "Only https://, git@host:path, or ssh://git@host/path is supported",         )
  • Network accessline 268
    "Only https://, git@host:path, or ssh://git@host/path is supported",
  • Access to secretsline 362
    [Credential-related source omitted]
  • Network accessline 577
    try:         if parsed.get("apiKind") == "github":             url = f"https://{host}/api/v3/repos/{owner}/{repo}/pulls/{number}"
  • Network accessline 578
    if parsed.get("apiKind") == "github":             url = f"https://{host}/api/v3/repos/{owner}/{repo}/pulls/{number}"             if host in {"github.com", "www.github.com"}:
  • Network accessline 579
    url = f"https://{host}/api/v3/repos/{owner}/{repo}/pulls/{number}"
  • Network accessline 580
    if host in {"github.com", "www.github.com"}:                 url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{number}"         elif parsed.get("apiKind") == "gitlab":
  • Network accessline 581
    url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{number}"
  • Network accessline 582
    elif parsed.get("apiKind") == "gitlab":             project = f"{owner}/{repo}".replace("/", "%2F")             url = f"https://{host}/api/v4/projects/{project}/merge_requests/{number}"
  • Network accessline 583
    project = f"{owner}/{repo}".replace("/", "%2F")             url = f"https://{host}/api/v4/projects/{project}/merge_requests/{number}"         else:
  • Network accessline 584
    url = f"https://{host}/api/v4/projects/{project}/merge_requests/{number}"
  • Network accessline 892
    code_ui = parse_source_url(         "https://dev.example.com/code/repo-detail/group/repo/pr/731/diff"
  • Network accessline 893
    "https://dev.example.com/code/repo-detail/group/repo/pr/731/diff"
  • Network accessline 901
    if code_ui["host"] != "git.example.com":         failures.append("code-ui host=%s" % code_ui["host"])     if code_ui["gitUrl"] != "https://git.example.com/group/repo.git":
  • Network accessline 902
    failures.append("code-ui host=%s" % code_ui["host"])     if code_ui["gitUrl"] != "https://git.example.com/group/repo.git":         failures.append("code-ui gitUrl=%s" % code_ui["gitUrl"])
  • Network accessline 903
    if code_ui["gitUrl"] != "https://git.example.com/group/repo.git":
  • Network accessline 910
    github = parse_source_url("https://github.com/owner/repo/pull/731/files")
  • Network accessline 911
    if github["family"] != "github" or github["number"] != 731:         failures.append("github parse drifted")     if github["gitUrl"] != "https://github.com/owner/repo.git":
  • Network accessline 912
    failures.append("github parse drifted")     if github["gitUrl"] != "https://github.com/owner/repo.git":         failures.append("github gitUrl=%s" % github["gitUrl"])
  • Network accessline 913
    if github["gitUrl"] != "https://github.com/owner/repo.git":
  • Network accessline 916
    gitlab = parse_source_url("https://gitlab.com/group/repo/-/merge_requests/731")
  • Network accessline 920
    short_pr = parse_source_url("https://example.com/owner/repo/pr/731")
  • Network accessline 924
    samples = (         "致命错误:无法更新重定向后的 URL 基址:\n重定向:https://login.example.com/",
  • Network accessline 925
    "致命错误:无法更新重定向后的 URL 基址:\n重定向:https://login.example.com/",
  • Network accessline 926
    "fatal: unable to update url base from redirection.\nredirected to https://login.example.com/",

skills/codexqa-testcase-generator/scripts/incremental/setup_execution.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/incremental/write_task_status.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/ingest_local_docs.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/codexqa-testcase-generator/scripts/lib/python_resolve.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-testcase-generator/scripts/py_version.py

  • Executable scriptline 1
    Executable file

skills/codexqa-testcase-generator/scripts/run_gate_lib.py

  • Executable scriptline 1
    Executable file

skills/codexqa-testcase-generator/scripts/tcg-python

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/codexqa-testcase-generator/user-guide.md

  • Network accessline 40
    **Incremental exception (code only):** when you explicitly say to increment cases from a PR / MR or a custom git repo URL, this Skill git-fetches into `{run_dir}/testcase/.pr-cache/`, then diff-enhances existing cases. Supported: GitHub/Git
  • Network accessline 46
    > This directory has a PRD and a technical design; generate a test plan: /Users/me/docs/feature-x/ > > Generate a test plan from https://docs.example.com/prd/feature-x
  • Network accessline 47
    > > Generate a test plan from https://docs.example.com/prd/feature-x >
  • Network accessline 48
    > Generate a test plan from https://docs.example.com/prd/feature-x
  • Network accessline 62
    Git URLs support only `https://…`, `git@…`, and `ssh://git@…`, optionally with `#branch`. Links in requirement text are **not** treated as a knowledge repo. Mid-run, the Skill will not ask you for a knowledge directory or Git URL just to fi
  • Network accessline 82
    You: Generate a test plan. Requirements: /Users/me/docs/prd.md     Knowledge repo: https://git.example.com/team/biz-knowledge.git#main
  • Network accessline 83
    Knowledge repo: https://git.example.com/team/biz-knowledge.git#main
  • Network accessline 198
    **Can a PR link or custom repo URL auto-fill cases?**   Yes, but you must explicitly say to increment from that URL, and a case baseline must already exist. This Skill uses git and does not depend on `gh`. Supported: GitHub/GitLab PR/MR, `h
  • Network accessline 199
    Yes, but you must explicitly say to increment from that URL, and a case baseline must already exist. This Skill uses git and does not depend on `gh`. Supported: GitHub/GitLab PR/MR, `https://dev.example.com/code/repo-detail/{group}/{repo}/p

skills/codexqa-testdata-generator/.gitignore

  • Access to secretsline 7
    [Credential-related source omitted]

skills/codexqa-testdata-generator/CONTRIBUTING.md

  • Network accessline 7
    1. Keep the [Agent Skills](https://agentskills.io/specification) contract: `SKILL.md` `name` may contain only lowercase `a-z`, digits, and single `-` (no `_`, no uppercase, no leading/trailing/consecutive hyphens) and must match the directo
  • Network accessline 47
    Vulnerability reporting is at the repository level: [SECURITY.md](https://github.com/openqa-cn/codexqa/blob/main/SECURITY.md). For this skill specifically:

skills/codexqa-testdata-generator/HOW_IT_WORKS.md

  • Network accessline 9
    Agents read [`SKILL.md`](SKILL.md), not this page. Command-level detail is in the [operator appendix](#operator-appendix) below. Gaps: [Known limitations](KNOWN_LIMITATIONS.md). Sample write-back: [preview](https://htmlpreview.github.io/?ht
  • Network accessline 37
    Default backend is the local mock (`http://127.0.0.1:8765`). Mock `p_1` and a staging-gateway ID can look the same. Confirm the base URL before trusting write-back.
  • Network accessline 84
    | Agent runtime contract | [`SKILL.md`](SKILL.md) | | Commands, report payloads, install, troubleshooting | [Operator appendix](#operator-appendix) below | | What each published skill takes | [FAQ](https://github.com/openqa-cn/codexqa/blob/
  • Network accessline 86
    | What each published skill takes | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.md) |
  • Access to secretsline 239
    [Credential-related source omitted]
  • Network accessline 250
    | `DATA_GENERATE_SKILLS_ROOT` | Package root that contains `slots/` (usually the same as the row above after install) | | `DATA_BUILD_CONFIG` | Config file path | | `DATA_BUILD_API_BASE` | HTTP base URL for executors; default `http://127.0.
  • Network accessline 251
    | `DATA_BUILD_CONFIG` | Config file path | | `DATA_BUILD_API_BASE` | HTTP base URL for executors; default `http://127.0.0.1:8765` | | `DATA_BUILD_TOKEN` | Optional Bearer token |
  • Network accessline 252
    | `DATA_BUILD_API_BASE` | HTTP base URL for executors; default `http://127.0.0.1:8765` |
  • Network accessline 334
    Then start a new Agent conversation. Host flags: [INSTALL.md](INSTALL.md) and [docs/GETTING_STARTED.md](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.md).
  • Access to secretsline 529
    [Credential-related source omitted]

skills/codexqa-testdata-generator/HOW_IT_WORKS.zh-CN.md

  • Network accessline 9
    Agent 运行时读 [`SKILL.md`](SKILL.md),不要读本页。命令、安装、排障在英文 [HOW_IT_WORKS.md 操作附录](HOW_IT_WORKS.md#operator-appendix)。能力边界见[已知边界](KNOWN_LIMITATIONS.zh-CN.md)。回写样例:[预览页](https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/d
  • Network accessline 37
    默认后端是本地 mock(`http://127.0.0.1:8765`)。mock 的 `p_1` 和预发网关的 ID 长得一样,信任回写前先确认 base URL。
  • Network accessline 84
    | Agent 运行时契约 | [`SKILL.md`](SKILL.md) | | 命令、上报 payload、排障 | 英文 [HOW_IT_WORKS.md 操作附录](HOW_IT_WORKS.md#operator-appendix) | | 各 skill 要交什么 | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.md) |
  • Network accessline 86
    | 各 skill 要交什么 | [FAQ](https://github.com/openqa-cn/codexqa/blob/main/docs/FAQ.zh-CN.md) |

skills/codexqa-testdata-generator/INSTALL.md

  • Network accessline 13
    Then start a **new** agent session. Host-specific flags (`--agent cursor`, `--agent claude-code`, `--agent codex`, `--global`) are documented in the [repo getting started](https://github.com/openqa-cn/codexqa/blob/main/docs/GETTING_STARTED.
  • Network accessline 28
    The frontmatter `name` is `codexqa-testdata-generator` (lowercase `a-z`, digits, and single `-` only, per the [Agent Skills spec](https://agentskills.io/specification)). The source folder, zip root, and install directory all use this name.

skills/codexqa-testdata-generator/KNOWN_LIMITATIONS.md

  • Network accessline 9
    Out of the box, executors point at `DATA_BUILD_API_BASE`, which defaults to `http://127.0.0.1:8765` — the bundled `slots/mock_server.ts`. The mock hands back `p_1`, `o_1`, `d_1` and appends to `testdata/mock-store.json`. That is enough to e

skills/codexqa-testdata-generator/KNOWN_LIMITATIONS.zh-CN.md

  • Network accessline 9
    开箱时 executor 指向 `DATA_BUILD_API_BASE`,默认 `http://127.0.0.1:8765`——自带的 `slots/mock_server.ts`。mock 会发回 `p_1`、`o_1`、`d_1`,并追加到 `testdata/mock-store.json`。这够用来走通路由、场景顺序和回写,**不能**证明任何东西进了真实系统。

skills/codexqa-testdata-generator/LICENSE

  • Network accessline 1
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/
  • Network accessline 195
    http://www.apache.org/licenses/LICENSE-2.0

skills/codexqa-testdata-generator/README.md

  • Network accessline 5
    Vendor-neutral [Agent Skill](https://agentskills.io/specification) for constructing test data against a backend and, when the request is a case-material job, writing the values back as executable preconditions.
  • Network accessline 9
    <p align="center">   <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/testdata-writeback.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/preview
  • Network accessline 10
    <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/testdata-writeback.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/testdata-writeback.
  • Network accessline 13
    It does **not** invent business IDs. "Construct succeeded" means the backend returned an ID, not that one appeared in the chat. It also does **not** author test cases from a PRD — that is the sibling [`codexqa-testcase-generator`](https://g

skills/codexqa-testdata-generator/README.zh-CN.md

  • Network accessline 5
    厂商无关的 [Agent Skill](https://agentskills.io/specification):对着后端构造测试数据;若请求是用例物料,再把业务字段回写成可执行前置条件。
  • Network accessline 9
    <p align="center">   <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/testdata-writeback.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/preview
  • Network accessline 10
    <a href="https://htmlpreview.github.io/?https://github.com/openqa-cn/codexqa/blob/main/docs/assets/previews/testdata-writeback.html"><img src="https://raw.githubusercontent.com/openqa-cn/codexqa/main/docs/assets/previews/testdata-writeback.
  • Network accessline 13
    **不编造业务 ID。**「构造成功」指后端返回了 ID,不是对话里出现了一个号。也**不**根据 PRD 写测试用例——那是兄弟 skill [`codexqa-testcase-generator`](https://github.com/openqa-cn/codexqa/blob/main/skills/codexqa-testcase-generator/README.zh-CN.md)。

skills/codexqa-testdata-generator/SKILL.md

  • Dangerous shell operationline 255
    | unpin | `node "$SKILL_DIR/scripts/favorites.ts" rm --name "<name>"` (or `--uuid` / `--id`) |

skills/codexqa-testdata-generator/assets/config.example.yaml

  • Access to secretsline 59
    [Credential-related source omitted]

skills/codexqa-testdata-generator/package-lock.json

  • Network accessline 18
    "node_modules/@types/node": {       "version": "22.20.1",       "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz",
  • Network accessline 19
    "version": "22.20.1",       "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz",       "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==",
  • Network accessline 20
    "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz",
  • Network accessline 28
    "node_modules/typescript": {       "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 29
    "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",       "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
  • Network accessline 30
    "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 42
    "node_modules/undici-types": {       "version": "6.21.0",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
  • Network accessline 43
    "version": "6.21.0",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",       "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
  • Network accessline 44
    "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",

skills/codexqa-testdata-generator/package.json

  • Executable scriptline 1
    Executable file

skills/codexqa-testdata-generator/references/adapters.md

  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]

skills/codexqa-testdata-generator/references/case-data-material-planner/agents/writeback.md

  • Network accessline 266
    npm list -g case-writeback --depth=0 2>/dev/null | grep case_writeback    # When not installed or the version is too old:    npm install -g case-writeback --registry=https://registry.npmjs.org
  • Network accessline 268
    npm install -g case-writeback --registry=https://registry.npmjs.org

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/bind_action.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/cache_tool_binding.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/dashboard/server.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 173
    server.listen(port, () => {   process.stdout.write(`Dashboard: http://localhost:${port}\n`);
  • Network accessline 174
    process.stdout.write(`Dashboard: http://localhost:${port}\n`);

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/experience_compat.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 12
    minSimilarity = 0.7, ): Promise<JsonObject> {   return buildRuntime().experience_store.fetch(queries, domain, topK, minSimilarity);
  • Network accessline 13
    ): Promise<JsonObject> {   return buildRuntime().experience_store.fetch(queries, domain, topK, minSimilarity); }
  • Network accessline 14
    return buildRuntime().experience_store.fetch(queries, domain, topK, minSimilarity);

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/finalize.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/gate_check_cdata.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/generate_config_commands.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/hash_manifest.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/init_manifest.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/invoke_entity.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/lint_manifest.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/manifest_io.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/merge_executor_fields.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/merge_patch.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/parallel_search.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/pipeline.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/rollback.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/safe_io.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/search_data_build_skill.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/select_tool.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/slot_catalog.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/slot_render.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/topo_sort_batch.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/case-data-material-planner/scripts/verify_tool_input_list.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/references/script-template.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 16
    export const ENV = process.env.DATA_BUILD_ENV || "test"; export const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 17
    export const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Access to secretsline 34
    [Credential-related source omitted]
  • Network accessline 42
    }   try {     const resp = await fetch(url, {
  • Network accessline 43
    try {     const resp = await fetch(url, {       method,
  • Network accessline 44
    const resp = await fetch(url, {

skills/codexqa-testdata-generator/references/workflow.md

  • Dangerous shell operationline 178
    | unpin | `node scripts/favorites.ts rm --name "<name>"` |
  • Access to secretsline 211
    [Credential-related source omitted]
  • Network accessline 216
    **Q4: The API needs extra auth?** Put tokens in the auth adapter or environment. Scripts must call `callHttp`, not ad-hoc curl with pasted cookies.
  • Network accessline 217
    Put tokens in the auth adapter or environment. Scripts must call `callHttp`, not ad-hoc curl with pasted cookies.

skills/codexqa-testdata-generator/scripts/_verify_enterprise_onboard.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 173
    while (Date.now() - start < 8000) {     try {       if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;
  • Network accessline 174
    try {       if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;     } catch {
  • Network accessline 175
    if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;
  • Network accessline 243
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 244
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 245
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 247
    const title = params.title || params.name;   if (!title) return { success: false, data: null, error: "missing required param: title" };   const resp = await fetch(BASE_URL + "/v1/invoices", {
  • Network accessline 248
    if (!title) return { success: false, data: null, error: "missing required param: title" };   const resp = await fetch(BASE_URL + "/v1/invoices", {     method: "POST",
  • Network accessline 249
    const resp = await fetch(BASE_URL + "/v1/invoices", {
  • Network accessline 273
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 274
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 275
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 276
    export async function main(params) {   if (!params.invoiceId) return { success: false, data: null, error: "missing required param: invoiceId" };   const resp = await fetch(BASE_URL + "/v1/invoices/" + params.invoiceId + "/pay", {
  • Network accessline 277
    if (!params.invoiceId) return { success: false, data: null, error: "missing required param: invoiceId" };   const resp = await fetch(BASE_URL + "/v1/invoices/" + params.invoiceId + "/pay", {     method: "POST",
  • Network accessline 278
    const resp = await fetch(BASE_URL + "/v1/invoices/" + params.invoiceId + "/pay", {
  • Network accessline 405
    return results;   }   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 406
    }   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };   try {
  • Network accessline 407
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };

skills/codexqa-testdata-generator/scripts/_verify_extend_scene.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 170
    while (Date.now() - start < 8000) {     try {       if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;
  • Network accessline 171
    try {       if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;     } catch {
  • Network accessline 172
    if ((await fetch(`http://127.0.0.1:${port}/health`)).ok) return child;
  • Network accessline 187
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 188
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 189
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 190
    export async function main(params) {   if (!params.name) return { success: false, data: null, error: "missing required param: name" };   const resp = await fetch(BASE_URL + "/v1/wallets", {
  • Network accessline 191
    if (!params.name) return { success: false, data: null, error: "missing required param: name" };   const resp = await fetch(BASE_URL + "/v1/wallets", {     method: "POST",
  • Network accessline 192
    const resp = await fetch(BASE_URL + "/v1/wallets", {
  • Network accessline 218
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 219
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 220
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 222
    if (!params.walletId) return { success: false, data: null, error: "missing required param: walletId" };   const amount = Number(params.amount || 100);   const resp = await fetch(BASE_URL + "/v1/wallets/" + params.walletId + "/topup", {
  • Network accessline 223
    const amount = Number(params.amount || 100);   const resp = await fetch(BASE_URL + "/v1/wallets/" + params.walletId + "/topup", {     method: "POST",
  • Network accessline 224
    const resp = await fetch(BASE_URL + "/v1/wallets/" + params.walletId + "/topup", {
  • Network accessline 513
    const port = 18791;   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 514
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };

skills/codexqa-testdata-generator/scripts/_verify_pipeline_scenarios.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 229
    async function withMock<T>(port: number, fn: (env: NodeJS.ProcessEnv) => Promise<T>): Promise<T | undefined> {   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 230
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 236
    const up = await waitUntil(async () => {     try {       return (await fetch(`http://127.0.0.1:${port}/health`)).ok;
  • Network accessline 237
    try {       return (await fetch(`http://127.0.0.1:${port}/health`)).ok;     } catch {
  • Network accessline 238
    return (await fetch(`http://127.0.0.1:${port}/health`)).ok;
  • Dangerous shell operationline 399
    const rm = readObj(reusePath);

skills/codexqa-testdata-generator/scripts/_verify_rewrite.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Dangerous shell operationline 456
    assertExit("F07", "favorites.ts rm (no selector)", got, 1);
  • Dangerous shell operationline 462
    assertExit("F08", "favorites.ts rm --name missing", got, 1);
  • Dangerous shell operationline 463
    assertContains("F08-out", "favorites rm missing", got.stdout, "no matching pinned skill", "not-found message");
  • Dangerous shell operationline 468
    assertExit("F09", "favorites.ts rm --name catalog", got, 0);
  • Network accessline 482
    {     const got = nodeTs(cli, ["fetch"]);     assertExit("E02", "experience_client.ts fetch (no --queries)", got, 2);
  • Network accessline 483
    const got = nodeTs(cli, ["fetch"]);     assertExit("E02", "experience_client.ts fetch (no --queries)", got, 2);     assertContains("E02-err", "experience_client fetch", got.stderr, "error: --queries is required", "--queries required");
  • Network accessline 484
    assertExit("E02", "experience_client.ts fetch (no --queries)", got, 2);
  • Network accessline 923
    async function verifySlots(): Promise<void> {   const port = 18765;   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 924
    const port = 18765;   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };   const child = spawn(process.execPath, [join(TS_ROOT, "slots/mock_server.ts"), "--port", String(port)], {
  • Network accessline 925
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 935
    const up = await waitUntil(async () => {     try {       const resp = await fetch(`http://127.0.0.1:${port}/health`);
  • Network accessline 936
    try {       const resp = await fetch(`http://127.0.0.1:${port}/health`);       return resp.ok;
  • Network accessline 937
    const resp = await fetch(`http://127.0.0.1:${port}/health`);
  • Network accessline 950
    try {     const health = await fetch(`http://127.0.0.1:${port}/health`);
  • Network accessline 951
    const health = await fetch(`http://127.0.0.1:${port}/health`);
  • Dangerous shell operationline 959
    const got = exec("slots/catalog/scripts/executors/create_product.ts", '{"name":"Northwind Standard","city":"demo-city"}');
  • Dangerous shell operationline 965
    const miss = exec("slots/catalog/scripts/executors/create_product.ts", "{}");
  • Dangerous shell operationline 972
    const limited = exec("slots/catalog/scripts/executors/create_limited_product.ts", '{"name":"Limited SKU","validHours":3}');
  • Dangerous shell operationline 976
    const orderMiss = exec("slots/catalog/scripts/executors/create_order.ts", '{"name":"x"}');
  • Dangerous shell operationline 980
    const order = exec("slots/catalog/scripts/executors/create_order.ts", JSON.stringify({ productId, userId: "u-1", quantity: 2 }));
  • Dangerous shell operationline 985
    const credit = exec("slots/catalog/scripts/executors/setup_account_credit.ts", JSON.stringify({ productId, userId: "u-1", credits: 500 }));
  • Dangerous shell operationline 989
    const dist = exec("slots/distribution/scripts/executors/create_distributor.ts", '{"name":"North Channel"}');
  • Dangerous shell operationline 995
    const bind = exec("slots/distribution/scripts/executors/bind_inventory.ts", JSON.stringify({ distributorId, productId }));
  • Dangerous shell operationline 999
    const comm = exec("slots/distribution/scripts/executors/set_commission.ts", JSON.stringify({ distributorId, rate: 0.15 }));
  • Dangerous shell operationline 1003
    const quote = exec("slots/distribution/scripts/executors/browse_and_quote.ts", JSON.stringify({ distributorId, productId }));
  • Dangerous shell operationline 1007
    const bindMiss = exec("slots/distribution/scripts/executors/bind_inventory.ts", "{}");
  • Network accessline 1518
    const up = await waitUntil(async () => {     try {       const resp = await fetch(`http://127.0.0.1:${port}/api/all`);
  • Network accessline 1519
    try {       const resp = await fetch(`http://127.0.0.1:${port}/api/all`);       return resp.ok;
  • Network accessline 1520
    const resp = await fetch(`http://127.0.0.1:${port}/api/all`);
  • Network accessline 1527
    if (up) {     try {       const resp = await fetch(`http://127.0.0.1:${port}/api/all`);
  • Network accessline 1528
    try {       const resp = await fetch(`http://127.0.0.1:${port}/api/all`);       const data = (await resp.json()) as JsonObject;
  • Network accessline 1529
    const resp = await fetch(`http://127.0.0.1:${port}/api/all`);
  • Network accessline 1576
    const tmpl = run(process.execPath, [join(TS_ROOT, "references/script-template.ts"), "--json", '{"name":"Workflow Item"}'], {     env: { ...isolatedEnv, DATA_BUILD_API_BASE: "http://127.0.0.1:9" },
  • Network accessline 1577
    env: { ...isolatedEnv, DATA_BUILD_API_BASE: "http://127.0.0.1:9" },
  • Network accessline 1803
    const port = 18766;   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 1804
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 1810
    const up = await waitUntil(async () => {     try {       const resp = await fetch(`http://127.0.0.1:${port}/health`);
  • Network accessline 1811
    try {       const resp = await fetch(`http://127.0.0.1:${port}/health`);       return resp.ok;
  • Network accessline 1812
    const resp = await fetch(`http://127.0.0.1:${port}/health`);

skills/codexqa-testdata-generator/scripts/_verify_user_journeys.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 212
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 213
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 214
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 217
    if (!name) return { success: false, data: null, error: "missing required param: name" };   const body = { name, status: params.status || "open" };   const resp = await fetch(BASE_URL + "/v1/records", {
  • Network accessline 218
    const body = { name, status: params.status || "open" };   const resp = await fetch(BASE_URL + "/v1/records", {     method: "POST",
  • Network accessline 219
    const resp = await fetch(BASE_URL + "/v1/records", {
  • Network accessline 244
    import { realpathSync } from "node:fs"; import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 245
    import { fileURLToPath } from "node:url"; const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765"; export async function main(params) {
  • Network accessline 246
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Network accessline 247
    export async function main(params) {   if (!params.recordId) return { success: false, data: null, error: "missing required param: recordId" };   const resp = await fetch(BASE_URL + "/v1/records/" + params.recordId + "/close", {
  • Network accessline 248
    if (!params.recordId) return { success: false, data: null, error: "missing required param: recordId" };   const resp = await fetch(BASE_URL + "/v1/records/" + params.recordId + "/close", {     method: "POST",
  • Network accessline 249
    const resp = await fetch(BASE_URL + "/v1/records/" + params.recordId + "/close", {
  • Network accessline 424
    const port = 18781;   const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 425
    const env = { ...isolatedEnv, DATA_BUILD_API_BASE: `http://127.0.0.1:${port}` };
  • Network accessline 432
    const up = await waitUntil(async () => {     try {       return (await fetch(`http://127.0.0.1:${port}/health`)).ok;
  • Network accessline 433
    try {       return (await fetch(`http://127.0.0.1:${port}/health`)).ok;     } catch {
  • Network accessline 434
    return (await fetch(`http://127.0.0.1:${port}/health`)).ok;

skills/codexqa-testdata-generator/scripts/adapters/api_catalog.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/auth.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]

skills/codexqa-testdata-generator/scripts/adapters/case_writeback.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/cli.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/config.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/config_store.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/data_store.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/doc_source.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 29
    if (ref.startsWith("http://") || ref.startsWith("https://")) {       try {         const resp = await fetch(ref, { headers: await this.auth.headers(), signal: AbortSignal.timeout(20_000) });
  • Network accessline 30
    try {         const resp = await fetch(ref, { headers: await this.auth.headers(), signal: AbortSignal.timeout(20_000) });         const content = await resp.text();
  • Network accessline 31
    const resp = await fetch(ref, { headers: await this.auth.headers(), signal: AbortSignal.timeout(20_000) });

skills/codexqa-testdata-generator/scripts/adapters/experience_store.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 41
    async fetch(

skills/codexqa-testdata-generator/scripts/adapters/feature_flags.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/httputil.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 30
    }   try {     const resp = await fetch(url, {
  • Network accessline 31
    try {     const resp = await fetch(url, {       method,
  • Network accessline 32
    const resp = await fetch(url, {

skills/codexqa-testdata-generator/scripts/adapters/index.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/skill_marketplace.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/slot_roots.ts

  • Executable scriptline 1
    Executable file

skills/codexqa-testdata-generator/scripts/adapters/tool_registry.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/adapters/workspace_context.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/experience_client.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 95
    return 2;     }     result = await store.fetch(JSON.parse(values.queries), values.domain, Number(values["top-k"] || 3));
  • Network accessline 96
    }     result = await store.fetch(JSON.parse(values.queries), values.domain, Number(values["top-k"] || 3));   } else if (command === "report") {
  • Network accessline 97
    result = await store.fetch(JSON.parse(values.queries), values.domain, Number(values["top-k"] || 3));

skills/codexqa-testdata-generator/scripts/favorites.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Dangerous shell operationline 253
    process.stdout.write(`Usage: node favorites.ts rm (--name <name> | --uuid <uuid> | --id <id>)
  • Dangerous shell operationline 264
    node favorites.ts rm --name "catalog"
  • Dangerous shell operationline 289
    rm        Unpin a skill
  • Dangerous shell operationline 298
    node favorites.ts rm --name "catalog"

skills/codexqa-testdata-generator/scripts/pack_skills.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/scripts/search_data_build.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 49
    const provenPromise = (async () => {     if (!(queryText || registryKey)) return [] as JsonObject[];     const resp = await runtime.experience_store.fetch(
  • Network accessline 49
    const provenPromise = (async () => {     if (!(queryText || registryKey)) return [] as JsonObject[];     const resp = await runtime.experience_store.fetch(
  • Network accessline 50
    if (!(queryText || registryKey)) return [] as JsonObject[];     const resp = await runtime.experience_store.fetch(       [{ key: registryKey || "", type: entryType, query_text: queryText || registryKey || "" }],
  • Network accessline 50
    if (!(queryText || registryKey)) return [] as JsonObject[];     const resp = await runtime.experience_store.fetch(       [{ key: registryKey || "", type: entryType, query_text: queryText || registryKey || "" }],
  • Network accessline 51
    const resp = await runtime.experience_store.fetch(
  • Network accessline 51
    const resp = await runtime.experience_store.fetch(

skills/codexqa-testdata-generator/scripts/sync_slot.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable

skills/codexqa-testdata-generator/slot-scaffolder/scripts/scaffold_slot.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 20
    const BASE_URL = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 26
    [Credential-related source omitted]
  • Network accessline 27
    try {     const resp = await fetch(url, {       method,
  • Network accessline 28
    const resp = await fetch(url, {

skills/codexqa-testdata-generator/slots/SLOT_SPEC.md

  • Network accessline 36
    `name` must match the directory name and may contain only lowercase `a-z`, digits, and single `-` (no `_`, no uppercase, no leading/trailing/consecutive hyphens). Follow the [Agent Skills spec](https://agentskills.io/specification).
  • Network accessline 36
    `name` must match the directory name and may contain only lowercase `a-z`, digits, and single `-` (no `_`, no uppercase, no leading/trailing/consecutive hyphens). Follow the [Agent Skills spec](https://agentskills.io/specification).
  • Network accessline 36
    `name` must match the directory name and may contain only lowercase `a-z`, digits, and single `-` (no `_`, no uppercase, no leading/trailing/consecutive hyphens). Follow the [Agent Skills spec](https://agentskills.io/specification).
  • Network accessline 36
    `name` must match the directory name and may contain only lowercase `a-z`, digits, and single `-` (no `_`, no uppercase, no leading/trailing/consecutive hyphens). Follow the [Agent Skills spec](https://agentskills.io/specification).

skills/codexqa-testdata-generator/slots/catalog/assets/openapi/catalog.yaml

  • Network accessline 4
    version: "1.0.0" servers:   - url: http://127.0.0.1:8765
  • Network accessline 5
    servers:   - url: http://127.0.0.1:8765 paths:
  • Network accessline 6
    - url: http://127.0.0.1:8765

skills/codexqa-testdata-generator/slots/catalog/references/tools-guide.md

  • Network accessline 3
    All executors POST JSON to `DATA_BUILD_API_BASE` (default `http://127.0.0.1:8765`).

skills/codexqa-testdata-generator/slots/catalog/scripts/executors/create_limited_product.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/catalog/scripts/executors/create_order.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/catalog/scripts/executors/create_product.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/catalog/scripts/executors/setup_account_credit.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/common/client.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 4
    const DEFAULT_BASE = process.env.DATA_BUILD_API_BASE || "http://127.0.0.1:8765";
  • Access to secretsline 26
    [Credential-related source omitted]
  • Network accessline 27
    [Credential-related source omitted]
  • Network accessline 28
    try {     const resp = await fetch(url, {       method,
  • Network accessline 29
    const resp = await fetch(url, {

skills/codexqa-testdata-generator/slots/distribution/assets/openapi/distribution.yaml

  • Network accessline 4
    version: "1.0.0" servers:   - url: http://127.0.0.1:8765
  • Network accessline 5
    servers:   - url: http://127.0.0.1:8765 paths:
  • Network accessline 6
    - url: http://127.0.0.1:8765

skills/codexqa-testdata-generator/slots/distribution/references/tools-guide.md

  • Network accessline 3
    All executors POST JSON to `DATA_BUILD_API_BASE` (default `http://127.0.0.1:8765`).

skills/codexqa-testdata-generator/slots/distribution/scripts/executors/bind_inventory.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/distribution/scripts/executors/browse_and_quote.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/distribution/scripts/executors/create_distributor.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/distribution/scripts/executors/set_commission.ts

  • Executable scriptline 1
    #!/usr/bin/env node

skills/codexqa-testdata-generator/slots/mock_server.ts

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 250
    const server = createServer(async (req, res) => {     const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 250
    const server = createServer(async (req, res) => {     const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 250
    const server = createServer(async (req, res) => {     const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 251
    const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 251
    const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 251
    const url = new URL(req.url || "/", `http://${host}:${port}`);
  • Network accessline 284
    server.listen(port, host, () => {     process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);
  • Network accessline 284
    server.listen(port, host, () => {     process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);
  • Network accessline 284
    server.listen(port, host, () => {     process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);
  • Network accessline 285
    process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);
  • Network accessline 285
    process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);
  • Network accessline 285
    process.stdout.write(`mock server http://${host}:${port}  store=${STORE_PATH}\n`);

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 3 facts
Signal confidence: 497 facts

and 447 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/codexqa-change-analysis/SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/codexqa-change-analysis/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/codexqa-change-analysis/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/codexqa-change-analysis/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/codexqa-change-analysis/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.