pi-ui-extend 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schemas/pi-tools-suite-schema.d.ts +1 -0
- package/dist/schemas/pi-tools-suite-schema.js +1 -0
- package/external/pi-tools-suite/README.md +54 -1
- package/external/pi-tools-suite/docs/browser-qa-subagent.md +81 -0
- package/external/pi-tools-suite/src/async-subagents/async-subagents.sample.jsonc +11 -0
- package/external/pi-tools-suite/src/async-subagents/core/config.ts +19 -0
- package/external/pi-tools-suite/src/async-subagents/core/spawn.ts +28 -1
- package/external/pi-tools-suite/src/async-subagents/lib.ts +1 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/SKILL.md +76 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/references/qa-auth.example.jsonc +87 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/references/qa-flow.example.jsonc +19 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/scripts/browser-qa-runner.mjs +926 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/vendor/fflate.LICENSE +21 -0
- package/external/pi-tools-suite/src/async-subagents/private-skills/browser-qa/vendor/fflate.mjs +2692 -0
- package/external/pi-tools-suite/src/async-subagents/tools/spawn.ts +6 -1
- package/external/pi-tools-suite/src/tool-descriptions.ts +10 -3
- package/package.json +1 -1
- package/schemas/pi-tools-suite.json +7 -0
|
@@ -90,7 +90,12 @@ async function launchQueuedAgent(options: LaunchQueuedAgentOptions): Promise<voi
|
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
const spawnOptions = {
|
|
93
|
+
const spawnOptions = {
|
|
94
|
+
parentSession,
|
|
95
|
+
maxResultBytes: resolved.maxResultBytes,
|
|
96
|
+
timeoutMs: resolved.timeoutMs,
|
|
97
|
+
isolatedSkills: resolved.isolatedSkills,
|
|
98
|
+
};
|
|
94
99
|
if (resolved.retry.maxRetries > 0 || resolved.fallbackModels.length > 0) {
|
|
95
100
|
const retryResult = spawnAgentWithRetry(
|
|
96
101
|
runDir,
|
|
@@ -67,7 +67,10 @@ export function asyncSubagentToolDescriptions(options: ToolDescriptionSetOptions
|
|
|
67
67
|
name: "subagents",
|
|
68
68
|
label: "Subagents",
|
|
69
69
|
description: [
|
|
70
|
-
"
|
|
70
|
+
"For every real-browser QA request, immediately spawn subagentType='browser-qa' before checking files, URLs, servers, or other prerequisites; the QA sub-agent owns feasibility checks and blocked reports, so the parent must not attempt browser QA itself.",
|
|
71
|
+
"If browser-qa reports that credentials are required, it must identify the generated project-local template and explicitly ask the user to fill it; the parent relays that request without reading or editing the credential file.",
|
|
72
|
+
"After browser testing, browser-qa must return clickable links for every available screenshot, video, and trace; the parent must preserve those links in its user-facing report.",
|
|
73
|
+
"Otherwise, manage isolated async sub-agents for large, parallel, context-heavy work.",
|
|
71
74
|
"Presets from async-subagents config and /subagent-preset choose role model/thinking/args; AGENTS_PRESET or /subagent-preset session <name> overrides the current session; /subagent-preset init creates a sample config.",
|
|
72
75
|
"Omit subagentType so the router chooses a configured role unless the user or task requires a role or deterministic override.",
|
|
73
76
|
repoDiscovery
|
|
@@ -77,13 +80,17 @@ export function asyncSubagentToolDescriptions(options: ToolDescriptionSetOptions
|
|
|
77
80
|
"Results are compact with artifact links. Agents run isolated pi processes with extensions disabled to prevent recursive spawning; spawn/task timeoutSeconds can shorten the default 30m watchdog, project concurrency queues excess agents, and retry backoff/fallback models/Antigravity account rotation are config-driven.",
|
|
78
81
|
].join(" "),
|
|
79
82
|
promptSnippet:
|
|
80
|
-
"
|
|
83
|
+
"For every browser-based visual QA, UI bug reproduction, or real-browser fix-verification request, immediately spawn subagentType='browser-qa' even for a single track and before inspecting files or checking prerequisites. The browser-qa sub-agent must discover the target and report missing prerequisites; do not preflight, perform, or substitute browser QA in the parent agent. " +
|
|
84
|
+
"For other work, use subagents action='spawn' for multiple independent agents, explicit delegate/parallelize/split work requests, or one large review/debug track that should stay out of the parent context. " +
|
|
81
85
|
"Usually omit subagentType so the router chooses; set it only for user-named roles, deterministic tests, or another concrete override. Avoid trivial reads/edits and do not call status/wait immediately after spawn just for progress. " +
|
|
82
86
|
(repoDiscovery
|
|
83
87
|
? "For one semantic code-discovery question, use repo_search; for independent tracks/hypotheses/review axes, delegate even when repo_* tools exist. Read result only after completion when findings are needed."
|
|
84
88
|
: "For one focused code-discovery question, use direct read/grep. Without repo_* tools, spawn several focused scan/quick agents first for broad multi-track discovery, incident triage, release readiness, risk strategy, or parallel reviews. Read result only after completion when findings are needed."),
|
|
85
89
|
promptGuidelines: [
|
|
86
|
-
"
|
|
90
|
+
"Treat every real-browser QA request as a mandatory delegation trigger and an explicit exception to the large/parallel threshold: immediately spawn with `subagentType: \"browser-qa\"` before checking prerequisites. The QA sub-agent owns target discovery, feasibility checks, browser automation, evidence, and blocked reports; the parent must not inspect the project first or substitute non-browser checks.",
|
|
91
|
+
"When browser-qa reports missing credentials, relay its explicit request and generated `.pi/qa_auth.jsonc` template path; never inspect, populate, or edit that credential file in the parent.",
|
|
92
|
+
"After browser-qa completes a test, preserve its clickable screenshot, video, and trace links in the final user-facing response whenever those artifacts exist.",
|
|
93
|
+
"For non-browser-QA work, use action='spawn' only for LARGE/PARALLEL work: independent investigations, repo-wide sweeps, deep debugging, code review/audit, or explicit delegate/parallelize/split requests; these are spawn triggers unless trivial/single-file.",
|
|
87
94
|
repoDiscovery
|
|
88
95
|
? "For one discovery question, use repo_search; spawn for independent tracks/hypotheses/review axes, and do not let repo_* availability suppress delegation."
|
|
89
96
|
: "For one discovery question, use direct read/grep; when repo_* tools are unavailable, spawn several focused scan/quick agents first for broad multi-file/module/hypothesis work.",
|
package/package.json
CHANGED
|
@@ -653,6 +653,13 @@
|
|
|
653
653
|
},
|
|
654
654
|
"description": "Enabled tools for this type."
|
|
655
655
|
},
|
|
656
|
+
"isolatedSkills": {
|
|
657
|
+
"type": "array",
|
|
658
|
+
"items": {
|
|
659
|
+
"type": "string"
|
|
660
|
+
},
|
|
661
|
+
"description": "Explicit skill files loaded after disabling normal skill discovery for this type."
|
|
662
|
+
},
|
|
656
663
|
"extraArgs": {
|
|
657
664
|
"type": "array",
|
|
658
665
|
"items": {
|