qlogicagent 2.16.6 → 2.16.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/agent.js +16 -16
  2. package/dist/cli.js +372 -373
  3. package/dist/index.js +371 -372
  4. package/dist/protocol.js +1 -1
  5. package/dist/types/cli/base-tool-bootstrap.d.ts +1 -0
  6. package/dist/types/cli/handlers/files-handler.d.ts +5 -0
  7. package/dist/types/cli/handlers/message-feedback-handler.d.ts +29 -0
  8. package/dist/types/cli/handlers/project-handler.d.ts +1 -0
  9. package/dist/types/cli/handlers/turn-baseline-handler.d.ts +8 -0
  10. package/dist/types/cli/handlers/turn-handler.d.ts +5 -0
  11. package/dist/types/cli/handlers/working-materials-handler.d.ts +9 -0
  12. package/dist/types/cli/idle-dream-coordinator.d.ts +6 -0
  13. package/dist/types/cli/mcp-bootstrap.d.ts +1 -0
  14. package/dist/types/cli/rpc-registry.d.ts +6 -0
  15. package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +1 -0
  16. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +1 -0
  17. package/dist/types/cli/tool-bootstrap-core-registration.d.ts +1 -0
  18. package/dist/types/cli/tool-bootstrap.d.ts +1 -0
  19. package/dist/types/protocol/methods.d.ts +24 -0
  20. package/dist/types/protocol/wire/agent-events.d.ts +2 -2
  21. package/dist/types/protocol/wire/gateway-rpc.d.ts +160 -0
  22. package/dist/types/protocol/wire/notification-payloads.d.ts +27 -0
  23. package/dist/types/runtime/infra/feedback-distillation-worker.d.ts +20 -0
  24. package/dist/types/runtime/infra/feedback-distillation.d.ts +30 -0
  25. package/dist/types/runtime/infra/feedback-event-store.d.ts +160 -0
  26. package/dist/types/runtime/infra/feedback-outbox.d.ts +26 -0
  27. package/dist/types/runtime/infra/feedback-redaction.d.ts +71 -0
  28. package/dist/types/runtime/infra/feedback-upload-client.d.ts +39 -0
  29. package/dist/types/runtime/infra/feedback-upload-worker.d.ts +11 -0
  30. package/dist/types/runtime/infra/turn-baseline-store.d.ts +102 -0
  31. package/dist/types/runtime/infra/turn-telemetry-store.d.ts +59 -0
  32. package/dist/types/runtime/infra/working-materials-store.d.ts +35 -0
  33. package/dist/types/runtime/ports/memory-provider.d.ts +6 -0
  34. package/dist/types/runtime/ports/tool-contracts.d.ts +1 -0
  35. package/dist/types/runtime/prompt/fresh-workspace-evidence.d.ts +14 -0
  36. package/dist/types/skills/mcp/mcp-manager.d.ts +11 -0
  37. package/dist/types/skills/memory/local-memory-provider.d.ts +3 -3
  38. package/dist/types/skills/memory/local-store-records.d.ts +18 -1
  39. package/dist/types/skills/memory/local-store.d.ts +8 -195
  40. package/dist/types/skills/memory/memory-consolidation.d.ts +14 -0
  41. package/dist/types/skills/memory/sqlite-memory-schema.d.ts +1 -1
  42. package/dist/types/skills/tools/skill-tool.d.ts +1 -1
  43. package/dist/vendor/hatch-pet/LICENSE.txt +201 -201
  44. package/dist/vendor/hatch-pet/NOTICE.md +25 -25
  45. package/dist/vendor/hatch-pet/references/animation-rows.md +29 -29
  46. package/dist/vendor/hatch-pet/references/codex-pet-contract.md +35 -35
  47. package/dist/vendor/hatch-pet/references/qa-rubric.md +66 -66
  48. package/dist/vendor/hatch-pet/scripts/compose_atlas.py +169 -169
  49. package/dist/vendor/hatch-pet/scripts/derive_running_left_from_running_right.py +150 -150
  50. package/dist/vendor/hatch-pet/scripts/extract_strip_frames.py +408 -408
  51. package/dist/vendor/hatch-pet/scripts/inspect_frames.py +256 -256
  52. package/dist/vendor/hatch-pet/scripts/make_contact_sheet.py +96 -96
  53. package/dist/vendor/hatch-pet/scripts/prepare_pet_run.py +834 -834
  54. package/dist/vendor/hatch-pet/scripts/render_animation_previews.py +78 -78
  55. package/dist/vendor/hatch-pet/scripts/validate_atlas.py +157 -157
  56. package/package.json +1 -1
@@ -1,96 +1,96 @@
1
- #!/usr/bin/env python3
2
- """Create a labeled contact sheet from a Codex pet atlas."""
3
-
4
- from __future__ import annotations
5
-
6
- import argparse
7
- from pathlib import Path
8
-
9
- from PIL import Image, ImageDraw, ImageFont
10
-
11
- COLUMNS = 8
12
- ROWS = 9
13
- CELL_WIDTH = 192
14
- CELL_HEIGHT = 208
15
- LABEL_HEIGHT = 22
16
- ROW_NAMES = [
17
- "idle",
18
- "running-right",
19
- "running-left",
20
- "waving",
21
- "jumping",
22
- "failed",
23
- "waiting",
24
- "running",
25
- "review",
26
- ]
27
- USED_COUNTS = [6, 8, 8, 4, 5, 8, 6, 6, 6]
28
-
29
-
30
- def checker(size: tuple[int, int], square: int = 16) -> Image.Image:
31
- image = Image.new("RGB", size, "#ffffff")
32
- draw = ImageDraw.Draw(image)
33
- for y in range(0, size[1], square):
34
- for x in range(0, size[0], square):
35
- if (x // square + y // square) % 2:
36
- draw.rectangle((x, y, x + square - 1, y + square - 1), fill="#e8e8e8")
37
- return image
38
-
39
-
40
- def main() -> None:
41
- parser = argparse.ArgumentParser(description=__doc__)
42
- parser.add_argument("atlas")
43
- parser.add_argument("--output", required=True)
44
- parser.add_argument("--scale", type=float, default=0.5)
45
- args = parser.parse_args()
46
-
47
- with Image.open(Path(args.atlas).expanduser().resolve()) as opened:
48
- atlas = opened.convert("RGBA")
49
-
50
- cell_w = max(1, round(CELL_WIDTH * args.scale))
51
- cell_h = max(1, round(CELL_HEIGHT * args.scale))
52
- width = COLUMNS * cell_w
53
- height = ROWS * (cell_h + LABEL_HEIGHT)
54
- sheet = Image.new("RGB", (width, height), "#f7f7f7")
55
- draw = ImageDraw.Draw(sheet)
56
- font = ImageFont.load_default()
57
-
58
- for row in range(ROWS):
59
- y = row * (cell_h + LABEL_HEIGHT)
60
- draw.rectangle((0, y, width, y + LABEL_HEIGHT - 1), fill="#111111")
61
- draw.text((6, y + 5), f"row {row}: {ROW_NAMES[row]}", fill="#ffffff", font=font)
62
- draw.text(
63
- (width - 92, y + 5),
64
- f"{USED_COUNTS[row]} frames",
65
- fill="#ffffff",
66
- font=font,
67
- )
68
- for column in range(COLUMNS):
69
- crop = atlas.crop(
70
- (
71
- column * CELL_WIDTH,
72
- row * CELL_HEIGHT,
73
- (column + 1) * CELL_WIDTH,
74
- (row + 1) * CELL_HEIGHT,
75
- )
76
- )
77
- crop = crop.resize((cell_w, cell_h), Image.Resampling.LANCZOS)
78
- bg = checker((cell_w, cell_h))
79
- bg.paste(crop, (0, 0), crop)
80
- x = column * cell_w
81
- sheet.paste(bg, (x, y + LABEL_HEIGHT))
82
- outline = "#18a058" if column < USED_COUNTS[row] else "#cc3344"
83
- draw.rectangle(
84
- (x, y + LABEL_HEIGHT, x + cell_w - 1, y + LABEL_HEIGHT + cell_h - 1),
85
- outline=outline,
86
- )
87
- draw.text((x + 4, y + LABEL_HEIGHT + 4), str(column), fill="#111111", font=font)
88
-
89
- output = Path(args.output).expanduser().resolve()
90
- output.parent.mkdir(parents=True, exist_ok=True)
91
- sheet.save(output)
92
- print(f"wrote {output}")
93
-
94
-
95
- if __name__ == "__main__":
96
- main()
1
+ #!/usr/bin/env python3
2
+ """Create a labeled contact sheet from a Codex pet atlas."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import argparse
7
+ from pathlib import Path
8
+
9
+ from PIL import Image, ImageDraw, ImageFont
10
+
11
+ COLUMNS = 8
12
+ ROWS = 9
13
+ CELL_WIDTH = 192
14
+ CELL_HEIGHT = 208
15
+ LABEL_HEIGHT = 22
16
+ ROW_NAMES = [
17
+ "idle",
18
+ "running-right",
19
+ "running-left",
20
+ "waving",
21
+ "jumping",
22
+ "failed",
23
+ "waiting",
24
+ "running",
25
+ "review",
26
+ ]
27
+ USED_COUNTS = [6, 8, 8, 4, 5, 8, 6, 6, 6]
28
+
29
+
30
+ def checker(size: tuple[int, int], square: int = 16) -> Image.Image:
31
+ image = Image.new("RGB", size, "#ffffff")
32
+ draw = ImageDraw.Draw(image)
33
+ for y in range(0, size[1], square):
34
+ for x in range(0, size[0], square):
35
+ if (x // square + y // square) % 2:
36
+ draw.rectangle((x, y, x + square - 1, y + square - 1), fill="#e8e8e8")
37
+ return image
38
+
39
+
40
+ def main() -> None:
41
+ parser = argparse.ArgumentParser(description=__doc__)
42
+ parser.add_argument("atlas")
43
+ parser.add_argument("--output", required=True)
44
+ parser.add_argument("--scale", type=float, default=0.5)
45
+ args = parser.parse_args()
46
+
47
+ with Image.open(Path(args.atlas).expanduser().resolve()) as opened:
48
+ atlas = opened.convert("RGBA")
49
+
50
+ cell_w = max(1, round(CELL_WIDTH * args.scale))
51
+ cell_h = max(1, round(CELL_HEIGHT * args.scale))
52
+ width = COLUMNS * cell_w
53
+ height = ROWS * (cell_h + LABEL_HEIGHT)
54
+ sheet = Image.new("RGB", (width, height), "#f7f7f7")
55
+ draw = ImageDraw.Draw(sheet)
56
+ font = ImageFont.load_default()
57
+
58
+ for row in range(ROWS):
59
+ y = row * (cell_h + LABEL_HEIGHT)
60
+ draw.rectangle((0, y, width, y + LABEL_HEIGHT - 1), fill="#111111")
61
+ draw.text((6, y + 5), f"row {row}: {ROW_NAMES[row]}", fill="#ffffff", font=font)
62
+ draw.text(
63
+ (width - 92, y + 5),
64
+ f"{USED_COUNTS[row]} frames",
65
+ fill="#ffffff",
66
+ font=font,
67
+ )
68
+ for column in range(COLUMNS):
69
+ crop = atlas.crop(
70
+ (
71
+ column * CELL_WIDTH,
72
+ row * CELL_HEIGHT,
73
+ (column + 1) * CELL_WIDTH,
74
+ (row + 1) * CELL_HEIGHT,
75
+ )
76
+ )
77
+ crop = crop.resize((cell_w, cell_h), Image.Resampling.LANCZOS)
78
+ bg = checker((cell_w, cell_h))
79
+ bg.paste(crop, (0, 0), crop)
80
+ x = column * cell_w
81
+ sheet.paste(bg, (x, y + LABEL_HEIGHT))
82
+ outline = "#18a058" if column < USED_COUNTS[row] else "#cc3344"
83
+ draw.rectangle(
84
+ (x, y + LABEL_HEIGHT, x + cell_w - 1, y + LABEL_HEIGHT + cell_h - 1),
85
+ outline=outline,
86
+ )
87
+ draw.text((x + 4, y + LABEL_HEIGHT + 4), str(column), fill="#111111", font=font)
88
+
89
+ output = Path(args.output).expanduser().resolve()
90
+ output.parent.mkdir(parents=True, exist_ok=True)
91
+ sheet.save(output)
92
+ print(f"wrote {output}")
93
+
94
+
95
+ if __name__ == "__main__":
96
+ main()