qlogicagent 2.18.12 → 2.19.2
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/README.md +382 -382
- package/dist/agent-contract.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/default-project-knowledge/INSTRUCTIONS.md +7 -7
- package/dist/default-project-knowledge/rules/project-workflow.md +6 -6
- package/dist/host-contract.js +1 -1
- package/dist/host-session-collection-contract.js +1 -0
- package/dist/index.js +478 -505
- package/dist/pet-host.js +8 -8
- package/dist/project-memory-host.js +23 -23
- package/dist/protocol.js +1 -1
- package/dist/skills/builtin/desktop-screenshot/SKILL.md +62 -62
- package/dist/skills/builtin/office-doc-reading/SKILL.md +19 -19
- package/dist/types/cli/acp-commands.d.ts +1 -1
- package/dist/types/cli/acp-extended-handlers.d.ts +8 -8
- package/dist/types/cli/acp-extended-host-adapter.d.ts +0 -11
- package/dist/types/cli/acp-session-host.d.ts +2 -0
- package/dist/types/cli/core-tool-coordinator.d.ts +0 -9
- package/dist/types/cli/default-project-bootstrap.d.ts +2 -32
- package/dist/types/cli/handlers/session-handler.d.ts +0 -43
- package/dist/types/cli/handlers/solo-handler.d.ts +3 -14
- package/dist/types/cli/multi-agent-handler-host.d.ts +3 -16
- package/dist/types/cli/product-coordinator.d.ts +3 -14
- package/dist/types/cli/rpc-registry.d.ts +0 -2
- package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +4 -1
- package/dist/types/cli/stdio-server.d.ts +1 -2
- package/dist/types/host-contract/index.d.ts +112 -19
- package/dist/types/host-session-collection-contract.d.ts +61 -0
- package/dist/types/orchestration/agent-instance.d.ts +11 -14
- package/dist/types/orchestration/agent-roster.d.ts +8 -4
- package/dist/types/orchestration/delegate-bridge.d.ts +8 -0
- package/dist/types/orchestration/goal-mode-adapters.d.ts +3 -3
- package/dist/types/orchestration/product-persistence.d.ts +0 -4
- package/dist/types/orchestration/product-planner.d.ts +4 -6
- package/dist/types/orchestration/solo-evaluator.d.ts +2 -5
- package/dist/types/orchestration/testing/delegate-test-bridge.d.ts +2 -1
- package/dist/types/orchestration/testing/host-agent-provider-directory-fixture.d.ts +7 -0
- package/dist/types/orchestration/workflow/qla-executor-host.d.ts +1 -1
- package/dist/types/protocol/agent-contract.d.ts +50 -0
- package/dist/types/protocol/methods.d.ts +20 -38
- package/dist/types/protocol/notifications.d.ts +1 -1
- package/dist/types/protocol/wire/acp-agent-management.d.ts +2 -190
- package/dist/types/protocol/wire/acp-protocol.d.ts +3 -4
- package/dist/types/protocol/wire/agent-events.d.ts +1 -32
- package/dist/types/protocol/wire/agent-methods.d.ts +1 -243
- package/dist/types/protocol/wire/gateway-rpc.d.ts +343 -15
- package/dist/types/protocol/wire/index.d.ts +3 -3
- package/dist/types/protocol/wire/notification-payloads.d.ts +103 -126
- package/dist/types/runtime/infra/host-agent-provider-directory.d.ts +17 -0
- package/dist/types/runtime/infra/project-authority-facade.d.ts +1 -1
- package/dist/types/runtime/infra/project-data-paths.d.ts +2 -1
- package/dist/types/runtime/infra/project-host-authority.d.ts +3 -2
- package/dist/types/runtime/infra/project-store.d.ts +4 -39
- package/dist/types/runtime/session/session-catalog.d.ts +0 -12
- package/dist/types/runtime/session/session-persistence.d.ts +1 -1
- package/dist/types/runtime/session/session-resource-key.d.ts +1 -1
- package/dist/types/runtime/session/session-types.d.ts +0 -23
- package/dist/types/transport/acp-server.d.ts +2 -10
- package/dist/vendor/hatch-pet/LICENSE.txt +201 -201
- package/dist/vendor/hatch-pet/NOTICE.md +25 -25
- package/dist/vendor/hatch-pet/references/animation-rows.md +29 -29
- package/dist/vendor/hatch-pet/references/codex-pet-contract.md +35 -35
- package/dist/vendor/hatch-pet/references/qa-rubric.md +66 -66
- package/dist/vendor/hatch-pet/scripts/compose_atlas.py +169 -169
- package/dist/vendor/hatch-pet/scripts/derive_running_left_from_running_right.py +150 -150
- package/dist/vendor/hatch-pet/scripts/extract_strip_frames.py +408 -408
- package/dist/vendor/hatch-pet/scripts/inspect_frames.py +256 -256
- package/dist/vendor/hatch-pet/scripts/make_contact_sheet.py +96 -96
- package/dist/vendor/hatch-pet/scripts/prepare_pet_run.py +834 -834
- package/dist/vendor/hatch-pet/scripts/render_animation_previews.py +78 -78
- package/dist/vendor/hatch-pet/scripts/validate_atlas.py +157 -157
- package/dist/workflow-host.js +10 -10
- package/package.json +16 -1
- package/dist/types/cli/agent-config-coordinator.d.ts +0 -27
- package/dist/types/cli/agent-config-runtime.d.ts +0 -11
- package/dist/types/cli/agent-status-notifier.d.ts +0 -11
- package/dist/types/cli/handlers/agents-handler.d.ts +0 -121
- package/dist/types/cli/handlers/project-handler.d.ts +0 -36
- package/dist/types/cli/project-command-service.d.ts +0 -28
- package/dist/types/orchestration/delegation-coordinator.d.ts +0 -100
- package/dist/types/runtime/infra/acp-detector.d.ts +0 -271
- package/dist/types/runtime/infra/agent-config-store.d.ts +0 -30
- package/dist/types/runtime/infra/agent-install-runner.d.ts +0 -80
- package/dist/types/runtime/infra/external-agent-approvals.d.ts +0 -59
- package/dist/types/runtime/infra/migrate-device-scope.d.ts +0 -49
- package/dist/types/runtime/infra/project-data-gc.d.ts +0 -15
- package/dist/types/runtime/session/native/claude-session-source.d.ts +0 -23
- package/dist/types/runtime/session/native/codex-index.d.ts +0 -21
- package/dist/types/runtime/session/native/codex-session-source.d.ts +0 -31
- package/dist/types/runtime/session/native/cwd-normalize.d.ts +0 -53
- package/dist/types/runtime/session/native/ephemeral-rollout-sweep.d.ts +0 -13
- package/dist/types/runtime/session/native/native-cwd-agents.d.ts +0 -17
- package/dist/types/runtime/session/native/native-session-source.d.ts +0 -89
- package/dist/types/runtime/session/native/native-title.d.ts +0 -1
- package/dist/types/runtime/session/native/register-builtin-sources.d.ts +0 -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()
|