@adhdev/daemon-core 0.6.76 → 0.6.77
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/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/daemon/dev-server.ts +10 -8
package/dist/index.js
CHANGED
|
@@ -13525,14 +13525,16 @@ var DevServer = class _DevServer {
|
|
|
13525
13525
|
lines.push("| Status | When to use | How to detect |");
|
|
13526
13526
|
lines.push("|---|---|---|");
|
|
13527
13527
|
lines.push("| `idle` | AI is NOT generating, no approval needed | Default state. No stop button, no spinners, no approval pills/buttons |");
|
|
13528
|
-
lines.push(
|
|
13528
|
+
lines.push('| `generating` | AI is actively streaming/thinking | ANY of: (1) Submit button icon SVG changes (e.g. arrow\u2192stop square, fill="none"\u2192fill="currentColor"), (2) Stop/Cancel button visible, (3) CSS animation, (4) Structural markers (aria-labels that only appear during generation) |');
|
|
13529
13529
|
lines.push("| `waiting_approval` | AI stopped and needs user action | Actionable buttons like Run/Skip/Accept/Reject are visible AND clickable |");
|
|
13530
13530
|
lines.push("");
|
|
13531
13531
|
lines.push("### \u26A0\uFE0F Status Detection Gotchas (MUST READ!)");
|
|
13532
|
-
lines.push(
|
|
13533
|
-
lines.push('2. **
|
|
13534
|
-
lines.push("3. **
|
|
13535
|
-
lines.push(
|
|
13532
|
+
lines.push(`1. **DO NOT rely on button text/labels in the user's language.** OS locale may be Korean, Japanese, etc. Button text like "Cancel" or "Stop" will be localized. Instead, detect STRUCTURAL indicators: SVG icon changes, CSS classes, aria-labels from the extension's own React/Radix UI (which stay in English regardless of OS locale).`);
|
|
13533
|
+
lines.push('2. **Use sendMessage to CREATE a generating state, then CAPTURE the DOM.** Send a LONG prompt (e.g. "Write an extremely detailed 5000-word essay...") so the AI takes 10+ seconds. Then periodically capture the DOM during generation to find which elements appear/change. Compare idle vs generating DOM snapshots to find reliable structural markers.');
|
|
13534
|
+
lines.push("3. **Look for SVG icon changes in the submit button.** Many IDEs change the submit button icon from an arrow (send) to a square (stop) during generation. Check the SVG `fill` attribute or path data.");
|
|
13535
|
+
lines.push('4. **FALSE POSITIVES from old messages**: Chat history may contain text like "Command Awaiting Approval" from PAST turns. ONLY match small leaf elements (under 80 chars) or use explicit button/pill selectors.');
|
|
13536
|
+
lines.push("5. **Awaiting Approval pill without actions**: Some IDEs show a floating pill/banner that is just a scroll-to indicator. If NO actionable buttons exist, the status should be `idle`, NOT `waiting_approval`.");
|
|
13537
|
+
lines.push("6. **activeModal must include actions**: When `status` is `waiting_approval`, the `activeModal` object MUST include a non-empty `actions` array.");
|
|
13536
13538
|
lines.push("");
|
|
13537
13539
|
lines.push("## Action");
|
|
13538
13540
|
lines.push("1. Edit the script files to implement working code");
|
|
@@ -13590,10 +13592,10 @@ var DevServer = class _DevServer {
|
|
|
13590
13592
|
lines.push(`echo "$RESULT" | python3 -c "import sys,json; d=json.load(sys.stdin); r=d.get('result',d); r=json.loads(r) if isinstance(r,str) else r; assert r.get('status')=='idle', f'Expected idle, got {r.get(chr(34)+chr(115)+chr(116)+chr(97)+chr(116)+chr(117)+chr(115)+chr(34))}'; print('Step 1 PASS: status=idle')"`);
|
|
13591
13593
|
lines.push("```");
|
|
13592
13594
|
lines.push("");
|
|
13593
|
-
lines.push("### Step 2: Send a message that triggers generation");
|
|
13595
|
+
lines.push("### Step 2: Send a LONG message that triggers extended generation (10+ seconds)");
|
|
13594
13596
|
lines.push("```bash");
|
|
13595
|
-
lines.push(`curl -sS -X POST http://127.0.0.1:${DEV_SERVER_PORT}/api/scripts/run -H "Content-Type: application/json" -d '{"script": "sendMessage", "type": "${type}", "ideType": "${type}", "args": {"message": "
|
|
13596
|
-
lines.push("sleep
|
|
13597
|
+
lines.push(`curl -sS -X POST http://127.0.0.1:${DEV_SERVER_PORT}/api/scripts/run -H "Content-Type: application/json" -d '{"script": "sendMessage", "type": "${type}", "ideType": "${type}", "args": {"message": "Write an extremely detailed 5000-word essay about the history of artificial intelligence from Alan Turing to 2025. Be very thorough and verbose."}}'`);
|
|
13598
|
+
lines.push("sleep 3");
|
|
13597
13599
|
lines.push("```");
|
|
13598
13600
|
lines.push("");
|
|
13599
13601
|
lines.push("### Step 3: Check generating OR completed");
|