macro-agent 0.1.7 → 0.1.10
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/CLAUDE.md +179 -38
- package/README.md +781 -131
- package/dist/acp/claude-code-replay.d.ts +11 -0
- package/dist/acp/claude-code-replay.d.ts.map +1 -0
- package/dist/acp/claude-code-replay.js +190 -0
- package/dist/acp/claude-code-replay.js.map +1 -0
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +155 -6
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/types.d.ts +9 -0
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js.map +1 -1
- package/dist/agent/agent-manager-v2.d.ts +21 -0
- package/dist/agent/agent-manager-v2.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.js +234 -71
- package/dist/agent/agent-manager-v2.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +12 -0
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +15 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/boot-v2.d.ts +41 -0
- package/dist/boot-v2.d.ts.map +1 -1
- package/dist/boot-v2.js +34 -37
- package/dist/boot-v2.js.map +1 -1
- package/dist/cli/index.js +56 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
- package/dist/cognitive/macro-agent-backend.js +40 -22
- package/dist/cognitive/macro-agent-backend.js.map +1 -1
- package/dist/integrations/skilltree.d.ts.map +1 -1
- package/dist/integrations/skilltree.js +1 -0
- package/dist/integrations/skilltree.js.map +1 -1
- package/dist/lifecycle/cleanup.d.ts +33 -2
- package/dist/lifecycle/cleanup.d.ts.map +1 -1
- package/dist/lifecycle/cleanup.js +28 -6
- package/dist/lifecycle/cleanup.js.map +1 -1
- package/dist/lifecycle/handlers-v2.d.ts +7 -0
- package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
- package/dist/lifecycle/handlers-v2.js +28 -2
- package/dist/lifecycle/handlers-v2.js.map +1 -1
- package/dist/lifecycle/types.d.ts +11 -0
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/map/acp-bridge.d.ts +9 -0
- package/dist/map/acp-bridge.d.ts.map +1 -1
- package/dist/map/acp-bridge.js +15 -2
- package/dist/map/acp-bridge.js.map +1 -1
- package/dist/map/cascade-bridge.d.ts +44 -0
- package/dist/map/cascade-bridge.d.ts.map +1 -0
- package/dist/map/cascade-bridge.js +257 -0
- package/dist/map/cascade-bridge.js.map +1 -0
- package/dist/map/lifecycle-bridge.d.ts +1 -8
- package/dist/map/lifecycle-bridge.d.ts.map +1 -1
- package/dist/map/lifecycle-bridge.js +76 -22
- package/dist/map/lifecycle-bridge.js.map +1 -1
- package/dist/map/server.d.ts.map +1 -1
- package/dist/map/server.js +47 -6
- package/dist/map/server.js.map +1 -1
- package/dist/map/sidecar.d.ts.map +1 -1
- package/dist/map/sidecar.js +33 -4
- package/dist/map/sidecar.js.map +1 -1
- package/dist/map/types.d.ts +20 -0
- package/dist/map/types.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.js +8 -0
- package/dist/mcp/tools/done-v2.js.map +1 -1
- package/dist/teams/team-manager-v2.d.ts.map +1 -1
- package/dist/teams/team-manager-v2.js +26 -0
- package/dist/teams/team-manager-v2.js.map +1 -1
- package/dist/teams/team-runtime-v2.d.ts.map +1 -1
- package/dist/teams/team-runtime-v2.js +16 -3
- package/dist/teams/team-runtime-v2.js.map +1 -1
- package/dist/workspace/config.d.ts +10 -10
- package/dist/workspace/config.d.ts.map +1 -1
- package/dist/workspace/config.js +4 -4
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/git-cascade-adapter.d.ts +510 -0
- package/dist/workspace/git-cascade-adapter.d.ts.map +1 -0
- package/dist/workspace/git-cascade-adapter.js +908 -0
- package/dist/workspace/git-cascade-adapter.js.map +1 -0
- package/dist/workspace/index.d.ts +3 -3
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +4 -4
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/landing/direct-push.d.ts +20 -0
- package/dist/workspace/landing/direct-push.d.ts.map +1 -0
- package/dist/workspace/landing/direct-push.js +74 -0
- package/dist/workspace/landing/direct-push.js.map +1 -0
- package/dist/workspace/landing/index.d.ts +29 -0
- package/dist/workspace/landing/index.d.ts.map +1 -0
- package/dist/workspace/landing/index.js +37 -0
- package/dist/workspace/landing/index.js.map +1 -0
- package/dist/workspace/landing/merge-to-parent.d.ts +41 -0
- package/dist/workspace/landing/merge-to-parent.d.ts.map +1 -0
- package/dist/workspace/landing/merge-to-parent.js +185 -0
- package/dist/workspace/landing/merge-to-parent.js.map +1 -0
- package/dist/workspace/landing/optimistic-push.d.ts +16 -0
- package/dist/workspace/landing/optimistic-push.d.ts.map +1 -0
- package/dist/workspace/landing/optimistic-push.js +27 -0
- package/dist/workspace/landing/optimistic-push.js.map +1 -0
- package/dist/workspace/landing/queue-to-branch.d.ts +24 -0
- package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -0
- package/dist/workspace/landing/queue-to-branch.js +79 -0
- package/dist/workspace/landing/queue-to-branch.js.map +1 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts +10 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts.map +1 -1
- package/dist/workspace/merge-queue/merge-queue.js +10 -0
- package/dist/workspace/merge-queue/merge-queue.js.map +1 -1
- package/dist/workspace/merge-queue/types.d.ts +16 -2
- package/dist/workspace/merge-queue/types.d.ts.map +1 -1
- package/dist/workspace/merge-queue/types.js +9 -0
- package/dist/workspace/merge-queue/types.js.map +1 -1
- package/dist/workspace/pool/types.d.ts +1 -0
- package/dist/workspace/pool/types.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.js +1 -0
- package/dist/workspace/pool/worktree-pool.js.map +1 -1
- package/dist/workspace/recovery/abandon.d.ts +15 -0
- package/dist/workspace/recovery/abandon.d.ts.map +1 -0
- package/dist/workspace/recovery/abandon.js +45 -0
- package/dist/workspace/recovery/abandon.js.map +1 -0
- package/dist/workspace/recovery/auto-resolve.d.ts +27 -0
- package/dist/workspace/recovery/auto-resolve.d.ts.map +1 -0
- package/dist/workspace/recovery/auto-resolve.js +99 -0
- package/dist/workspace/recovery/auto-resolve.js.map +1 -0
- package/dist/workspace/recovery/defer.d.ts +15 -0
- package/dist/workspace/recovery/defer.d.ts.map +1 -0
- package/dist/workspace/recovery/defer.js +16 -0
- package/dist/workspace/recovery/defer.js.map +1 -0
- package/dist/workspace/recovery/escalate.d.ts +16 -0
- package/dist/workspace/recovery/escalate.d.ts.map +1 -0
- package/dist/workspace/recovery/escalate.js +24 -0
- package/dist/workspace/recovery/escalate.js.map +1 -0
- package/dist/workspace/recovery/index.d.ts +32 -0
- package/dist/workspace/recovery/index.d.ts.map +1 -0
- package/dist/workspace/recovery/index.js +45 -0
- package/dist/workspace/recovery/index.js.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts +45 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.js +111 -0
- package/dist/workspace/recovery/spawn-resolver.js.map +1 -0
- package/dist/workspace/recovery/types.d.ts +63 -0
- package/dist/workspace/recovery/types.d.ts.map +1 -0
- package/dist/workspace/recovery/types.js +12 -0
- package/dist/workspace/recovery/types.js.map +1 -0
- package/dist/workspace/topology/index.d.ts +9 -0
- package/dist/workspace/topology/index.d.ts.map +1 -0
- package/dist/workspace/topology/index.js +8 -0
- package/dist/workspace/topology/index.js.map +1 -0
- package/dist/workspace/topology/no-workspace.d.ts +18 -0
- package/dist/workspace/topology/no-workspace.d.ts.map +1 -0
- package/dist/workspace/topology/no-workspace.js +25 -0
- package/dist/workspace/topology/no-workspace.js.map +1 -0
- package/dist/workspace/topology/types.d.ts +97 -0
- package/dist/workspace/topology/types.d.ts.map +1 -0
- package/dist/workspace/topology/types.js +20 -0
- package/dist/workspace/topology/types.js.map +1 -0
- package/dist/workspace/topology/yaml-driven.d.ts +69 -0
- package/dist/workspace/topology/yaml-driven.d.ts.map +1 -0
- package/dist/workspace/topology/yaml-driven.js +273 -0
- package/dist/workspace/topology/yaml-driven.js.map +1 -0
- package/dist/workspace/types-v3.d.ts +110 -0
- package/dist/workspace/types-v3.d.ts.map +1 -0
- package/dist/workspace/types-v3.js +20 -0
- package/dist/workspace/types-v3.js.map +1 -0
- package/dist/workspace/types.d.ts +145 -17
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.d.ts +92 -13
- package/dist/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.js +373 -13
- package/dist/workspace/workspace-manager.js.map +1 -1
- package/dist/workspace/yaml-schema.d.ts +254 -0
- package/dist/workspace/yaml-schema.d.ts.map +1 -0
- package/dist/workspace/yaml-schema.js +170 -0
- package/dist/workspace/yaml-schema.js.map +1 -0
- package/docs/conflict-recovery.md +472 -0
- package/docs/git-cascade-integration-gaps.md +678 -0
- package/docs/workspace-interfaces.md +731 -0
- package/docs/workspace-redesign-plan.md +302 -0
- package/package.json +4 -4
- package/src/__tests__/e2e/auto-sync.e2e.test.ts +257 -0
- package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +254 -0
- package/src/__tests__/e2e/cli-run.e2e.test.ts +167 -0
- package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +197 -0
- package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +200 -0
- package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +30 -22
- package/src/__tests__/e2e/workspace-v3.e2e.test.ts +413 -0
- package/src/acp/__tests__/claude-code-replay.test.ts +225 -0
- package/src/acp/__tests__/macro-agent.test.ts +39 -1
- package/src/acp/claude-code-replay.ts +208 -0
- package/src/acp/macro-agent.ts +167 -9
- package/src/acp/types.ts +10 -0
- package/src/agent/__tests__/agent-manager-topology.test.ts +73 -0
- package/src/agent/__tests__/agent-manager-v2.test.ts +71 -11
- package/src/agent/__tests__/task-ref-resolution.test.ts +231 -0
- package/src/agent/agent-manager-v2.ts +293 -77
- package/src/agent/agent-manager.ts +14 -0
- package/src/agent/types.ts +16 -2
- package/src/boot-v2.ts +87 -36
- package/src/cli/index.ts +61 -0
- package/src/cognitive/__tests__/macro-agent-backend.test.ts +47 -5
- package/src/cognitive/macro-agent-backend.ts +45 -29
- package/src/integrations/skilltree.ts +1 -0
- package/src/lifecycle/cleanup.ts +52 -3
- package/src/lifecycle/handlers-v2.ts +40 -3
- package/src/lifecycle/types.ts +12 -0
- package/src/map/__tests__/cascade-bridge.test.ts +229 -0
- package/src/map/__tests__/lifecycle-bridge.test.ts +165 -22
- package/src/map/acp-bridge.ts +26 -3
- package/src/map/cascade-bridge.ts +301 -0
- package/src/map/lifecycle-bridge.ts +77 -27
- package/src/map/server.ts +47 -6
- package/src/map/sidecar.ts +31 -3
- package/src/map/types.ts +20 -0
- package/src/mcp/tools/done-v2.ts +9 -0
- package/src/teams/team-manager-v2.ts +37 -0
- package/src/teams/team-runtime-v2.ts +23 -3
- package/src/workspace/__tests__/{dataplane-adapter.test.ts → git-cascade-adapter.test.ts} +209 -14
- package/src/workspace/__tests__/self-driving-yaml.test.ts +114 -0
- package/src/workspace/__tests__/shared-worktree-refcount.test.ts +154 -0
- package/src/workspace/__tests__/standalone-mode.test.ts +118 -0
- package/src/workspace/__tests__/workspace-manager-v3.test.ts +245 -0
- package/src/workspace/__tests__/yaml-schema.test.ts +210 -0
- package/src/workspace/config.ts +11 -11
- package/src/workspace/git-cascade-adapter.ts +1186 -0
- package/src/workspace/index.ts +11 -11
- package/src/workspace/landing/__tests__/strategies.test.ts +142 -0
- package/src/workspace/landing/direct-push.ts +91 -0
- package/src/workspace/landing/index.ts +40 -0
- package/src/workspace/landing/merge-to-parent.ts +228 -0
- package/src/workspace/landing/optimistic-push.ts +36 -0
- package/src/workspace/landing/queue-to-branch.ts +108 -0
- package/src/workspace/merge-queue/merge-queue.ts +10 -0
- package/src/workspace/merge-queue/types.ts +16 -2
- package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +5 -5
- package/src/workspace/pool/types.ts +1 -0
- package/src/workspace/pool/worktree-pool.ts +1 -0
- package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +127 -0
- package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +139 -0
- package/src/workspace/recovery/__tests__/strategies.test.ts +145 -0
- package/src/workspace/recovery/abandon.ts +51 -0
- package/src/workspace/recovery/auto-resolve.ts +119 -0
- package/src/workspace/recovery/defer.ts +23 -0
- package/src/workspace/recovery/escalate.ts +30 -0
- package/src/workspace/recovery/index.ts +58 -0
- package/src/workspace/recovery/spawn-resolver.ts +145 -0
- package/src/workspace/recovery/types.ts +54 -0
- package/src/workspace/topology/__tests__/yaml-driven.test.ts +345 -0
- package/src/workspace/topology/index.ts +18 -0
- package/src/workspace/topology/no-workspace.ts +39 -0
- package/src/workspace/topology/types.ts +116 -0
- package/src/workspace/topology/yaml-driven.ts +316 -0
- package/src/workspace/types-v3.ts +155 -0
- package/src/workspace/types.ts +191 -20
- package/src/workspace/workspace-manager.ts +474 -19
- package/src/workspace/yaml-schema.ts +216 -0
- package/src/workspace/dataplane-adapter.ts +0 -546
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SessionUpdate } from "@agentclientprotocol/sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Read Claude Code's JSONL transcript for a session and yield ACP SessionUpdate
|
|
4
|
+
* events suitable for emitting via `connection.sessionUpdate({ sessionId, update })`.
|
|
5
|
+
*
|
|
6
|
+
* Yields events in chronological order. Returns early (yields nothing) if the
|
|
7
|
+
* transcript file doesn't exist — e.g., the agent is running on a different
|
|
8
|
+
* machine.
|
|
9
|
+
*/
|
|
10
|
+
export declare function replayClaudeCodeTranscript(providerSessionId: string): AsyncGenerator<SessionUpdate>;
|
|
11
|
+
//# sourceMappingURL=claude-code-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-replay.d.ts","sourceRoot":"","sources":["../../src/acp/claude-code-replay.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAwH9D;;;;;;;GAOG;AACH,wBAAuB,0BAA0B,CAC/C,iBAAiB,EAAE,MAAM,GACxB,cAAc,CAAC,aAAa,CAAC,CAsD/B"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code JSONL → ACP SessionUpdate replay
|
|
3
|
+
*
|
|
4
|
+
* Works around a gap in claude-code-acp where `loadSession` does NOT emit
|
|
5
|
+
* `session/update` notifications for historical conversation content — it only
|
|
6
|
+
* tells the Claude Code subprocess to restore context internally. That means
|
|
7
|
+
* clients (like OpenHive) calling ACP's `session/load` get back an empty
|
|
8
|
+
* session.
|
|
9
|
+
*
|
|
10
|
+
* Per the ACP spec (https://agentclientprotocol.com/protocol/session-setup#loading-sessions),
|
|
11
|
+
* loadSession SHOULD stream the conversation history back via session/update
|
|
12
|
+
* notifications. This module reads Claude Code's native JSONL transcript (which
|
|
13
|
+
* Claude Code always persists, no hooks required) and converts each entry to
|
|
14
|
+
* ACP SessionUpdate events so the client can reconstruct the conversation.
|
|
15
|
+
*
|
|
16
|
+
* TODO(upstream): fix claude-code-acp so this workaround becomes unnecessary.
|
|
17
|
+
* See node_modules/@sudocode-ai/claude-code-acp/dist/acp-agent.js:344-353.
|
|
18
|
+
*
|
|
19
|
+
* @module acp/claude-code-replay
|
|
20
|
+
*/
|
|
21
|
+
import * as fs from "node:fs/promises";
|
|
22
|
+
import * as path from "node:path";
|
|
23
|
+
import * as os from "node:os";
|
|
24
|
+
/**
|
|
25
|
+
* Locate Claude Code's JSONL transcript for the given session.
|
|
26
|
+
*
|
|
27
|
+
* Claude Code writes transcripts to `~/.claude/projects/{encoded-cwd}/{session-id}.jsonl`.
|
|
28
|
+
* The cwd encoding replaces `/` with `-` (e.g., `/tmp/x` → `-private-tmp-x` on macOS
|
|
29
|
+
* where /tmp is a symlink). Rather than replicating the encoding exactly, we scan
|
|
30
|
+
* project directories for a file matching the session ID — the ID is a UUID so
|
|
31
|
+
* collisions are not a concern.
|
|
32
|
+
*/
|
|
33
|
+
async function locateTranscript(providerSessionId) {
|
|
34
|
+
const projectsRoot = path.join(os.homedir(), ".claude", "projects");
|
|
35
|
+
let dirents;
|
|
36
|
+
try {
|
|
37
|
+
// @ts-expect-error — withFileTypes overload returns Dirent[]
|
|
38
|
+
dirents = await fs.readdir(projectsRoot, { withFileTypes: true });
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
for (const d of dirents) {
|
|
44
|
+
if (!d.isDirectory())
|
|
45
|
+
continue;
|
|
46
|
+
const candidate = path.join(projectsRoot, d.name, `${providerSessionId}.jsonl`);
|
|
47
|
+
try {
|
|
48
|
+
await fs.access(candidate);
|
|
49
|
+
return candidate;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Not in this dir — keep scanning
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert a user message content block into an ACP SessionUpdate.
|
|
59
|
+
*/
|
|
60
|
+
function userBlockToUpdate(block) {
|
|
61
|
+
if (block.type === "text" && block.text) {
|
|
62
|
+
return {
|
|
63
|
+
sessionUpdate: "user_message_chunk",
|
|
64
|
+
content: { type: "text", text: block.text },
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (block.type === "tool_result") {
|
|
68
|
+
const output = typeof block.content === "string"
|
|
69
|
+
? block.content
|
|
70
|
+
: JSON.stringify(block.content);
|
|
71
|
+
return {
|
|
72
|
+
sessionUpdate: "tool_call_update",
|
|
73
|
+
toolCallId: block.tool_use_id,
|
|
74
|
+
output,
|
|
75
|
+
status: block.is_error ? "failed" : "completed",
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Convert an assistant message content block into an ACP SessionUpdate.
|
|
82
|
+
*/
|
|
83
|
+
function assistantBlockToUpdate(block) {
|
|
84
|
+
if (block.type === "text" && block.text) {
|
|
85
|
+
return {
|
|
86
|
+
sessionUpdate: "agent_message_chunk",
|
|
87
|
+
content: { type: "text", text: block.text },
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (block.type === "tool_use") {
|
|
91
|
+
return {
|
|
92
|
+
sessionUpdate: "tool_call",
|
|
93
|
+
toolCallId: block.id,
|
|
94
|
+
title: block.name,
|
|
95
|
+
rawInput: block.input,
|
|
96
|
+
status: "pending",
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (block.type === "thinking") {
|
|
100
|
+
const text = block.thinking ?? block.text ?? "";
|
|
101
|
+
if (!text)
|
|
102
|
+
return null;
|
|
103
|
+
return {
|
|
104
|
+
sessionUpdate: "agent_thought_chunk",
|
|
105
|
+
content: { type: "text", text },
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if a string user-message looks like a Claude Code internal command
|
|
112
|
+
* (e.g., `<command-name>/model</command-name>`, `<local-command-stdout>...`).
|
|
113
|
+
* These get recorded in the JSONL but aren't part of the conversation UX.
|
|
114
|
+
*/
|
|
115
|
+
function isInternalCommand(text) {
|
|
116
|
+
const t = text.trimStart();
|
|
117
|
+
return (t.startsWith("<command-") ||
|
|
118
|
+
t.startsWith("<local-command-") ||
|
|
119
|
+
t.startsWith("<system-reminder") ||
|
|
120
|
+
t.startsWith("Caveat:"));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Read Claude Code's JSONL transcript for a session and yield ACP SessionUpdate
|
|
124
|
+
* events suitable for emitting via `connection.sessionUpdate({ sessionId, update })`.
|
|
125
|
+
*
|
|
126
|
+
* Yields events in chronological order. Returns early (yields nothing) if the
|
|
127
|
+
* transcript file doesn't exist — e.g., the agent is running on a different
|
|
128
|
+
* machine.
|
|
129
|
+
*/
|
|
130
|
+
export async function* replayClaudeCodeTranscript(providerSessionId) {
|
|
131
|
+
const jsonlPath = await locateTranscript(providerSessionId);
|
|
132
|
+
if (!jsonlPath)
|
|
133
|
+
return;
|
|
134
|
+
let raw;
|
|
135
|
+
try {
|
|
136
|
+
raw = await fs.readFile(jsonlPath, "utf-8");
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
for (const line of raw.split("\n")) {
|
|
142
|
+
const trimmed = line.trim();
|
|
143
|
+
if (!trimmed)
|
|
144
|
+
continue;
|
|
145
|
+
let entry;
|
|
146
|
+
try {
|
|
147
|
+
entry = JSON.parse(trimmed);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
// Skip non-conversation entries (queue-operations, summaries, etc.)
|
|
153
|
+
if (entry.type !== "user" && entry.type !== "assistant")
|
|
154
|
+
continue;
|
|
155
|
+
// Skip meta messages (local command output, system injections)
|
|
156
|
+
if (entry.isMeta)
|
|
157
|
+
continue;
|
|
158
|
+
const message = entry.message;
|
|
159
|
+
if (!message)
|
|
160
|
+
continue;
|
|
161
|
+
const content = message.content;
|
|
162
|
+
if (entry.type === "user") {
|
|
163
|
+
if (typeof content === "string") {
|
|
164
|
+
if (isInternalCommand(content))
|
|
165
|
+
continue;
|
|
166
|
+
yield {
|
|
167
|
+
sessionUpdate: "user_message_chunk",
|
|
168
|
+
content: { type: "text", text: content },
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
else if (Array.isArray(content)) {
|
|
172
|
+
for (const block of content) {
|
|
173
|
+
const upd = userBlockToUpdate(block);
|
|
174
|
+
if (upd)
|
|
175
|
+
yield upd;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else if (entry.type === "assistant") {
|
|
180
|
+
if (Array.isArray(content)) {
|
|
181
|
+
for (const block of content) {
|
|
182
|
+
const upd = assistantBlockToUpdate(block);
|
|
183
|
+
if (upd)
|
|
184
|
+
yield upd;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=claude-code-replay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-replay.js","sourceRoot":"","sources":["../../src/acp/claude-code-replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,
|
|
1
|
+
{"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CA+zBV;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/acp/macro-agent.js
CHANGED
|
@@ -93,6 +93,20 @@ export function createMacroAgent(connection, config) {
|
|
|
93
93
|
let checkpointCounter = 0;
|
|
94
94
|
let firstPrompt = null;
|
|
95
95
|
const sessionStartedAt = new Date().toISOString();
|
|
96
|
+
// Per-session update history for ACP session/load replay.
|
|
97
|
+
// Per the ACP spec, loadSession should re-emit all session/update notifications
|
|
98
|
+
// previously sent so the client can reconstruct state. We buffer them here
|
|
99
|
+
// keyed by ACP session ID.
|
|
100
|
+
const sessionUpdateHistory = new Map();
|
|
101
|
+
function appendSessionUpdate(acpSessionId, update) {
|
|
102
|
+
const arr = sessionUpdateHistory.get(acpSessionId);
|
|
103
|
+
if (arr) {
|
|
104
|
+
arr.push(update);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
sessionUpdateHistory.set(acpSessionId, [update]);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
96
110
|
// Git info (cached — read once per session)
|
|
97
111
|
let gitInfo = null;
|
|
98
112
|
function getGitInfo(cwd) {
|
|
@@ -289,15 +303,38 @@ export function createMacroAgent(connection, config) {
|
|
|
289
303
|
},
|
|
290
304
|
async newSession(params) {
|
|
291
305
|
const cwd = params.cwd ?? defaultCwd;
|
|
292
|
-
//
|
|
293
|
-
|
|
306
|
+
// Two paths into newSession:
|
|
307
|
+
//
|
|
308
|
+
// 1. MAP-bound stream — initConfig.targetAgentId is set by the ACP
|
|
309
|
+
// bridge to the local agent ID this stream was opened against.
|
|
310
|
+
// Bind the session to that specific agent (any role), preserving
|
|
311
|
+
// the routing intent that brought the stream here. This matters
|
|
312
|
+
// when multiple coordinators share a cwd: cwd-based lookup would
|
|
313
|
+
// pick whichever the store returned first, which may not be the
|
|
314
|
+
// one the client actually wanted to talk to.
|
|
315
|
+
//
|
|
316
|
+
// 2. Fallback — pure ACP client with no agent context. Use
|
|
317
|
+
// cwd-based head-manager lookup (spawning one if needed). This
|
|
318
|
+
// keeps stock ACP clients working without protocol changes.
|
|
319
|
+
let target;
|
|
320
|
+
if (initConfig?.targetAgentId) {
|
|
321
|
+
const bound = agentManager.getActiveAgentSession(initConfig.targetAgentId);
|
|
322
|
+
if (!bound) {
|
|
323
|
+
throw new ACPError(`Agent ${initConfig.targetAgentId} is not running or has no active session`, "AGENT_NOT_FOUND", { agentId: initConfig.targetAgentId });
|
|
324
|
+
}
|
|
325
|
+
target = { id: bound.id, session_id: bound.session_id };
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
const headManager = await agentManager.getOrCreateHeadManager({ cwd });
|
|
329
|
+
target = { id: headManager.id, session_id: headManager.session_id };
|
|
330
|
+
}
|
|
294
331
|
// Create session mapping
|
|
295
|
-
const mapping = sessionMapper.createMapping(
|
|
332
|
+
const mapping = sessionMapper.createMapping(target.session_id, target.id);
|
|
296
333
|
// Annotate sessionlog with swarm metadata (best effort)
|
|
297
334
|
try {
|
|
298
335
|
const { annotateSession } = await import("../integrations/sessionlog.js");
|
|
299
336
|
annotateSession(cwd, {
|
|
300
|
-
swarmId:
|
|
337
|
+
swarmId: target.id,
|
|
301
338
|
scope: "macro-agent",
|
|
302
339
|
});
|
|
303
340
|
}
|
|
@@ -310,9 +347,90 @@ export function createMacroAgent(connection, config) {
|
|
|
310
347
|
},
|
|
311
348
|
async loadSession(params) {
|
|
312
349
|
const sessionId = params.sessionId;
|
|
350
|
+
/**
|
|
351
|
+
* Resolve the provider_session_id (Claude Code's UUID for the session)
|
|
352
|
+
* for a given macro-agent acp session. Needed to locate the JSONL
|
|
353
|
+
* transcript on disk as a fallback when the in-memory buffer is empty.
|
|
354
|
+
*/
|
|
355
|
+
const resolveProviderSessionId = (agentId) => {
|
|
356
|
+
const store = system.agentStore;
|
|
357
|
+
const rec = store?.getAgent?.(agentId);
|
|
358
|
+
const meta = rec?.metadata;
|
|
359
|
+
const psid = meta?.provider_session_id;
|
|
360
|
+
return typeof psid === "string" ? psid : undefined;
|
|
361
|
+
};
|
|
362
|
+
// Replay helper: re-emit session/update notifications so the client can
|
|
363
|
+
// rebuild its view of the conversation. Per the ACP spec, loadSession
|
|
364
|
+
// SHOULD emit all previously-sent session/update events.
|
|
365
|
+
//
|
|
366
|
+
// Two sources in priority order:
|
|
367
|
+
// 1. In-memory buffer (populated by prior prompts in this process).
|
|
368
|
+
// Fast and accurate — exactly what was streamed to the client.
|
|
369
|
+
// 2. Claude Code's JSONL transcript on disk (durable across restarts).
|
|
370
|
+
// Used when the buffer is empty — e.g., we got a loadSession for a
|
|
371
|
+
// session that was prompted but whose updates were never buffered,
|
|
372
|
+
// or after a process restart within the same session's lifetime.
|
|
373
|
+
//
|
|
374
|
+
// This is a workaround: the ACP spec expects the underlying agent
|
|
375
|
+
// (claude-code-acp) to emit session/update during loadSession, but its
|
|
376
|
+
// current implementation only passes `resume: sessionId` to Claude Code
|
|
377
|
+
// SDK for internal context restoration without surfacing history to the
|
|
378
|
+
// client. See claude-code-replay.ts for details.
|
|
379
|
+
const replayHistory = async (agentIdForLookup, explicitProviderSessionId) => {
|
|
380
|
+
const buffered = sessionUpdateHistory.get(sessionId);
|
|
381
|
+
if (buffered && buffered.length > 0) {
|
|
382
|
+
for (const update of buffered) {
|
|
383
|
+
try {
|
|
384
|
+
await connection.sessionUpdate({ sessionId, update });
|
|
385
|
+
}
|
|
386
|
+
catch {
|
|
387
|
+
// Best effort — continue replaying remaining updates
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
// Buffer empty — fall back to Claude Code JSONL if we can locate it.
|
|
393
|
+
// Provider session ID resolution priority:
|
|
394
|
+
// 1. Explicit — passed via ACP LoadSessionRequest._meta.provider_session_id
|
|
395
|
+
// (survives macro-agent restart since it comes from the client)
|
|
396
|
+
// 2. From agent metadata — when sessionMapper still has the mapping
|
|
397
|
+
const providerSessionId = explicitProviderSessionId ??
|
|
398
|
+
(agentIdForLookup ? resolveProviderSessionId(agentIdForLookup) : undefined);
|
|
399
|
+
if (!providerSessionId)
|
|
400
|
+
return;
|
|
401
|
+
try {
|
|
402
|
+
const { replayClaudeCodeTranscript } = await import("./claude-code-replay.js");
|
|
403
|
+
const bufferForFuture = [];
|
|
404
|
+
for await (const update of replayClaudeCodeTranscript(providerSessionId)) {
|
|
405
|
+
try {
|
|
406
|
+
await connection.sessionUpdate({ sessionId, update });
|
|
407
|
+
bufferForFuture.push(update);
|
|
408
|
+
}
|
|
409
|
+
catch {
|
|
410
|
+
// Best effort — continue
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
// Populate the in-memory buffer so subsequent loadSession calls use
|
|
414
|
+
// the fast path. Only if we actually read something.
|
|
415
|
+
if (bufferForFuture.length > 0) {
|
|
416
|
+
sessionUpdateHistory.set(sessionId, bufferForFuture);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
catch {
|
|
420
|
+
// Transcript read failed — no history to emit
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
// Extract optional provider_session_id from ACP LoadSessionRequest._meta.
|
|
424
|
+
// Clients (like OpenHive) that know the underlying Claude Code session ID
|
|
425
|
+
// can pass it here to enable history recovery across macro-agent restarts
|
|
426
|
+
// (when sessionMapper is empty because it's in-memory only).
|
|
427
|
+
const metaProviderSessionId = typeof params._meta?.provider_session_id === "string"
|
|
428
|
+
? params._meta.provider_session_id
|
|
429
|
+
: undefined;
|
|
313
430
|
// Check if we already have a mapping for this session
|
|
314
431
|
let mapping = sessionMapper.getMapping(sessionId);
|
|
315
432
|
if (mapping) {
|
|
433
|
+
await replayHistory(mapping.agentId, metaProviderSessionId);
|
|
316
434
|
return {};
|
|
317
435
|
}
|
|
318
436
|
// Try to resume the agent associated with this session
|
|
@@ -321,6 +439,16 @@ export function createMacroAgent(connection, config) {
|
|
|
321
439
|
if (agent) {
|
|
322
440
|
const resumed = await agentManager.resume(sessionId);
|
|
323
441
|
mapping = sessionMapper.createMapping(resumed.session_id, resumed.id);
|
|
442
|
+
await replayHistory(resumed.id, metaProviderSessionId);
|
|
443
|
+
return {};
|
|
444
|
+
}
|
|
445
|
+
// No mapping — but if the client supplied provider_session_id via _meta,
|
|
446
|
+
// we can still replay history from the JSONL on disk. This is the
|
|
447
|
+
// cross-restart recovery path. We don't create a session mapping because
|
|
448
|
+
// there's no live agent to bind to — the client should create a fresh
|
|
449
|
+
// session if it wants to continue the conversation.
|
|
450
|
+
if (metaProviderSessionId) {
|
|
451
|
+
await replayHistory(undefined, metaProviderSessionId);
|
|
324
452
|
return {};
|
|
325
453
|
}
|
|
326
454
|
throw RequestError.invalidParams({ sessionId }, `Session not found: ${sessionId}`);
|
|
@@ -340,6 +468,19 @@ export function createMacroAgent(connection, config) {
|
|
|
340
468
|
}
|
|
341
469
|
}
|
|
342
470
|
const message = textParts.join("\n") || "";
|
|
471
|
+
// Record the user prompt as a user_message_chunk update in the replay
|
|
472
|
+
// buffer so session/load can reconstruct the full conversation. The
|
|
473
|
+
// agent itself doesn't emit this — the client sent it — but it IS part
|
|
474
|
+
// of the session's logical state.
|
|
475
|
+
for (const block of params.prompt) {
|
|
476
|
+
if ("text" in block && typeof block.text === "string" && block.text) {
|
|
477
|
+
const userChunk = {
|
|
478
|
+
sessionUpdate: "user_message_chunk",
|
|
479
|
+
content: { type: "text", text: block.text },
|
|
480
|
+
};
|
|
481
|
+
appendSessionUpdate(params.sessionId, userChunk);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
343
484
|
sessionMapper.setProcessing(params.sessionId, true);
|
|
344
485
|
// Capture first prompt for trajectory metadata (used as session description in OpenHive UI)
|
|
345
486
|
if (!firstPrompt) {
|
|
@@ -355,7 +496,7 @@ export function createMacroAgent(connection, config) {
|
|
|
355
496
|
const mapServer = system.mapServerInstance;
|
|
356
497
|
if (mapServer) {
|
|
357
498
|
const agents = mapServer.agents?.list?.() ?? [];
|
|
358
|
-
const mapAgent = agents.find((a) => a.metadata?.
|
|
499
|
+
const mapAgent = agents.find((a) => a.metadata?.peerAgentId === agentId);
|
|
359
500
|
if (mapAgent) {
|
|
360
501
|
mapServer.agents.updateState(mapAgent.id, "busy");
|
|
361
502
|
}
|
|
@@ -555,6 +696,10 @@ export function createMacroAgent(connection, config) {
|
|
|
555
696
|
sessionId: params.sessionId,
|
|
556
697
|
update,
|
|
557
698
|
};
|
|
699
|
+
// Buffer for replay on session/load. Per the ACP spec, loadSession
|
|
700
|
+
// should re-emit all previously sent session/update notifications
|
|
701
|
+
// so the client can reconstruct state after reconnect.
|
|
702
|
+
appendSessionUpdate(params.sessionId, update);
|
|
558
703
|
await connection.sessionUpdate(notification);
|
|
559
704
|
}
|
|
560
705
|
}
|
|
@@ -590,6 +735,10 @@ export function createMacroAgent(connection, config) {
|
|
|
590
735
|
phase: "active",
|
|
591
736
|
startedAt: sessionStartedAt,
|
|
592
737
|
label: `Step ${checkpointCounter} (${toolCallCount} tool calls)`,
|
|
738
|
+
// Underlying Claude Code session ID — lets OpenHive find the
|
|
739
|
+
// JSONL transcript on disk for history recovery even if the
|
|
740
|
+
// macro-agent process dies.
|
|
741
|
+
provider_session_id: agentRecord?.metadata?.provider_session_id ?? undefined,
|
|
593
742
|
// metrics fields
|
|
594
743
|
...(isMetrics ? {
|
|
595
744
|
duration_ms: Date.now() - promptStartTime,
|
|
@@ -632,7 +781,7 @@ export function createMacroAgent(connection, config) {
|
|
|
632
781
|
const mapServer = system.mapServerInstance;
|
|
633
782
|
if (mapServer) {
|
|
634
783
|
const agents = mapServer.agents?.list?.() ?? [];
|
|
635
|
-
const mapAgent = agents.find((a) => a.metadata?.
|
|
784
|
+
const mapAgent = agents.find((a) => a.metadata?.peerAgentId === agentId);
|
|
636
785
|
if (mapAgent) {
|
|
637
786
|
mapServer.agents.updateState(mapAgent.id, "idle");
|
|
638
787
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAW9C,oEAAoE;AACpE,yBAAyB;AACzB,oEAAoE;AAEpE,MAAM,oBAAoB,GAAG;IAC3B,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,4BAA4B;IAC5B,yBAAyB;IACzB,0BAA0B;CAClB,CAAC;AAEX,MAAM,uBAAuB,GAAG;IAC9B,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;CACtB,CAAC;AAKX,oEAAoE;AACpE,cAAc;AACd,oEAAoE;AAEpE,sDAAsD;AACtD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,WAAW;IACX,kBAAkB;IAClB,MAAM;IACN,2BAA2B;IAC3B,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,kBAAkB,CACzB,MAA6B;IAE7B,OAAO,CACL,eAAe,IAAI,MAAM;QACzB,wBAAwB,CAAC,GAAG,CACzB,MAAoC,CAAC,aAAa,CACpD,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAChC,MAA6B;IAE7B,OAAO,CACL,eAAe,IAAI,MAAM;QACxB,MAAoC,CAAC,aAAa,KAAK,oBAAoB,CAC7E,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,UAAU;AACV,oEAAoE;AAEpE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA+B,EAC/B,MAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3D,4CAA4C;IAC5C,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElD,0DAA0D;IAC1D,gFAAgF;IAChF,2EAA2E;IAC3E,2BAA2B;IAC3B,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChE,SAAS,mBAAmB,CAAC,YAAoB,EAAE,MAAqB;QACtE,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,GAA0F,IAAI,CAAC;IAC1G,SAAS,UAAU,CAAC,GAAW;QAC7B,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YAC7G,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YACpG,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,CAAC;gBACH,SAAS,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YACtG,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gEAAgE;IAEhE,SAAS,iBAAiB,CAAC,SAAiB;QAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,YAAY,CAAC,aAAa,CAC9B,EAAE,SAAS,EAAE,EACb,sBAAsB,SAAS,EAAE,CAClC,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+DAA+D;IAE/D,KAAK,UAAU,eAAe,CAC5B,MAAc,EACd,MAA+B;QAE/B,sCAAsC;QACtC,IACG,uBAA6C,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/D,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,+BAA+B,MAAM,EAAE,EACvC,iBAAiB,EACjB,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QAED,QAAQ,MAA4B,EAAE,CAAC;YACrC,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAc,CAAC;gBACnC,IAAI,CAAC,IAAI;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;oBACvC,IAAI;oBACJ,MAAM,EAAE,MAAM,CAAC,MAA4B;oBAC3C,GAAG,EAAG,MAAM,CAAC,GAAc,IAAI,UAAU;oBACzC,IAAI,EAAE,MAAM,CAAC,IAA0B;oBACvC,cAAc,EAAE,MAAM,CAAC,cAA4C;iBACpE,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,EAAE;oBACnB,SAAS,EAAE,OAAO,CAAC,UAAU;oBAC7B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;oBACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;iBAC3B,CAAC;YACJ,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE;oBACnD,KAAK,EAAE,MAAM,CAAC,KAA2B;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAA6B,CAAC;YACrE,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;gBACvC,IAAI,CAAC,MAAM;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;gBAC5E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,EAAE,IAAI,EAA6B,CAAC;YAC7C,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,YAAY,CAAC,aAAa,CAC9B,MAAM,EACN,oCAAoC,CACrC,CAAC;gBACJ,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,QAAQ,CAChB,oBAAoB,OAAO,EAAE,EAC7B,iBAAiB,EACjB,EAAE,OAAO,EAAE,CACZ,CAAC;gBACJ,CAAC;gBAED,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,eAAe,EAAE,eAAe,IAAI,IAAI;iBACzC,CAAC;YACJ,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAuB,CAAC;gBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,aAAa,EAAE;wBACzD,IAAI,EAAE,MAAM,CAAC,IAA0B;wBACvC,MAAM,EAAE,MAAM,CAAC,MAA4B;wBAC3C,GAAG,EAAE,MAAM,CAAC,GAAyB;qBACtC,CAAC,CAAC;oBACH,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,EAAE;wBAClB,SAAS,EAAE,MAAM,CAAC,UAAU;qBAC7B,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,QAAQ,CAChB,gBAAiB,GAAa,CAAC,OAAO,EAAE,EACxC,aAAa,EACb,EAAE,aAAa,EAAE,CAClB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAC9E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,EAAE;oBACnB,SAAS,EAAE,OAAO,CAAC,UAAU;oBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;iBAC3B,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBAE9E,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAC1C,MAAM,CAAC,SAAmB,EAC1B,MAAM,CAAC,KAA2B,CACnC,CAAC;oBACF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC9B,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE;oBACtD,KAAK,EAAE,MAAM,CAAC,KAA2B;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,iDAAiD;gBACjD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACxB,CAAC;YAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAkB,CAAC;gBAC3C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACxC,MAAM,YAAY,CAAC,aAAa,CAC9B,MAAM,EACN,+CAA+C,CAChD,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,YAAY,CAAC,mBAAmB,CAC9C,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAC;gBAC7C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC3B,MAAM,YAAY,CAAC,aAAa,CAC9B,MAAM,EACN,oCAAoC,CACrC,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAClE,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAc,CAAC;gBACnC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtB,MAAM,YAAY,CAAC,aAAa,CAC9B,MAAM,EACN,+BAA+B,CAChC,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAC5C,OAAO,EACP,IAAsB,CACvB,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED;gBACE,MAAM,IAAI,QAAQ,CAChB,sBAAsB,MAAM,EAAE,EAC9B,mBAAmB,EACnB,EAAE,MAAM,EAAE,CACX,CAAC;QACN,CAAC;IACH,CAAC;IAED,+DAA+D;IAE/D,MAAM,KAAK,GAAa;QACtB,KAAK,CAAC,UAAU,CACd,OAA0B;YAE1B,OAAO;gBACL,eAAe,EAAE,CAAC;gBAClB,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,OAAO;iBACjB;gBACD,iBAAiB,EAAE;oBACjB,WAAW,EAAE,IAAI;oBACjB,mBAAmB,EAAE;wBACnB,MAAM,EAAE,EAAE;qBACX;iBACF;gBACD,UAAU,EAAE;oBACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrC,IAAI;wBACJ,WAAW,EAAE,0BAA0B,IAAI,EAAE;qBAC9C,CAAC,CAAC;oBACH,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI;wBACJ,WAAW,EAAE,0BAA0B,IAAI,EAAE;qBAC9C,CAAC,CAAC;iBACJ;aACoB,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,UAAU,CACd,MAAyB;YAEzB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC;YAErC,6BAA6B;YAC7B,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,kDAAkD;YAClD,EAAE;YACF,6DAA6D;YAC7D,oEAAoE;YACpE,iEAAiE;YACjE,IAAI,MAA0C,CAAC;YAC/C,IAAI,UAAU,EAAE,aAAa,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,qBAAqB,CAC9C,UAAU,CAAC,aAAoB,CAChC,CAAC;gBACF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,QAAQ,CAChB,SAAS,UAAU,CAAC,aAAa,0CAA0C,EAC3E,iBAAiB,EACjB,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,CACtC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,MAAM,GAAG,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;YACtE,CAAC;YAED,yBAAyB;YACzB,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAE1E,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;gBAC1E,eAAe,CAAC,GAAG,EAAE;oBACnB,OAAO,EAAE,MAAM,CAAC,EAAE;oBAClB,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,YAAY;aAChC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CACf,MAA0B;YAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAEnC;;;;eAIG;YACH,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAsB,EAAE;gBACvE,MAAM,KAAK,GAAI,MAAc,CAAC,UAAU,CAAC;gBACzC,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,GAAG,EAAE,QAA+C,CAAC;gBAClE,MAAM,IAAI,GAAG,IAAI,EAAE,mBAAmB,CAAC;gBACvC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD,CAAC,CAAC;YAEF,wEAAwE;YACxE,sEAAsE;YACtE,yDAAyD;YACzD,EAAE;YACF,iCAAiC;YACjC,sEAAsE;YACtE,oEAAoE;YACpE,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,EAAE;YACF,kEAAkE;YAClE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,iDAAiD;YACjD,MAAM,aAAa,GAAG,KAAK,EAAE,gBAAyB,EAAE,yBAAkC,EAAiB,EAAE;gBAC3G,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;wBAC9B,IAAI,CAAC;4BACH,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;wBACxD,CAAC;wBAAC,MAAM,CAAC;4BACP,qDAAqD;wBACvD,CAAC;oBACH,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,qEAAqE;gBACrE,2CAA2C;gBAC3C,8EAA8E;gBAC9E,qEAAqE;gBACrE,sEAAsE;gBACtE,MAAM,iBAAiB,GACrB,yBAAyB;oBACzB,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC9E,IAAI,CAAC,iBAAiB;oBAAE,OAAO;gBAE/B,IAAI,CAAC;oBACH,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;oBAC/E,MAAM,eAAe,GAAoB,EAAE,CAAC;oBAC5C,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBACzE,IAAI,CAAC;4BACH,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;4BACtD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/B,CAAC;wBAAC,MAAM,CAAC;4BACP,yBAAyB;wBAC3B,CAAC;oBACH,CAAC;oBACD,oEAAoE;oBACpE,qDAAqD;oBACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;YACH,CAAC,CAAC;YAEF,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,6DAA6D;YAC7D,MAAM,qBAAqB,GACzB,OAAQ,MAAc,CAAC,KAAK,EAAE,mBAAmB,KAAK,QAAQ;gBAC5D,CAAC,CAAG,MAAc,CAAC,KAAK,CAAC,mBAA8B;gBACvD,CAAC,CAAC,SAAS,CAAC;YAEhB,sDAAsD;YACtD,IAAI,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,uDAAuD;YACvD,oDAAoD;YACpD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrD,OAAO,GAAG,aAAa,CAAC,aAAa,CACnC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,EAAE,CACX,CAAC;gBACF,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,yEAAyE;YACzE,kEAAkE;YAClE,yEAAyE;YACzE,sEAAsE;YACtE,oDAAoD;YACpD,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,aAAa,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,YAAY,CAAC,aAAa,CAC9B,EAAE,SAAS,EAAE,EACb,sBAAsB,SAAS,EAAE,CAClC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,YAAY,CAChB,OAA4B;YAE5B,qDAAqD;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAAqB;YAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAEhC,0CAA0C;YAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAE3C,sEAAsE;YACtE,oEAAoE;YACpE,uEAAuE;YACvE,kCAAkC;YAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACpE,MAAM,SAAS,GAAG;wBAChB,aAAa,EAAE,oBAAoB;wBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;qBAChB,CAAC;oBAC9B,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpD,4FAA4F;YAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;YAED,uCAAuC;YACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,UAAU,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAEvG,4EAA4E;YAC5E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAI,MAAc,CAAC,iBAAiB,CAAC;gBACpD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAChD,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAE7B,4DAA4D;YAC5D,IAAI,CAAC;gBACH,MAAM,WAAW,GAAI,MAAc,CAAC,UAAU,CAAC;gBAC/C,IAAI,WAAW,EAAE,SAAS,EAAE,CAAC;oBAC3B,2DAA2D;oBAC3D,gEAAgE;gBAClE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAE7B,IAAI,CAAC;gBACH,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEtD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBACnC,sEAAsE;oBACtE,qEAAqE;oBACrE,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;wBAC9B,MAAM,EAAE,GAAG,MAAa,CAAC;wBACzB,IAAI,EAAE,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;4BACrC,aAAa,EAAE,CAAC;4BAChB,MAAM,KAAK,GAAG,EAAE,CAAC,QAA+C,CAAC;4BACjE,IAAI,KAAK,EAAE,SAAS;gCAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC;4BAClE,IAAI,KAAK,EAAE,QAAQ;gCAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;4BAChE,IAAI,KAAK,EAAE,IAAI;gCAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;4BACxD,IAAI,KAAK,EAAE,OAAO;gCAAE,YAAY,CAAC,GAAG,CAAC,UAAW,KAAK,CAAC,OAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC3F,CAAC;wBAED,8CAA8C;wBAC9C,IAAI,EAAE,CAAC,aAAa,KAAK,qBAAqB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;4BAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;4BACnB,IAAI,CAAC,CAAC,WAAW;gCAAE,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC;4BAC5D,IAAI,CAAC,CAAC,YAAY;gCAAE,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,CAAC;4BAC/D,IAAI,CAAC,CAAC,eAAe;gCAAE,UAAU,CAAC,iBAAiB,IAAI,CAAC,CAAC,eAAe,CAAC;4BACzE,IAAI,CAAC,CAAC,mBAAmB;gCAAE,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC,mBAAmB,CAAC;wBACvF,CAAC;wBAED,6CAA6C;wBAC7C,IAAI,EAAE,CAAC,aAAa,KAAK,kBAAkB,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;4BAChC,MAAM,OAAO,GAAI,MAAc,CAAC,UAAU,CAAC;4BAC3C,IAAI,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC;gCACnC,IAAI,CAAC;oCACH,+BAA+B;oCAC/B,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wCACjE,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE;4CAChC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACrE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;yCAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wCACxE,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE;4CAChC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACpE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;oCAED,0EAA0E;yCACrE,IAAI,QAAQ,KAAK,wBAAwB,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wCACnF,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE;4CACrC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;yCAC1F,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;yCAAM,IAAI,QAAQ,KAAK,wBAAwB,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wCACrF,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE;4CACpC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACzF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;yCAAM,IAAI,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wCACzG,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE;4CACpC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACzF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;yCAAM,IAAI,QAAQ,KAAK,qBAAqB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wCACjH,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;4CAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;wCACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE;4CAClC,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;yCACjG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;oCAED,kDAAkD;yCAC7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wCAClF,OAAO,CAAC,gBAAgB,EAAE,CAAC;4CACzB,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;4CAC/B,UAAU,EAAE,MAAM,CAAC,SAAS;4CAC5B,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,IAAI;4CACZ,aAAa,EAAE,EAAE;4CACjB,iBAAiB,EAAE,iBAAiB;4CACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;yCACpD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oCACrB,CAAC;gCACH,CAAC;gCAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,wDAAwD;oBACxD,mDAAmD;oBACnD,6DAA6D;oBAC7D,2DAA2D;oBAC3D,8DAA8D;oBAC9D,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtC,IAAI,CAAC;4BACH,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;gCACtD,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ,EAAE;oCACR,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;oCACtC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;oCAC5B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAa;oCACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;iCACnC;gCACD,OAAO,EAAE,MAAM,CAAC,OAAO;6BACxB,CAAC,CAAC;4BACH,mDAAmD;4BACnD,0FAA0F;4BAC1F,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,CAAC;4BACtC,IAAI,OAAO,EAAE,CAAC;gCACZ,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;oCAC5D,YAAY,CAAC,mBAAmB,CAC9B,OAAO,EACP,MAAM,CAAC,SAAS,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAC;gCACJ,CAAC;qCAAM,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oCAC3C,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gCAC3D,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,+DAA+D;4BAC/D,uCAAuC;4BACvC,IAAI,CAAC;gCACH,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC3D,CAAC;4BAAC,MAAM,CAAC;gCACP,cAAc;4BAChB,CAAC;wBACH,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,+DAA+D;oBAC/D,wDAAwD;oBACxD,oDAAoD;oBACpD,IAAI,eAAe,IAAI,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5D,MAAM,YAAY,GAAwB;4BACxC,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM;yBACP,CAAC;wBACF,mEAAmE;wBACnE,kEAAkE;wBAClE,uDAAuD;wBACvD,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC9C,MAAM,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,0EAA0E;gBAC1E,MAAM,OAAO,GAAI,MAAc,CAAC,UAAU,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,iBAAiB,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAI,MAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,GAAG,IAAI,UAAU,CAAC;oBAChD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAEjC,gEAAgE;oBAChE,MAAM,SAAS,GAAY,MAAc,CAAC,oBAAoB,IAAI,MAAM,CAAC;oBAEzE,2CAA2C;oBAC3C,+CAA+C;oBAC/C,+FAA+F;oBAC/F,qBAAqB;oBACrB,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC;oBAClE,MAAM,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;oBAEpC,MAAM,UAAU,GAAgC;wBAC9C,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,QAAQ,iBAAiB,EAAE;wBAClD,UAAU,EAAE,MAAM,CAAC,SAAS;wBAC5B,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,OAAO;wBACnC,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;wBACxD,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;wBACpD,+CAA+C;wBAC/C,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,IAAI,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;4BAC5E,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE;4BAC7B,CAAC,CAAC,EAAE,CAAC;wBACP,QAAQ,EAAE;4BACR,qCAAqC;4BACrC,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,gBAAgB;4BAC3B,KAAK,EAAE,QAAQ,iBAAiB,KAAK,aAAa,cAAc;4BAChE,6DAA6D;4BAC7D,4DAA4D;4BAC5D,4BAA4B;4BAC5B,mBAAmB,EAChB,WAAmB,EAAE,QAAQ,EAAE,mBAAmB,IAAI,SAAS;4BAClE,iBAAiB;4BACjB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gCACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;gCACzC,aAAa;6BACd,CAAC,CAAC,CAAC,EAAE,CAAC;4BACP,cAAc;4BACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gCACX,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;gCACxC,WAAW,EAAE,QAAQ;gCACrB,WAAW,EAAE,WAAW,IAAI,SAAS;gCACrC,aAAa,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;gCAC1C,YAAY,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;6BACzC,CAAC,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF,CAAC;oBACF,gFAAgF;oBAChF,IAAI,kBAAkB,GAAG,UAAU,CAAC;oBACpC,IAAI,CAAC;wBACH,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;wBAC9F,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,YAAY,EAAE,CAAC;4BACjB,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,iDAAiD;oBACnD,CAAC;oBAED,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iDAAiD;gBACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YACrC,CAAC;oBAAS,CAAC;gBACT,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAErD,uDAAuD;gBACvD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAI,MAAc,CAAC,iBAAiB,CAAC;oBACpD,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAChD,CAAC;wBACF,IAAI,QAAQ,EAAE,CAAC;4BACb,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAA0B;YACrC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,MAA+B;YAE/B,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/acp/types.d.ts
CHANGED
|
@@ -36,6 +36,15 @@ export interface MacroAgentInitConfig {
|
|
|
36
36
|
systemPromptPrefix?: string;
|
|
37
37
|
/** Suffix appended to system prompts */
|
|
38
38
|
systemPromptSuffix?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Local agent ID this ACP stream is bound to. When set, `session/new` binds
|
|
41
|
+
* the new session to this specific agent (any role) instead of falling back
|
|
42
|
+
* to cwd-based head-manager lookup. Set by the ACP-over-MAP bridge so that
|
|
43
|
+
* MAP-level routing (which already targets a specific agent) is preserved
|
|
44
|
+
* end-to-end through the ACP layer — important when multiple coordinators
|
|
45
|
+
* share the same cwd.
|
|
46
|
+
*/
|
|
47
|
+
targetAgentId?: string;
|
|
39
48
|
}
|
|
40
49
|
export type ACPErrorCode = "SESSION_NOT_FOUND" | "AGENT_NOT_FOUND" | "MOUNT_FAILED" | "FORK_FAILED" | "INVALID_EXTENSION" | "PERMISSION_DENIED" | "NO_PEER_MANAGER";
|
|
41
50
|
/**
|
package/dist/acp/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,YAAY,EAAE,YAAY,CAAC;IAE3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,YAAY,EAAE,YAAY,CAAC;IAE3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGhD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOpC"}
|
package/dist/acp/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/acp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0EH;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAe;IACnB,OAAO,CAA2B;IAElD,YACE,OAAe,EACf,IAAkB,EAClB,OAAiC;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { type PermissionMode } from "acp-factory";
|
|
11
11
|
import { AgentStore } from "./agent-store.js";
|
|
12
|
+
import type { SpawnAgentOptions } from "./types.js";
|
|
12
13
|
import type { RoleRegistry } from "../roles/types.js";
|
|
13
14
|
import type { WorkspaceManager } from "../workspace/types.js";
|
|
14
15
|
import { AgentTokenManager } from "../auth/token.js";
|
|
@@ -32,6 +33,26 @@ export interface AgentManagerV2Config {
|
|
|
32
33
|
serverToken?: string;
|
|
33
34
|
/** Control socket path for MCP subprocess lifecycle RPC */
|
|
34
35
|
controlSocketPath?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Default opentasks resource ID hosted on the OpenHive hub. When set,
|
|
38
|
+
* spawn paths build `taskRef = { resource_id: <this>, node_id: task_id }`
|
|
39
|
+
* automatically from `SpawnAgentOptions.task_id` (for any spawn where
|
|
40
|
+
* `resolveTaskRef` returned undefined AND the caller didn't supply an
|
|
41
|
+
* explicit `taskRef`).
|
|
42
|
+
*
|
|
43
|
+
* Operators set this once at swarm registration for the common
|
|
44
|
+
* single-graph case. Multi-graph deployments should use `resolveTaskRef`
|
|
45
|
+
* instead.
|
|
46
|
+
*/
|
|
47
|
+
taskResourceId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Multi-graph resolver. Called at every spawn; return a `TaskRef` to set
|
|
50
|
+
* the binding or `undefined` to fall through to the `taskResourceId`
|
|
51
|
+
* default. Explicit `SpawnAgentOptions.taskRef` always wins over both.
|
|
52
|
+
*
|
|
53
|
+
* Keep cheap — runs per-spawn.
|
|
54
|
+
*/
|
|
55
|
+
resolveTaskRef?: (spawnOptions: SpawnAgentOptions) => import("git-cascade/events").TaskRef | undefined;
|
|
35
56
|
}
|
|
36
57
|
export declare function createAgentManagerV2(agentStore: AgentStore, inboxAdapter: InboxAdapter, tasksAdapter: TasksAdapter, config?: AgentManagerV2Config): AgentManager;
|
|
37
58
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAkCzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CAmgDd"}
|