qlogicagent 2.16.7 → 2.16.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.
Files changed (72) hide show
  1. package/dist/cli.js +403 -397
  2. package/dist/default-project-knowledge/INSTRUCTIONS.md +7 -0
  3. package/dist/default-project-knowledge/rules/project-workflow.md +6 -0
  4. package/dist/index.js +405 -399
  5. package/dist/types/cli/agent-runtime-bootstrap.d.ts +1 -0
  6. package/dist/types/cli/base-tool-bootstrap.d.ts +2 -0
  7. package/dist/types/cli/handlers/community-handler.d.ts +2 -28
  8. package/dist/types/cli/handlers/files-handler.d.ts +1 -0
  9. package/dist/types/cli/handlers/message-feedback-handler.d.ts +2 -0
  10. package/dist/types/cli/handlers/pet-handler.d.ts +1 -0
  11. package/dist/types/cli/handlers/workflow-handler.d.ts +0 -11
  12. package/dist/types/cli/memory-coordinator.d.ts +1 -0
  13. package/dist/types/cli/pet-runtime.d.ts +5 -0
  14. package/dist/types/cli/project-template-seeder.d.ts +2 -2
  15. package/dist/types/cli/runtime-hook-bootstrap.d.ts +1 -0
  16. package/dist/types/cli/skills-query-service.d.ts +6 -1
  17. package/dist/types/cli/stdio-agent-session-bootstrap.d.ts +1 -0
  18. package/dist/types/cli/tool-bootstrap-community-registration.d.ts +0 -6
  19. package/dist/types/cli/tool-bootstrap-core-registration.d.ts +1 -0
  20. package/dist/types/cli/tool-bootstrap.d.ts +1 -0
  21. package/dist/types/cli/turn-skill-autopersist.d.ts +0 -25
  22. package/dist/types/protocol/methods.d.ts +0 -201
  23. package/dist/types/protocol/wire/agent-methods.d.ts +10 -205
  24. package/dist/types/protocol/wire/notification-payloads.d.ts +7 -0
  25. package/dist/types/runtime/community/community-consent-client.d.ts +9 -186
  26. package/dist/types/runtime/community/community-discovery-coordinator.d.ts +1 -1
  27. package/dist/types/runtime/infra/default-path-service.d.ts +1 -1
  28. package/dist/types/runtime/infra/feedback-event-store.d.ts +19 -0
  29. package/dist/types/runtime/infra/feedback-upload-client.d.ts +1 -0
  30. package/dist/types/runtime/infra/project-data-paths.d.ts +5 -5
  31. package/dist/types/runtime/infra/skill-resolver.d.ts +4 -0
  32. package/dist/types/runtime/pet/daily-journey-summarizer.d.ts +25 -0
  33. package/dist/types/runtime/pet/index.d.ts +2 -1
  34. package/dist/types/runtime/pet/journey-catchup.d.ts +14 -0
  35. package/dist/types/runtime/pet/journey-day-aggregator.d.ts +27 -0
  36. package/dist/types/runtime/pet/journey-narrative-prompt.d.ts +8 -0
  37. package/dist/types/runtime/pet/pet-profile-service.d.ts +14 -1
  38. package/dist/types/runtime/ports/path-service.d.ts +1 -1
  39. package/dist/types/runtime/ports/tool-contracts.d.ts +1 -0
  40. package/dist/types/runtime/prompt/instruction-loader.d.ts +7 -7
  41. package/dist/types/skills/plugins/plugin-marketplace.d.ts +1 -1
  42. package/dist/types/skills/skill-system/skill-validation.d.ts +10 -0
  43. package/dist/types/skills/tools/community-seek-tool.d.ts +0 -33
  44. package/dist/types/skills/tools/instructions-tool.d.ts +2 -2
  45. package/dist/types/skills/tools/skill-tool.d.ts +1 -1
  46. package/dist/vendor/hatch-pet/LICENSE.txt +201 -201
  47. package/dist/vendor/hatch-pet/NOTICE.md +25 -25
  48. package/dist/vendor/hatch-pet/references/animation-rows.md +29 -29
  49. package/dist/vendor/hatch-pet/references/codex-pet-contract.md +35 -35
  50. package/dist/vendor/hatch-pet/references/qa-rubric.md +66 -66
  51. package/dist/vendor/hatch-pet/scripts/compose_atlas.py +169 -169
  52. package/dist/vendor/hatch-pet/scripts/derive_running_left_from_running_right.py +150 -150
  53. package/dist/vendor/hatch-pet/scripts/extract_strip_frames.py +408 -408
  54. package/dist/vendor/hatch-pet/scripts/inspect_frames.py +256 -256
  55. package/dist/vendor/hatch-pet/scripts/make_contact_sheet.py +96 -96
  56. package/dist/vendor/hatch-pet/scripts/prepare_pet_run.py +834 -834
  57. package/dist/vendor/hatch-pet/scripts/render_animation_previews.py +78 -78
  58. package/dist/vendor/hatch-pet/scripts/validate_atlas.py +157 -157
  59. package/package.json +1 -1
  60. package/dist/types/runtime/community/activity-event-emitter.d.ts +0 -31
  61. package/dist/types/runtime/community/activity-event.d.ts +0 -62
  62. package/dist/types/runtime/community/community-desensitization-red-team-cli.d.ts +0 -7
  63. package/dist/types/runtime/community/community-desensitization.d.ts +0 -29
  64. package/dist/types/runtime/community/community-pet-publisher.d.ts +0 -27
  65. package/dist/types/runtime/community/community-signal-reporter.d.ts +0 -19
  66. package/dist/types/runtime/community/community-telemetry-metadata.d.ts +0 -4
  67. package/dist/types/runtime/community/community-telemetry-recorder.d.ts +0 -6
  68. package/dist/types/runtime/community/community-telemetry-types.d.ts +0 -1
  69. package/dist/types/runtime/community/pet-activity-sink.d.ts +0 -36
  70. package/dist/types/runtime/community/pet-key.d.ts +0 -7
  71. package/dist/types/runtime/community/roaming-gate.d.ts +0 -19
  72. package/dist/types/runtime/community/social-emission.d.ts +0 -16
@@ -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()