dsh-agy-link 0.2.8 โ†’ 0.2.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.9 (2026-08-19)
4
+
5
+ - **Tool activity moved out of the thinking panel into the reply body.**
6
+ User feedback on 0.2.8: tool annotations hidden inside the DSH thinking
7
+ fold were invisible and felt wrong. agy tools now render as visible
8
+ `๐Ÿ”ง [agy tool: name] args -> output` lines in the message body (they
9
+ cannot become native DSH tool cards: a finish:tool-calls would make the
10
+ DSH agent try to execute tools it does not own โ€” agy runs its own closed
11
+ tool loop). The thinking panel keeps only what is genuinely thinking
12
+ signal: `[agy thinking turn ยท N thinking tokens]` turn annotations
13
+ (agy print mode never streams thinking text) and terminal error notes.
14
+
3
15
  ## 0.2.8 (2026-08-19)
4
16
 
5
17
  - **Fix: real agy 1.1.15 stream-json parsing.** The parser only understood
package/dist/index.js CHANGED
@@ -433,42 +433,45 @@ var EventMapper = class {
433
433
  if (d) yield d;
434
434
  return;
435
435
  }
436
- if (ev.stepKind === "thinking" || ev.stepKind === "tool" || ev.stepKind === "subagent") {
436
+ if (ev.stepKind === "thinking" || ev.stepKind === "subagent") {
437
437
  yield* this.ensureBlock("reasoning");
438
438
  if (ev.stepKind === "thinking") {
439
439
  const delta = suffixDelta(this.emittedByKey.get(ev.stepKey) ?? "", ev.text);
440
440
  this.emittedByKey.set(ev.stepKey, ev.text);
441
441
  const d = this.appendDelta(delta);
442
442
  if (d) yield d;
443
- } else if (ev.stepKind === "tool" && ev.tool) {
444
- const announceKey = ev.stepKey + ":a";
445
- if (!this.toolPhaseSeen.has(announceKey)) {
446
- this.toolPhaseSeen.add(announceKey);
447
- const line = (this.opts.announce ?? defaultAnnounce)(ev.tool.name, ev.tool.args);
448
- const d = this.appendDelta(line);
449
- if (d) yield d;
450
- }
451
- const outKey = ev.stepKey + ":o";
452
- const errKey = ev.stepKey + ":e";
453
- if (ev.tool.error !== void 0 && !this.toolPhaseSeen.has(errKey)) {
454
- this.toolPhaseSeen.add(errKey);
455
- const d = this.appendDelta("[agy tool error: " + ev.tool.name + "] " + ev.tool.error + "\n");
456
- if (d) yield d;
457
- }
458
- if (ev.tool.output !== void 0 && !this.toolPhaseSeen.has(outKey)) {
459
- this.toolPhaseSeen.add(outKey);
460
- const rendered = this.opts.toolOutput ? this.opts.toolOutput(ev.tool.name, ev.tool.args, ev.tool.output) : defaultOutput(ev.tool.output);
461
- if (rendered !== null) {
462
- const d = this.appendDelta(rendered);
463
- if (d) yield d;
464
- }
465
- }
466
- } else if (ev.stepKind === "subagent") {
443
+ } else {
467
444
  const d = this.appendDelta("[agy subagent] " + ev.text + "\n");
468
445
  if (d) yield d;
469
446
  }
470
447
  return;
471
448
  }
449
+ if (ev.stepKind === "tool" && ev.tool) {
450
+ yield* this.ensureBlock("text");
451
+ const announceKey = ev.stepKey + ":a";
452
+ if (!this.toolPhaseSeen.has(announceKey)) {
453
+ this.toolPhaseSeen.add(announceKey);
454
+ const line = (this.opts.announce ?? defaultAnnounce)(ev.tool.name, ev.tool.args);
455
+ const d = this.appendDelta("๐Ÿ”ง " + line);
456
+ if (d) yield d;
457
+ }
458
+ const outKey = ev.stepKey + ":o";
459
+ const errKey = ev.stepKey + ":e";
460
+ if (ev.tool.error !== void 0 && !this.toolPhaseSeen.has(errKey)) {
461
+ this.toolPhaseSeen.add(errKey);
462
+ const d = this.appendDelta("โš  [agy tool error: " + ev.tool.name + "] " + ev.tool.error + "\n");
463
+ if (d) yield d;
464
+ }
465
+ if (ev.tool.output !== void 0 && !this.toolPhaseSeen.has(outKey)) {
466
+ this.toolPhaseSeen.add(outKey);
467
+ const rendered = this.opts.toolOutput ? this.opts.toolOutput(ev.tool.name, ev.tool.args, ev.tool.output) : defaultOutput(ev.tool.output);
468
+ if (rendered !== null) {
469
+ const d = this.appendDelta(rendered);
470
+ if (d) yield d;
471
+ }
472
+ }
473
+ return;
474
+ }
472
475
  return;
473
476
  }
474
477
  if (!ev.ok) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-agy-link",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "Google Antigravity (agy CLI) models for DeepSeek Harness โ€” stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.",
5
5
  "type": "module",
6
6
  "license": "MIT",