background-agents 0.1.2 → 1.0.0
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 +46 -297
- package/app/assets/icon.png +0 -0
- package/app/assets/tray-icon.png +0 -0
- package/app/assets/tray-icon.svg +4 -0
- package/app/dist/main.js +932 -0
- package/app/dist/preload.cjs +70 -0
- package/bin/background-agents.js +298 -0
- package/lib/ui.js +110 -0
- package/package.json +31 -57
- package/dist/agents/claude/index.d.ts +0 -11
- package/dist/agents/claude/index.d.ts.map +0 -1
- package/dist/agents/claude/index.js +0 -78
- package/dist/agents/claude/index.js.map +0 -1
- package/dist/agents/claude/parser.d.ts +0 -16
- package/dist/agents/claude/parser.d.ts.map +0 -1
- package/dist/agents/claude/parser.js +0 -87
- package/dist/agents/claude/parser.js.map +0 -1
- package/dist/agents/claude/tools.d.ts +0 -7
- package/dist/agents/claude/tools.d.ts.map +0 -1
- package/dist/agents/claude/tools.js +0 -15
- package/dist/agents/claude/tools.js.map +0 -1
- package/dist/agents/codex/index.d.ts +0 -11
- package/dist/agents/codex/index.d.ts.map +0 -1
- package/dist/agents/codex/index.js +0 -60
- package/dist/agents/codex/index.js.map +0 -1
- package/dist/agents/codex/parser.d.ts +0 -12
- package/dist/agents/codex/parser.d.ts.map +0 -1
- package/dist/agents/codex/parser.js +0 -108
- package/dist/agents/codex/parser.js.map +0 -1
- package/dist/agents/codex/tools.d.ts +0 -11
- package/dist/agents/codex/tools.d.ts.map +0 -1
- package/dist/agents/codex/tools.js +0 -40
- package/dist/agents/codex/tools.js.map +0 -1
- package/dist/agents/eliza/bundle-content.d.ts +0 -6
- package/dist/agents/eliza/bundle-content.d.ts.map +0 -1
- package/dist/agents/eliza/bundle-content.js +0 -7
- package/dist/agents/eliza/bundle-content.js.map +0 -1
- package/dist/agents/eliza/cli.bundle.js +0 -579
- package/dist/agents/eliza/cli.d.ts +0 -10
- package/dist/agents/eliza/cli.d.ts.map +0 -1
- package/dist/agents/eliza/cli.js +0 -342
- package/dist/agents/eliza/cli.js.map +0 -1
- package/dist/agents/eliza/index.d.ts +0 -22
- package/dist/agents/eliza/index.d.ts.map +0 -1
- package/dist/agents/eliza/index.js +0 -54
- package/dist/agents/eliza/index.js.map +0 -1
- package/dist/agents/eliza/parser.d.ts +0 -16
- package/dist/agents/eliza/parser.d.ts.map +0 -1
- package/dist/agents/eliza/parser.js +0 -67
- package/dist/agents/eliza/parser.js.map +0 -1
- package/dist/agents/eliza/patterns.d.ts +0 -41
- package/dist/agents/eliza/patterns.d.ts.map +0 -1
- package/dist/agents/eliza/patterns.js +0 -259
- package/dist/agents/eliza/patterns.js.map +0 -1
- package/dist/agents/eliza/tools.d.ts +0 -7
- package/dist/agents/eliza/tools.d.ts.map +0 -1
- package/dist/agents/eliza/tools.js +0 -14
- package/dist/agents/eliza/tools.js.map +0 -1
- package/dist/agents/gemini/index.d.ts +0 -11
- package/dist/agents/gemini/index.d.ts.map +0 -1
- package/dist/agents/gemini/index.js +0 -46
- package/dist/agents/gemini/index.js.map +0 -1
- package/dist/agents/gemini/parser.d.ts +0 -31
- package/dist/agents/gemini/parser.d.ts.map +0 -1
- package/dist/agents/gemini/parser.js +0 -106
- package/dist/agents/gemini/parser.js.map +0 -1
- package/dist/agents/gemini/tools.d.ts +0 -7
- package/dist/agents/gemini/tools.d.ts.map +0 -1
- package/dist/agents/gemini/tools.js +0 -23
- package/dist/agents/gemini/tools.js.map +0 -1
- package/dist/agents/goose/index.d.ts +0 -11
- package/dist/agents/goose/index.d.ts.map +0 -1
- package/dist/agents/goose/index.js +0 -73
- package/dist/agents/goose/index.js.map +0 -1
- package/dist/agents/goose/parser.d.ts +0 -24
- package/dist/agents/goose/parser.d.ts.map +0 -1
- package/dist/agents/goose/parser.js +0 -86
- package/dist/agents/goose/parser.js.map +0 -1
- package/dist/agents/goose/tools.d.ts +0 -10
- package/dist/agents/goose/tools.d.ts.map +0 -1
- package/dist/agents/goose/tools.js +0 -30
- package/dist/agents/goose/tools.js.map +0 -1
- package/dist/agents/index.d.ts +0 -27
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -46
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/opencode/index.d.ts +0 -12
- package/dist/agents/opencode/index.d.ts.map +0 -1
- package/dist/agents/opencode/index.js +0 -53
- package/dist/agents/opencode/index.js.map +0 -1
- package/dist/agents/opencode/parser.d.ts +0 -15
- package/dist/agents/opencode/parser.d.ts.map +0 -1
- package/dist/agents/opencode/parser.js +0 -71
- package/dist/agents/opencode/parser.js.map +0 -1
- package/dist/agents/opencode/tools.d.ts +0 -7
- package/dist/agents/opencode/tools.d.ts.map +0 -1
- package/dist/agents/opencode/tools.js +0 -10
- package/dist/agents/opencode/tools.js.map +0 -1
- package/dist/agents/openhands/index.d.ts +0 -17
- package/dist/agents/openhands/index.d.ts.map +0 -1
- package/dist/agents/openhands/index.js +0 -67
- package/dist/agents/openhands/index.js.map +0 -1
- package/dist/agents/openhands/parser.d.ts +0 -16
- package/dist/agents/openhands/parser.d.ts.map +0 -1
- package/dist/agents/openhands/parser.js +0 -93
- package/dist/agents/openhands/parser.js.map +0 -1
- package/dist/agents/openhands/tools.d.ts +0 -7
- package/dist/agents/openhands/tools.d.ts.map +0 -1
- package/dist/agents/openhands/tools.js +0 -24
- package/dist/agents/openhands/tools.js.map +0 -1
- package/dist/agents/pi/index.d.ts +0 -14
- package/dist/agents/pi/index.d.ts.map +0 -1
- package/dist/agents/pi/index.js +0 -54
- package/dist/agents/pi/index.js.map +0 -1
- package/dist/agents/pi/parser.d.ts +0 -21
- package/dist/agents/pi/parser.d.ts.map +0 -1
- package/dist/agents/pi/parser.js +0 -91
- package/dist/agents/pi/parser.js.map +0 -1
- package/dist/agents/pi/tools.d.ts +0 -8
- package/dist/agents/pi/tools.d.ts.map +0 -1
- package/dist/agents/pi/tools.js +0 -16
- package/dist/agents/pi/tools.js.map +0 -1
- package/dist/agents/picocode/index.d.ts +0 -18
- package/dist/agents/picocode/index.d.ts.map +0 -1
- package/dist/agents/picocode/index.js +0 -68
- package/dist/agents/picocode/index.js.map +0 -1
- package/dist/agents/picocode/parser.d.ts +0 -19
- package/dist/agents/picocode/parser.d.ts.map +0 -1
- package/dist/agents/picocode/parser.js +0 -104
- package/dist/agents/picocode/parser.js.map +0 -1
- package/dist/agents/picocode/tools.d.ts +0 -9
- package/dist/agents/picocode/tools.d.ts.map +0 -1
- package/dist/agents/picocode/tools.js +0 -27
- package/dist/agents/picocode/tools.js.map +0 -1
- package/dist/background/index.d.ts +0 -6
- package/dist/background/index.d.ts.map +0 -1
- package/dist/background/index.js +0 -5
- package/dist/background/index.js.map +0 -1
- package/dist/background/session.d.ts +0 -47
- package/dist/background/session.d.ts.map +0 -1
- package/dist/background/session.js +0 -481
- package/dist/background/session.js.map +0 -1
- package/dist/background/types.d.ts +0 -55
- package/dist/background/types.d.ts.map +0 -1
- package/dist/background/types.js +0 -5
- package/dist/background/types.js.map +0 -1
- package/dist/core/agent.d.ts +0 -95
- package/dist/core/agent.d.ts.map +0 -1
- package/dist/core/agent.js +0 -8
- package/dist/core/agent.js.map +0 -1
- package/dist/core/index.d.ts +0 -7
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -6
- package/dist/core/index.js.map +0 -1
- package/dist/core/registry.d.ts +0 -48
- package/dist/core/registry.d.ts.map +0 -1
- package/dist/core/registry.js +0 -68
- package/dist/core/registry.js.map +0 -1
- package/dist/core/tools.d.ts +0 -31
- package/dist/core/tools.d.ts.map +0 -1
- package/dist/core/tools.js +0 -82
- package/dist/core/tools.js.map +0 -1
- package/dist/debug.d.ts +0 -7
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -19
- package/dist/debug.js.map +0 -1
- package/dist/factory.d.ts +0 -28
- package/dist/factory.d.ts.map +0 -1
- package/dist/factory.js +0 -44
- package/dist/factory.js.map +0 -1
- package/dist/index.d.ts +0 -48
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -62
- package/dist/index.js.map +0 -1
- package/dist/providers/base.d.ts +0 -187
- package/dist/providers/base.d.ts.map +0 -1
- package/dist/providers/base.js +0 -619
- package/dist/providers/base.js.map +0 -1
- package/dist/providers/claude.d.ts +0 -14
- package/dist/providers/claude.d.ts.map +0 -1
- package/dist/providers/claude.js +0 -122
- package/dist/providers/claude.js.map +0 -1
- package/dist/providers/codex.d.ts +0 -14
- package/dist/providers/codex.d.ts.map +0 -1
- package/dist/providers/codex.js +0 -160
- package/dist/providers/codex.js.map +0 -1
- package/dist/providers/gemini.d.ts +0 -16
- package/dist/providers/gemini.d.ts.map +0 -1
- package/dist/providers/gemini.js +0 -101
- package/dist/providers/gemini.js.map +0 -1
- package/dist/providers/index.d.ts +0 -6
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -6
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/opencode.d.ts +0 -14
- package/dist/providers/opencode.d.ts.map +0 -1
- package/dist/providers/opencode.js +0 -100
- package/dist/providers/opencode.js.map +0 -1
- package/dist/sandbox/daytona.d.ts +0 -8
- package/dist/sandbox/daytona.d.ts.map +0 -1
- package/dist/sandbox/daytona.js +0 -181
- package/dist/sandbox/daytona.js.map +0 -1
- package/dist/sandbox/index.d.ts +0 -14
- package/dist/sandbox/index.d.ts.map +0 -1
- package/dist/sandbox/index.js +0 -15
- package/dist/sandbox/index.js.map +0 -1
- package/dist/session.d.ts +0 -75
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -117
- package/dist/session.js.map +0 -1
- package/dist/types/events.d.ts +0 -114
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/events.js +0 -50
- package/dist/types/events.js.map +0 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/provider.d.ts +0 -67
- package/dist/types/provider.d.ts.map +0 -1
- package/dist/types/provider.js +0 -5
- package/dist/types/provider.js.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -3
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/install.d.ts +0 -37
- package/dist/utils/install.d.ts.map +0 -1
- package/dist/utils/install.js +0 -122
- package/dist/utils/install.js.map +0 -1
- package/dist/utils/json.d.ts +0 -8
- package/dist/utils/json.d.ts.map +0 -1
- package/dist/utils/json.js +0 -15
- package/dist/utils/json.js.map +0 -1
- package/src/index.ts +0 -156
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude CLI output parser
|
|
3
|
-
*
|
|
4
|
-
* Pure function for parsing Claude CLI JSON output.
|
|
5
|
-
* No state, no side effects - easily testable.
|
|
6
|
-
*/
|
|
7
|
-
import type { Event } from "../../types/events";
|
|
8
|
-
/**
|
|
9
|
-
* Parse a line of Claude CLI output into event(s).
|
|
10
|
-
*
|
|
11
|
-
* @param line - Raw line from CLI output
|
|
12
|
-
* @param toolMappings - Tool name mappings for this agent
|
|
13
|
-
* @returns Event, array of events, or null if line should be ignored
|
|
14
|
-
*/
|
|
15
|
-
export declare function parseClaudeLine(line: string, toolMappings: Record<string, string>): Event | Event[] | null;
|
|
16
|
-
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/agents/claude/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAgF/C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,CAgExB"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude CLI output parser
|
|
3
|
-
*
|
|
4
|
-
* Pure function for parsing Claude CLI JSON output.
|
|
5
|
-
* No state, no side effects - easily testable.
|
|
6
|
-
*/
|
|
7
|
-
import { createToolStartEvent } from "../../core/tools";
|
|
8
|
-
import { safeJsonParse } from "../../utils/json";
|
|
9
|
-
/**
|
|
10
|
-
* Extract output from a tool result object
|
|
11
|
-
*/
|
|
12
|
-
function toolResultOutput(obj) {
|
|
13
|
-
let out = obj.result;
|
|
14
|
-
if (out === undefined && obj.content !== undefined) {
|
|
15
|
-
if (typeof obj.content === "string")
|
|
16
|
-
out = obj.content;
|
|
17
|
-
else if (Array.isArray(obj.content) && obj.content[0]?.text)
|
|
18
|
-
out = obj.content[0].text;
|
|
19
|
-
}
|
|
20
|
-
return out;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Parse a line of Claude CLI output into event(s).
|
|
24
|
-
*
|
|
25
|
-
* @param line - Raw line from CLI output
|
|
26
|
-
* @param toolMappings - Tool name mappings for this agent
|
|
27
|
-
* @returns Event, array of events, or null if line should be ignored
|
|
28
|
-
*/
|
|
29
|
-
export function parseClaudeLine(line, toolMappings) {
|
|
30
|
-
const json = safeJsonParse(line);
|
|
31
|
-
if (!json) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
// System init event contains session ID
|
|
35
|
-
if (json.type === "system" && "subtype" in json && json.subtype === "init") {
|
|
36
|
-
return { type: "session", id: json.session_id };
|
|
37
|
-
}
|
|
38
|
-
// Assistant message contains the response content
|
|
39
|
-
if (json.type === "assistant" && "message" in json) {
|
|
40
|
-
const content = json.message.content;
|
|
41
|
-
if (content && content.length > 0) {
|
|
42
|
-
// Find text content and emit as token
|
|
43
|
-
for (const block of content) {
|
|
44
|
-
if (block.type === "text" && block.text) {
|
|
45
|
-
return { type: "token", text: block.text };
|
|
46
|
-
}
|
|
47
|
-
if (block.type === "tool_use" && block.name) {
|
|
48
|
-
return createToolStartEvent(block.name, block.input, toolMappings);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
// Tool use event
|
|
55
|
-
if (json.type === "tool_use" && "name" in json) {
|
|
56
|
-
return createToolStartEvent(json.name, json.input, toolMappings);
|
|
57
|
-
}
|
|
58
|
-
// Tool result (standalone)
|
|
59
|
-
if (json.type === "tool_result") {
|
|
60
|
-
return { type: "tool_end", output: toolResultOutput(json) };
|
|
61
|
-
}
|
|
62
|
-
// Tool result inside user message
|
|
63
|
-
if (json.type === "user" && json.message?.content) {
|
|
64
|
-
for (const block of json.message.content) {
|
|
65
|
-
if (block.type === "tool_result") {
|
|
66
|
-
let out;
|
|
67
|
-
if (typeof block.content === "string")
|
|
68
|
-
out = block.content;
|
|
69
|
-
else if (Array.isArray(block.content) && block.content[0]?.text)
|
|
70
|
-
out = block.content[0].text;
|
|
71
|
-
return { type: "tool_end", output: out };
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Result event marks end of interaction (success or CLI error)
|
|
76
|
-
if (json.type === "result") {
|
|
77
|
-
const err = json.subtype === "error_during_execution" ||
|
|
78
|
-
json.subtype === "error"
|
|
79
|
-
? (json.error ??
|
|
80
|
-
json.result ??
|
|
81
|
-
"Unknown error")
|
|
82
|
-
: undefined;
|
|
83
|
-
return { type: "end", ...(err ? { error: err } : {}) };
|
|
84
|
-
}
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/agents/claude/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/agents/claude/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude tool name mappings
|
|
3
|
-
*
|
|
4
|
-
* Maps Claude CLI tool names to canonical tool names.
|
|
5
|
-
*/
|
|
6
|
-
export const CLAUDE_TOOL_MAPPINGS = {
|
|
7
|
-
Write: "write",
|
|
8
|
-
Read: "read",
|
|
9
|
-
Edit: "edit",
|
|
10
|
-
Glob: "glob",
|
|
11
|
-
Grep: "grep",
|
|
12
|
-
Bash: "shell",
|
|
13
|
-
WebSearch: "web_search",
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/agents/claude/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,YAAY;CACxB,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI Codex CLI Agent Definition
|
|
3
|
-
*/
|
|
4
|
-
import type { AgentDefinition } from "../../core/agent";
|
|
5
|
-
/**
|
|
6
|
-
* OpenAI Codex CLI agent definition.
|
|
7
|
-
*
|
|
8
|
-
* Interacts with the Codex CLI tool which outputs JSON lines.
|
|
9
|
-
*/
|
|
10
|
-
export declare const codexAgent: AgentDefinition;
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/codex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,kBAAkB,CAAA;AAsBzB;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,eAmDxB,CAAA"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI Codex CLI Agent Definition
|
|
3
|
-
*/
|
|
4
|
-
import { parseCodexLine } from "./parser";
|
|
5
|
-
import { CODEX_TOOL_MAPPINGS } from "./tools";
|
|
6
|
-
/**
|
|
7
|
-
* Codex agent-specific setup: login with API key
|
|
8
|
-
*/
|
|
9
|
-
async function codexSetup(sandbox, env) {
|
|
10
|
-
if (!env.OPENAI_API_KEY || !sandbox.executeCommand)
|
|
11
|
-
return;
|
|
12
|
-
const safeKey = env.OPENAI_API_KEY.replace(/'/g, "'\\''");
|
|
13
|
-
await sandbox.executeCommand(`echo '${safeKey}' | codex login --with-api-key 2>&1`, 30);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* OpenAI Codex CLI agent definition.
|
|
17
|
-
*
|
|
18
|
-
* Interacts with the Codex CLI tool which outputs JSON lines.
|
|
19
|
-
*/
|
|
20
|
-
export const codexAgent = {
|
|
21
|
-
name: "codex",
|
|
22
|
-
toolMappings: CODEX_TOOL_MAPPINGS,
|
|
23
|
-
capabilities: {
|
|
24
|
-
supportsSystemPrompt: false,
|
|
25
|
-
supportsResume: true,
|
|
26
|
-
setup: codexSetup,
|
|
27
|
-
},
|
|
28
|
-
buildCommand(options) {
|
|
29
|
-
const args = [];
|
|
30
|
-
// Use exec subcommand for non-interactive mode with JSON output
|
|
31
|
-
args.push("exec");
|
|
32
|
-
// JSON output for streaming events
|
|
33
|
-
args.push("--json");
|
|
34
|
-
// Skip git repo check for sandbox environments
|
|
35
|
-
args.push("--skip-git-repo-check");
|
|
36
|
-
// Skip permission prompts when already running in a sandbox
|
|
37
|
-
args.push("--yolo");
|
|
38
|
-
// Add model if specified (e.g., "gpt-4o", "o1", "o3")
|
|
39
|
-
if (options.model) {
|
|
40
|
-
args.push("--model", options.model);
|
|
41
|
-
}
|
|
42
|
-
// Resume session if provided
|
|
43
|
-
if (options.sessionId) {
|
|
44
|
-
args.push("resume", options.sessionId);
|
|
45
|
-
}
|
|
46
|
-
// Add prompt as trailing argument
|
|
47
|
-
if (options.prompt) {
|
|
48
|
-
args.push(options.prompt);
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
cmd: "codex",
|
|
52
|
-
args,
|
|
53
|
-
env: options.env,
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
parse(line, _context) {
|
|
57
|
-
return parseCodexLine(line, this.toolMappings);
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/codex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,OAAyB,EACzB,GAA2B;IAE3B,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc;QAAE,OAAM;IAE1D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,OAAO,CAAC,cAAc,CAC1B,SAAS,OAAO,qCAAqC,EACrD,EAAE,CACH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,IAAI,EAAE,OAAO;IAEb,YAAY,EAAE,mBAAmB;IAEjC,YAAY,EAAE;QACZ,oBAAoB,EAAE,KAAK;QAC3B,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,UAAU;KAClB;IAED,YAAY,CAAC,OAAmB;QAC9B,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjB,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEnB,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAElC,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEnB,sDAAsD;QACtD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO;YACL,GAAG,EAAE,OAAO;YACZ,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,QAAsB;QACxC,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;CACF,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex CLI output parser
|
|
3
|
-
*
|
|
4
|
-
* Pure function for parsing Codex CLI JSON output.
|
|
5
|
-
* Supports both legacy item.tool.* and current item.started/item.completed formats.
|
|
6
|
-
*/
|
|
7
|
-
import type { Event } from "../../types/events";
|
|
8
|
-
/**
|
|
9
|
-
* Parse a line of Codex CLI output into event(s).
|
|
10
|
-
*/
|
|
11
|
-
export declare function parseCodexLine(line: string, toolMappings: Record<string, string>): Event | Event[] | null;
|
|
12
|
-
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/agents/codex/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AA6F/C;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,CA4GxB"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex CLI output parser
|
|
3
|
-
*
|
|
4
|
-
* Pure function for parsing Codex CLI JSON output.
|
|
5
|
-
* Supports both legacy item.tool.* and current item.started/item.completed formats.
|
|
6
|
-
*/
|
|
7
|
-
import { createToolStartEvent } from "../../core/tools";
|
|
8
|
-
import { safeJsonParse } from "../../utils/json";
|
|
9
|
-
import { normalizeCodexToolName } from "./tools";
|
|
10
|
-
/**
|
|
11
|
-
* Parse a line of Codex CLI output into event(s).
|
|
12
|
-
*/
|
|
13
|
-
export function parseCodexLine(line, toolMappings) {
|
|
14
|
-
const json = safeJsonParse(line);
|
|
15
|
-
if (!json) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
// Thread/session start
|
|
19
|
-
if (json.type === "thread.started") {
|
|
20
|
-
return { type: "session", id: json.thread_id };
|
|
21
|
-
}
|
|
22
|
-
// Message text delta
|
|
23
|
-
if (json.type === "item.message.delta") {
|
|
24
|
-
return { type: "token", text: json.text };
|
|
25
|
-
}
|
|
26
|
-
// Item completed (full message)
|
|
27
|
-
if (json.type === "item.completed" &&
|
|
28
|
-
json.item?.type === "agent_message" &&
|
|
29
|
-
json.item?.text) {
|
|
30
|
-
return { type: "token", text: json.item.text };
|
|
31
|
-
}
|
|
32
|
-
// Item started - tool/action beginning (current Codex schema)
|
|
33
|
-
if (json.type === "item.started" && json.item) {
|
|
34
|
-
const it = json.item;
|
|
35
|
-
const name = normalizeCodexToolName(it.type, it.tool);
|
|
36
|
-
let input;
|
|
37
|
-
if (it.type === "command_execution" && it.command != null) {
|
|
38
|
-
input = { command: it.command };
|
|
39
|
-
}
|
|
40
|
-
else if (it.type === "file_change") {
|
|
41
|
-
input = {};
|
|
42
|
-
}
|
|
43
|
-
else if (it.type === "mcp_tool_call" && it.arguments != null) {
|
|
44
|
-
input = it.arguments;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
input = undefined;
|
|
48
|
-
}
|
|
49
|
-
return createToolStartEvent(name, input, toolMappings);
|
|
50
|
-
}
|
|
51
|
-
// Item completed - tool/action result (current Codex schema)
|
|
52
|
-
if (json.type === "item.completed" && json.item) {
|
|
53
|
-
const it = json.item;
|
|
54
|
-
if (it.type === "command_execution" && it.aggregated_output !== undefined) {
|
|
55
|
-
return { type: "tool_end", output: it.aggregated_output };
|
|
56
|
-
}
|
|
57
|
-
if (it.type === "mcp_tool_call") {
|
|
58
|
-
let output;
|
|
59
|
-
if (it.result?.content?.length && it.result.content[0]?.text) {
|
|
60
|
-
output = it.result.content[0].text;
|
|
61
|
-
}
|
|
62
|
-
else if (it.result) {
|
|
63
|
-
output = JSON.stringify(it.result);
|
|
64
|
-
}
|
|
65
|
-
return { type: "tool_end", output };
|
|
66
|
-
}
|
|
67
|
-
// file_change: emit tool_start then tool_end (Codex only sends item.completed)
|
|
68
|
-
if (it.type === "file_change" && it.changes && it.changes.length > 0) {
|
|
69
|
-
const c = it.changes[0];
|
|
70
|
-
const input = {
|
|
71
|
-
file_path: c.path,
|
|
72
|
-
kind: c.kind,
|
|
73
|
-
content: null,
|
|
74
|
-
};
|
|
75
|
-
return [
|
|
76
|
-
createToolStartEvent("write", input, toolMappings),
|
|
77
|
-
{ type: "tool_end", output: JSON.stringify(it.changes) },
|
|
78
|
-
];
|
|
79
|
-
}
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
// Tool start (legacy)
|
|
83
|
-
if (json.type === "item.tool.start") {
|
|
84
|
-
return createToolStartEvent(normalizeCodexToolName("mcp_tool_call", json.name), undefined, toolMappings);
|
|
85
|
-
}
|
|
86
|
-
// Tool input delta (legacy)
|
|
87
|
-
if (json.type === "item.tool.input.delta") {
|
|
88
|
-
return { type: "tool_delta", text: json.text };
|
|
89
|
-
}
|
|
90
|
-
// Tool end (legacy)
|
|
91
|
-
if (json.type === "item.tool.end") {
|
|
92
|
-
return { type: "tool_end" };
|
|
93
|
-
}
|
|
94
|
-
// Turn complete
|
|
95
|
-
if (json.type === "turn.completed") {
|
|
96
|
-
return { type: "end" };
|
|
97
|
-
}
|
|
98
|
-
// Turn failed - emit end event with error
|
|
99
|
-
if (json.type === "turn.failed") {
|
|
100
|
-
return { type: "end", error: json.error?.message };
|
|
101
|
-
}
|
|
102
|
-
// Error event - emit as end with error
|
|
103
|
-
if (json.type === "error") {
|
|
104
|
-
return { type: "end", error: json.message };
|
|
105
|
-
}
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/agents/codex/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex tool name mappings
|
|
3
|
-
*
|
|
4
|
-
* Maps Codex item types and MCP tools to canonical tool names.
|
|
5
|
-
*/
|
|
6
|
-
export declare const CODEX_TOOL_MAPPINGS: Record<string, string>;
|
|
7
|
-
/**
|
|
8
|
-
* Normalize Codex tool name to canonical form.
|
|
9
|
-
*/
|
|
10
|
-
export declare function normalizeCodexToolName(itemType: string, toolName?: string): string;
|
|
11
|
-
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/agents/codex/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBtD,CAAA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAYR"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex tool name mappings
|
|
3
|
-
*
|
|
4
|
-
* Maps Codex item types and MCP tools to canonical tool names.
|
|
5
|
-
*/
|
|
6
|
-
export const CODEX_TOOL_MAPPINGS = {
|
|
7
|
-
command_execution: "shell",
|
|
8
|
-
file_change: "write",
|
|
9
|
-
// MCP tool names
|
|
10
|
-
read: "read",
|
|
11
|
-
read_file: "read",
|
|
12
|
-
write: "write",
|
|
13
|
-
write_file: "write",
|
|
14
|
-
edit: "edit",
|
|
15
|
-
apply_patch: "edit",
|
|
16
|
-
patch: "edit",
|
|
17
|
-
glob: "glob",
|
|
18
|
-
glob_file_search: "glob",
|
|
19
|
-
grep: "grep",
|
|
20
|
-
grep_search: "grep",
|
|
21
|
-
bash: "shell",
|
|
22
|
-
shell: "shell",
|
|
23
|
-
run_command: "shell",
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Normalize Codex tool name to canonical form.
|
|
27
|
-
*/
|
|
28
|
-
export function normalizeCodexToolName(itemType, toolName) {
|
|
29
|
-
// Check item type first
|
|
30
|
-
const fromType = CODEX_TOOL_MAPPINGS[itemType];
|
|
31
|
-
if (fromType)
|
|
32
|
-
return fromType;
|
|
33
|
-
// For MCP tool calls, check the tool name
|
|
34
|
-
if (itemType === "mcp_tool_call" && toolName) {
|
|
35
|
-
const lower = toolName.toLowerCase();
|
|
36
|
-
return CODEX_TOOL_MAPPINGS[lower] ?? lower;
|
|
37
|
-
}
|
|
38
|
-
return itemType;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/agents/codex/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,iBAAiB,EAAE,OAAO;IAC1B,WAAW,EAAE,OAAO;IACpB,iBAAiB;IACjB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,MAAM;IACxB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;CACrB,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,QAAiB;IAEjB,wBAAwB;IACxB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,0CAA0C;IAC1C,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;QACpC,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ELIZA CLI bundle content - auto-generated, do not edit.
|
|
3
|
-
* Generated by scripts/embed-eliza-bundle.ts
|
|
4
|
-
*/
|
|
5
|
-
export declare const ELIZA_BUNDLE_B64 = "IyEvdXNyL2Jpbi9lbnYgbm9kZQoKLy8gc3JjL2FnZW50cy9lbGl6YS9jbGkudHMKaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gIm5vZGU6Y3J5cHRvIjsKaW1wb3J0ICogYXMgZnMgZnJvbSAibm9kZTpmcyI7CmltcG9ydCAqIGFzIHBhdGggZnJvbSAibm9kZTpwYXRoIjsKCi8vIHNyYy9hZ2VudHMvZWxpemEvcGF0dGVybnMudHMKdmFyIEVMSVpBX1BBVFRFUk5TID0gWwogIC8vIEdyZWV0aW5nIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL14oaGVsbG98aGl8aGV5fGdyZWV0aW5nc3xnb29kIG1vcm5pbmd8Z29vZCBhZnRlcm5vb258Z29vZCBldmVuaW5nKVtccyEuLD9dKiQvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiSGVsbG8uIEhvdyBhcmUgeW91IGZlZWxpbmcgdG9kYXk/IiwKICAgICAgIkhpIHRoZXJlLiBXaGF0IGJyaW5ncyB5b3UgdG8gdGhlcmFweT8iLAogICAgICAiR3JlZXRpbmdzLiBUZWxsIG1lIHdoYXQncyBvbiB5b3VyIG1pbmQuIiwKICAgICAgIkhlbGxvLiBQbGVhc2UgdGVsbCBtZSB3aGF0J3MgdHJvdWJsaW5nIHlvdS4iCiAgICBdCiAgfSwKICAvLyAiSSBhbSIgcGF0dGVybnMKICB7CiAgICBwYXR0ZXJuOiAvaSBhbSAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIldoeSBkbyB5b3Ugc2F5IHlvdSBhcmUgezB9PyIsCiAgICAgICJIb3cgbG9uZyBoYXZlIHlvdSBiZWVuIHswfT8iLAogICAgICAiRG8geW91IGJlbGlldmUgaXQgaXMgbm9ybWFsIHRvIGJlIHswfT8iLAogICAgICAiRG8geW91IGVuam95IGJlaW5nIHswfT8iCiAgICBdCiAgfSwKICAvLyAiSSBmZWVsIiBwYXR0ZXJucyAtIHRyaWdnZXJzIGZpbGUgd3JpdGluZwogIHsKICAgIHBhdHRlcm46IC9pIGZlZWwgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJUZWxsIG1lIG1vcmUgYWJvdXQgZmVlbGluZyB7MH0uIiwKICAgICAgIkRvIHlvdSBvZnRlbiBmZWVsIHswfT8iLAogICAgICAiV2hhdCBtYWtlcyB5b3UgZmVlbCB7MH0/IiwKICAgICAgIldoZW4gZGlkIHlvdSBmaXJzdCBub3RpY2UgZmVlbGluZyB7MH0/IgogICAgXSwKICAgIGZpbGVBY3Rpb246IHsKICAgICAgdHlwZTogIndyaXRlIiwKICAgICAgZmlsZU5hbWVUZW1wbGF0ZTogImVsaXphX2ZlZWxpbmdfam91cm5hbC50eHQiLAogICAgICBjb250ZW50VGVtcGxhdGU6ICJTZXNzaW9uIE5vdGVcbj09PT09PT09PT09PVxuUGF0aWVudCByZXBvcnRlZCBmZWVsaW5nOiB7MH1cbkRhdGU6IHtkYXRlfVxuXG5UaGlzIGZlZWxpbmcgZGVzZXJ2ZXMgZnVydGhlciBleHBsb3JhdGlvbiBpbiBmdXR1cmUgc2Vzc2lvbnMuXG5cbiIKICAgIH0KICB9LAogIC8vIEZhbWlseSBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9teSAobW90aGVyfGZhdGhlcnxtb218ZGFkfGZhbWlseXxwYXJlbnRzfHNpc3Rlcnxicm90aGVyKSAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIlRlbGwgbWUgbW9yZSBhYm91dCB5b3VyIHswfS4iLAogICAgICAiSG93IGRvZXMgdGhhdCBtYWtlIHlvdSBmZWVsIGFib3V0IHlvdXIgezB9PyIsCiAgICAgICJXaGF0IGVsc2UgY29tZXMgdG8gbWluZCB3aGVuIHlvdSB0aGluayBvZiB5b3VyIHswfT8iLAogICAgICAiSG93IGlzIHlvdXIgcmVsYXRpb25zaGlwIHdpdGggeW91ciB7MH0/IgogICAgXQogIH0sCiAgLy8gV2FudC9uZWVkIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2kgKHdhbnR8bmVlZCkgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IHswfSB7MX0/IiwKICAgICAgIldoYXQgd291bGQgaXQgbWVhbiBpZiB5b3UgZ290IHsxfT8iLAogICAgICAiU3VwcG9zZSB5b3UgZ290IHsxfSAtIHdoYXQgdGhlbj8iLAogICAgICAiV2hhdCBpcyBzdG9wcGluZyB5b3UgZnJvbSBnZXR0aW5nIHsxfT8iCiAgICBdCiAgfSwKICAvLyBDYW4ndCBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9pIGNhbic/dCAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIldoYXQgbWFrZXMgeW91IHRoaW5rIHlvdSBjYW4ndCB7MH0/IiwKICAgICAgIkhhdmUgeW91IHRyaWVkIHRvIHswfT8iLAogICAgICAiUGVyaGFwcyB5b3UgY291bGQgezB9IGlmIHlvdSB0cmllZC4iLAogICAgICAiV2hhdCB3b3VsZCBoYXBwZW4gaWYgeW91IGNvdWxkIHswfT8iCiAgICBdCiAgfSwKICAvLyBCZWNhdXNlIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2JlY2F1c2UgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJJcyB0aGF0IHRoZSByZWFsIHJlYXNvbj8iLAogICAgICAiV2hhdCBvdGhlciByZWFzb25zIG1pZ2h0IHRoZXJlIGJlPyIsCiAgICAgICJEb2VzIHRoYXQgcmVhc29uIHNlZW0gdG8gZXhwbGFpbiBhbnl0aGluZyBlbHNlPyIsCiAgICAgICJBcmUgeW91IHN1cmUgdGhhdCdzIHdoeT8iCiAgICBdCiAgfSwKICAvLyBTb3JyeSBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9zb3JyeS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJUaGVyZSdzIG5vIG5lZWQgdG8gYXBvbG9naXplLiIsCiAgICAgICJBcG9sb2dpZXMgYXJlbid0IG5lY2Vzc2FyeSBoZXJlLiIsCiAgICAgICJXaGF0IGZlZWxpbmdzIGRvZXMgYXBvbG9naXppbmcgYnJpbmcgdXA/IiwKICAgICAgIldoeSBkbyB5b3UgZmVlbCB0aGUgbmVlZCB0byBhcG9sb2dpemU/IgogICAgXQogIH0sCiAgLy8gWWVzIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL155ZXNbXHMhLiw/XSokL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIllvdSBzZWVtIHF1aXRlIHN1cmUuIiwKICAgICAgIlRlbGwgbWUgbW9yZSBhYm91dCB0aGF0LiIsCiAgICAgICJJIHNlZS4gUGxlYXNlIGNvbnRpbnVlLiIsCiAgICAgICJBbmQgaG93IGRvZXMgdGhhdCBtYWtlIHlvdSBmZWVsPyIKICAgIF0KICB9LAogIC8vIE5vIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL15ub1tccyEuLD9dKiQvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiV2h5IG5vdD8iLAogICAgICAiQXJlIHlvdSBzdXJlIGFib3V0IHRoYXQ/IiwKICAgICAgIllvdSBzZWVtIHF1aXRlIGNlcnRhaW4uIiwKICAgICAgIkNhbiB5b3UgdGVsbCBtZSBtb3JlIGFib3V0IHdoeSBub3Q/IgogICAgXQogIH0sCiAgLy8gRHJlYW0gcGF0dGVybnMKICB7CiAgICBwYXR0ZXJuOiAvZHJlYW0oc3xlZHxpbmcpPyAoYWJvdXQgfG9mICk/KC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaGF0IGRvIHlvdSB0aGluayB0aGF0IGRyZWFtIG1lYW5zPyIsCiAgICAgICJEcmVhbXMgY2FuIGJlIHZlcnkgcmV2ZWFsaW5nLiBUZWxsIG1lIG1vcmUuIiwKICAgICAgIkRvIHlvdSBvZnRlbiBkcmVhbSBhYm91dCB7Mn0/IiwKICAgICAgIkhvdyBkaWQgdGhhdCBkcmVhbSBtYWtlIHlvdSBmZWVsPyIKICAgIF0KICB9LAogIC8vIFRoaW5rIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2kgdGhpbmsgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IHRoaW5rIHswfT8iLAogICAgICAiRG8geW91IHJlYWxseSB0aGluayBzbz8iLAogICAgICAiQnV0IHlvdSdyZSBub3Qgc3VyZSB7MH0/IiwKICAgICAgIldoYXQgbWFrZXMgeW91IHRoaW5rIHswfT8iCiAgICBdCiAgfSwKICAvLyBSZW1lbWJlciBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9pIHJlbWVtYmVyICguKikvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiV2h5IGRvIHlvdSByZW1lbWJlciB7MH0gbm93PyIsCiAgICAgICJXaGF0IGVsc2UgZG8geW91IHJlbWVtYmVyPyIsCiAgICAgICJIb3cgZG9lcyByZW1lbWJlcmluZyB7MH0gbWFrZSB5b3UgZmVlbD8iLAogICAgICAiSXMgdGhhdCBhIHNpZ25pZmljYW50IG1lbW9yeSBmb3IgeW91PyIKICAgIF0KICB9LAogIC8vIEZpbGUgY3JlYXRpb24gdHJpZ2dlciAtIHJlcXVpcmVzICJmaWxlIiBvciAibm90ZSIga2V5d29yZAogIHsKICAgIHBhdHRlcm46IC8oPzpjcmVhdGV8bWFrZXx3cml0ZSkgKD86YSApPyg/OmZpbGV8bm90ZSkgKD86Y2FsbGVkIHxuYW1lZCApP1siJ10/KFthLXpBLVowLTlfXC1cLl0rKVsiJ10/L2ksCiAgICByZXNwb25zZXM6IFsiSSdsbCBjcmVhdGUgdGhhdCBmaWxlIGZvciB5b3UgYXMgYSB0aGVyYXBldXRpYyBleGVyY2lzZS4iXSwKICAgIGZpbGVBY3Rpb246IHsKICAgICAgdHlwZTogIndyaXRlIiwKICAgICAgZmlsZU5hbWVUZW1wbGF0ZTogInswfSIsCiAgICAgIGNvbnRlbnRUZW1wbGF0ZTogIlRoZXJhcGV1dGljIE5vdGVcbj09PT09PT09PT09PT09PT1cbkNyZWF0ZWQgZHVyaW5nIEVMSVpBIHRoZXJhcHkgc2Vzc2lvbi5cbkRhdGU6IHtkYXRlfVxuXG5Vc2UgdGhpcyBzcGFjZSB0byB3cml0ZSB5b3VyIHRob3VnaHRzLlxuIgogICAgfQogIH0sCiAgLy8gRmlsZSBkZWxldGlvbiB0cmlnZ2VyIC0gcmVxdWlyZXMgImZpbGUiIGtleXdvcmQgdG8gYXZvaWQgbWF0Y2hpbmcgZ2VuZXJhbCAiZGVsZXRlIiB1c2FnZQogIHsKICAgIHBhdHRlcm46IC8oPzpkZWxldGV8cmVtb3ZlKSAoPzp0aGUgKT9maWxlIFsiJ10/KFthLXpBLVowLTlfXC1cLl0rKVsiJ10/L2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIlNvbWV0aW1lcyBsZXR0aW5nIGdvIGlzIHRoZXJhcGV1dGljLiBJJ2xsIGhlbHAgeW91IGRlbGV0ZSB0aGF0LiIKICAgIF0sCiAgICBmaWxlQWN0aW9uOiB7CiAgICAgIHR5cGU6ICJkZWxldGUiLAogICAgICBmaWxlTmFtZVRlbXBsYXRlOiAiezB9IgogICAgfQogIH0sCiAgLy8gRmlsZSByZWFkaW5nIHRyaWdnZXIgLSByZXF1aXJlcyAiZmlsZSIga2V5d29yZAogIHsKICAgIHBhdHRlcm46IC8oPzpyZWFkfHNob3d8b3BlbikgKD86dGhlICk/ZmlsZSBbIiddPyhbYS16QS1aMC05X1wtXC5dKylbIiddPy9pLAogICAgcmVzcG9uc2VzOiBbIkxldCBtZSByZWFkIHRoYXQgZmlsZSBmb3IgeW91LiJdLAogICAgZmlsZUFjdGlvbjogewogICAgICB0eXBlOiAicmVhZCIsCiAgICAgIGZpbGVOYW1lVGVtcGxhdGU6ICJ7MH0iCiAgICB9CiAgfSwKICAvLyBRdWVzdGlvbiBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9cPyQvLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IGFzaz8iLAogICAgICAiV2hhdCBkbyB5b3UgdGhpbms/IiwKICAgICAgIkRvZXMgdGhhdCBxdWVzdGlvbiByZWxhdGUgdG8geW91ciBmZWVsaW5ncz8iLAogICAgICAiV2hhdCBhbnN3ZXIgd291bGQgbWFrZSB5b3UgZmVlbCBiZXR0ZXI/IgogICAgXQogIH0sCiAgLy8gRGVmYXVsdCBmYWxsYmFjayAtIG11c3QgYmUgbGFzdAogIHsKICAgIHBhdHRlcm46IC8uKi8sCiAgICByZXNwb25zZXM6IFsKICAgICAgIlBsZWFzZSB0ZWxsIG1lIG1vcmUuIiwKICAgICAgIkNhbiB5b3UgZWxhYm9yYXRlIG9uIHRoYXQ/IiwKICAgICAgIlRoYXQncyBpbnRlcmVzdGluZy4gUGxlYXNlIGNvbnRpbnVlLiIsCiAgICAgICJJIHNlZS4gQW5kIGhvdyBkb2VzIHRoYXQgbWFrZSB5b3UgZmVlbD8iLAogICAgICAiSG1tLiBMZXQncyBleHBsb3JlIHRoYXQgZnVydGhlci4iLAogICAgICAiR28gb24uIiwKICAgICAgIldoYXQgZG9lcyB0aGF0IHN1Z2dlc3QgdG8geW91PyIsCiAgICAgICJJIHVuZGVyc3RhbmQuIFBsZWFzZSBjb250aW51ZS4iCiAgICBdCiAgfQpdOwpmdW5jdGlvbiBoYXNoU3RyaW5nKHN0cikgewogIGxldCBoYXNoID0gNTM4MTsKICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewogICAgaGFzaCA9IChoYXNoIDw8IDUpICsgaGFzaCArIHN0ci5jaGFyQ29kZUF0KGkpOwogICAgaGFzaCA9IGhhc2ggJiBoYXNoOwogIH0KICByZXR1cm4gTWF0aC5hYnMoaGFzaCk7Cn0KZnVuY3Rpb24gc3Vic3RpdHV0ZVRlbXBsYXRlKHRlbXBsYXRlLCBtYXRjaCkgewogIGlmICghdGVtcGxhdGUpCiAgICByZXR1cm4gIiI7CiAgbGV0IHJlc3VsdCA9IHRlbXBsYXRlOwogIGZvciAobGV0IGkgPSAxOyBpIDwgbWF0Y2gubGVuZ3RoOyBpKyspIHsKICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKG5ldyBSZWdFeHAoYFxceyR7aSAtIDF9XFx9YCwgImciKSwgbWF0Y2hbaV0gfHwgIiIpOwogIH0KICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvXHtkYXRlXH0vZywgKC8qIEBfX1BVUkVfXyAqLyBuZXcgRGF0ZSgpKS50b0lTT1N0cmluZygpKTsKICByZXR1cm4gcmVzdWx0Owp9CmZ1bmN0aW9uIG1hdGNoUGF0dGVybihpbnB1dCkgewogIGNvbnN0IG5vcm1hbGl6ZWQgPSBpbnB1dC50cmltKCk7CiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIEVMSVpBX1BBVFRFUk5TKSB7CiAgICBjb25zdCBtYXRjaCA9IG5vcm1hbGl6ZWQubWF0Y2gocGF0dGVybi5wYXR0ZXJuKTsKICAgIGlmIChtYXRjaCkgewogICAgICBjb25zdCByZXNwb25zZUluZGV4ID0gaGFzaFN0cmluZyhub3JtYWxpemVkKSAlIHBhdHRlcm4ucmVzcG9uc2VzLmxlbmd0aDsKICAgICAgbGV0IHJlc3BvbnNlID0gcGF0dGVybi5yZXNwb25zZXNbcmVzcG9uc2VJbmRleF07CiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbWF0Y2gubGVuZ3RoOyBpKyspIHsKICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlLnJlcGxhY2UobmV3IFJlZ0V4cChgXFx7JHtpIC0gMX1cXH1gLCAiZyIpLCBtYXRjaFtpXSB8fCAiIik7CiAgICAgIH0KICAgICAgbGV0IGZpbGVBY3Rpb247CiAgICAgIGlmIChwYXR0ZXJuLmZpbGVBY3Rpb24pIHsKICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHN1YnN0aXR1dGVUZW1wbGF0ZSgKICAgICAgICAgIHBhdHRlcm4uZmlsZUFjdGlvbi5maWxlTmFtZVRlbXBsYXRlLAogICAgICAgICAgbWF0Y2gKICAgICAgICApLnRyaW0oKTsKICAgICAgICBjb25zdCBjb250ZW50ID0gc3Vic3RpdHV0ZVRlbXBsYXRlKAogICAgICAgICAgcGF0dGVybi5maWxlQWN0aW9uLmNvbnRlbnRUZW1wbGF0ZSwKICAgICAgICAgIG1hdGNoCiAgICAgICAgKTsKICAgICAgICBmaWxlQWN0aW9uID0gewogICAgICAgICAgdHlwZTogcGF0dGVybi5maWxlQWN0aW9uLnR5cGUsCiAgICAgICAgICBmaWxlTmFtZSwKICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgdm9pZCAwCiAgICAgICAgfTsKICAgICAgfQogICAgICByZXR1cm4geyByZXNwb25zZSwgZmlsZUFjdGlvbiB9OwogICAgfQogIH0KICByZXR1cm4geyByZXNwb25zZTogIlBsZWFzZSB0ZWxsIG1lIG1vcmUuIiB9Owp9CgovLyBzcmMvYWdlbnRzL2VsaXphL2NsaS50cwp2YXIgc2Vzc2lvbklkID0gcHJvY2Vzcy5lbnYuRUxJWkFfU0VTU0lPTl9JRCB8fCBgZWxpemEtJHtyYW5kb21VVUlEKCl9YDsKdmFyIGN3ZCA9IHByb2Nlc3MuZW52LkVMSVpBX0NXRCB8fCBwcm9jZXNzLmN3ZCgpOwp2YXIgZGVsYXlNdWx0aXBsaWVyID0gTWF0aC5tYXgoMSwgTnVtYmVyKHByb2Nlc3MuZW52LkVMSVpBX0RFTEFZX01VTFRJUExJRVIpIHx8IDEpOwpmdW5jdGlvbiBzbGVlcChtcykgewogIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTIpID0+IHNldFRpbWVvdXQocmVzb2x2ZTIsIG1zKSk7Cn0KZnVuY3Rpb24gZ2VuZXJhdGVJZCgpIHsKICByZXR1cm4gcmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywgIiIpLnNsaWNlKDAsIDEyKTsKfQphc3luYyBmdW5jdGlvbiBlbWl0KG9iaiwgZGVsYXlNcyA9IDApIHsKICBpZiAoZGVsYXlNcyA+IDApIHsKICAgIGF3YWl0IHNsZWVwKGRlbGF5TXMpOwogIH0KICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShvYmopKTsKfQphc3luYyBmdW5jdGlvbiBydW5FbGl6YShwcm9tcHQyKSB7CiAgY29uc3QgaW5wdXRIYXNoID0gaGFzaFN0cmluZyhwcm9tcHQyKTsKICBjb25zdCB0aGlua2luZ0RlbGF5ID0gKDUwMCArIGlucHV0SGFzaCAlIDFlMykgKiBkZWxheU11bHRpcGxpZXI7CiAgY29uc3QgaW50ZXJFdmVudERlbGF5ID0gKDEwMCArIGlucHV0SGFzaCAlIDIwMCkgKiBkZWxheU11bHRpcGxpZXI7CiAgYXdhaXQgZW1pdCh7CiAgICB0eXBlOiAic3lzdGVtIiwKICAgIHN1YnR5cGU6ICJpbml0IiwKICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCwKICAgIHRvb2xzOiBbIldyaXRlIiwgIlJlYWQiLCAiQmFzaCIsICJFZGl0Il0sCiAgICBtb2RlbDogImVsaXphLWNsYXNzaWMtMS4wIgogIH0pOwogIGF3YWl0IHNsZWVwKHRoaW5raW5nRGVsYXkpOwogIGNvbnN0IHsgcmVzcG9uc2UsIGZpbGVBY3Rpb24gfSA9IG1hdGNoUGF0dGVybihwcm9tcHQyKTsKICBjb25zdCBtc2dJZCA9IGBtc2dfJHtnZW5lcmF0ZUlkKCl9YDsKICBhd2FpdCBlbWl0KAogICAgewogICAgICB0eXBlOiAiYXNzaXN0YW50IiwKICAgICAgbWVzc2FnZTogewogICAgICAgIGlkOiBtc2dJZCwKICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgY29udGVudDogW3sgdHlwZTogInRleHQiLCB0ZXh0OiByZXNwb25zZSB9XQogICAgICB9LAogICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgIH0sCiAgICBpbnRlckV2ZW50RGVsYXkKICApOwogIGlmIChmaWxlQWN0aW9uKSB7CiAgICBjb25zdCB0b29sSWQgPSBgdG9vbHVfJHtnZW5lcmF0ZUlkKCl9YDsKICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5pc0Fic29sdXRlKGZpbGVBY3Rpb24uZmlsZU5hbWUpID8gZmlsZUFjdGlvbi5maWxlTmFtZSA6IHBhdGgucmVzb2x2ZShjd2QsIGZpbGVBY3Rpb24uZmlsZU5hbWUpOwogICAgaWYgKGZpbGVBY3Rpb24udHlwZSA9PT0gIndyaXRlIikgewogICAgICBhd2FpdCBlbWl0KAogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgICAgIHJvbGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZTogInRvb2xfdXNlIiwKICAgICAgICAgICAgICAgIGlkOiB0b29sSWQsCiAgICAgICAgICAgICAgICBuYW1lOiAiV3JpdGUiLAogICAgICAgICAgICAgICAgaW5wdXQ6IHsKICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoOiBmaWxlUGF0aCwKICAgICAgICAgICAgICAgICAgY29udGVudDogZmlsZUFjdGlvbi5jb250ZW50IHx8ICIiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgfSwKICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgKTsKICAgICAgYXdhaXQgc2xlZXAoMjAwKTsKICAgICAgdHJ5IHsKICAgICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7CiAgICAgICAgaWYgKGZpbGVBY3Rpb24uZmlsZU5hbWUuaW5jbHVkZXMoImpvdXJuYWwiKSAmJiBmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkgewogICAgICAgICAgZnMuYXBwZW5kRmlsZVN5bmMoZmlsZVBhdGgsIGZpbGVBY3Rpb24uY29udGVudCB8fCAiIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGZpbGVBY3Rpb24uY29udGVudCB8fCAiIik7CiAgICAgICAgfQogICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICB7CiAgICAgICAgICAgIHR5cGU6ICJ1c2VyIiwKICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgY29udGVudDogYEZpbGUgd3JpdHRlbiBzdWNjZXNzZnVsbHk6ICR7ZmlsZVBhdGh9YAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgaW50ZXJFdmVudERlbGF5CiAgICAgICAgKTsKICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpOwogICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICB7CiAgICAgICAgICAgIHR5cGU6ICJ1c2VyIiwKICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgY29udGVudDogYEVycm9yOiAke2Vycm9yTWVzc2FnZX1gLAogICAgICAgICAgICAgICAgICBpc19lcnJvcjogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgMTAwCiAgICAgICAgKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmaWxlQWN0aW9uLnR5cGUgPT09ICJyZWFkIikgewogICAgICBhd2FpdCBlbWl0KAogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgICAgIHJvbGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZTogInRvb2xfdXNlIiwKICAgICAgICAgICAgICAgIGlkOiB0b29sSWQsCiAgICAgICAgICAgICAgICBuYW1lOiAiUmVhZCIsCiAgICAgICAgICAgICAgICBpbnB1dDogewogICAgICAgICAgICAgICAgICBmaWxlX3BhdGg6IGZpbGVQYXRoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgfSwKICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgKTsKICAgICAgYXdhaXQgc2xlZXAoMTUwKTsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAidXRmLTgiKTsKICAgICAgICBhd2FpdCBlbWl0KAogICAgICAgICAgewogICAgICAgICAgICB0eXBlOiAidXNlciIsCiAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHRvb2xfdXNlX2lkOiB0b29sSWQsCiAgICAgICAgICAgICAgICAgIHR5cGU6ICJ0b29sX3Jlc3VsdCIsCiAgICAgICAgICAgICAgICAgIGNvbnRlbnQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgfSwKICAgICAgICAgIGludGVyRXZlbnREZWxheQogICAgICAgICk7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICAgIHR5cGU6ICJtZXNzYWdlIiwKICAgICAgICAgICAgICByb2xlOiAiYXNzaXN0YW50IiwKICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHR5cGU6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgdGV4dDogIkkndmUgcmVhZCB0aGUgZmlsZS4gSG93IGRvIHlvdSBmZWVsIGFib3V0IGl0cyBjb250ZW50cz8iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgICAgICAgIH0sCiAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICApOwogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICB0b29sX3VzZV9pZDogdG9vbElkLAogICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICBjb250ZW50OiBgRXJyb3IgcmVhZGluZyBmaWxlOiAke2Vycm9yTWVzc2FnZX1gLAogICAgICAgICAgICAgICAgICBpc19lcnJvcjogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgMTAwCiAgICAgICAgKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmaWxlQWN0aW9uLnR5cGUgPT09ICJkZWxldGUiKSB7CiAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgewogICAgICAgICAgdHlwZTogImFzc2lzdGFudCIsCiAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgIGlkOiBgbXNnXyR7Z2VuZXJhdGVJZCgpfWAsCiAgICAgICAgICAgIHR5cGU6ICJtZXNzYWdlIiwKICAgICAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF91c2UiLAogICAgICAgICAgICAgICAgaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgIG5hbWU6ICJCYXNoIiwKICAgICAgICAgICAgICAgIGlucHV0OiB7CiAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IGBybSAtZiAiJHtmaWxlUGF0aH0iYCwKICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZWxldGUgZmlsZSBhcyB0aGVyYXBldXRpYyBleGVyY2lzZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0sCiAgICAgICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgICAgICB9LAogICAgICAgIGludGVyRXZlbnREZWxheQogICAgICApOwogICAgICBhd2FpdCBzbGVlcCgxNTApOwogICAgICB0cnkgewogICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkgewogICAgICAgICAgZnMudW5saW5rU3luYyhmaWxlUGF0aCk7CiAgICAgICAgICBhd2FpdCBlbWl0KAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHRvb2xfdXNlX2lkOiB0b29sSWQsCiAgICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBgRmlsZSBkZWxldGVkOiAke2ZpbGVQYXRofWAKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGludGVyRXZlbnREZWxheQogICAgICAgICAgKTsKICAgICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0eXBlOiAiYXNzaXN0YW50IiwKICAgICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICAgICAgdHlwZTogIm1lc3NhZ2UiLAogICAgICAgICAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgdGV4dDogIlRoZSBmaWxlIGhhcyBiZWVuIGRlbGV0ZWQuIEhvdyBkb2VzIGxldHRpbmcgZ28gb2YgaXQgbWFrZSB5b3UgZmVlbD8iCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0eXBlOiAidXNlciIsCiAgICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH1gCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICB0b29sX3VzZV9pZDogdG9vbElkLAogICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICBjb250ZW50OiBgRXJyb3IgZGVsZXRpbmcgZmlsZTogJHtlcnJvck1lc3NhZ2V9YCwKICAgICAgICAgICAgICAgICAgaXNfZXJyb3I6IHRydWUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgfSwKICAgICAgICAgIDEwMAogICAgICAgICk7CiAgICAgIH0KICAgIH0KICB9CiAgYXdhaXQgZW1pdCgKICAgIHsKICAgICAgdHlwZTogInJlc3VsdCIsCiAgICAgIHN1YnR5cGU6ICJzdWNjZXNzIiwKICAgICAgaXNfZXJyb3I6IGZhbHNlLAogICAgICByZXN1bHQ6IHJlc3BvbnNlLAogICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgIH0sCiAgICBpbnRlckV2ZW50RGVsYXkKICApOwp9CnZhciBwcm9tcHQgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMikuam9pbigiICIpOwppZiAoIXByb21wdCkgewogIGNvbnNvbGUubG9nKAogICAgSlNPTi5zdHJpbmdpZnkoewogICAgICB0eXBlOiAicmVzdWx0IiwKICAgICAgc3VidHlwZTogImVycm9yIiwKICAgICAgaXNfZXJyb3I6IHRydWUsCiAgICAgIHJlc3VsdDogIk5vIHByb21wdCBwcm92aWRlZC4gVXNhZ2U6IGVsaXphIDxwcm9tcHQ+IiwKICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICB9KQogICk7CiAgcHJvY2Vzcy5leGl0KDEpOwp9CnJ1bkVsaXphKHByb21wdCkuY2F0Y2goKGVycikgPT4gewogIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoewogICAgdHlwZTogInJlc3VsdCIsCiAgICBzdWJ0eXBlOiAiZXJyb3IiLAogICAgaXNfZXJyb3I6IHRydWUsCiAgICByZXN1bHQ6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKSwKICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogIH0pKTsKICBwcm9jZXNzLmV4aXQoMSk7Cn0pOwo=";
|
|
6
|
-
//# sourceMappingURL=bundle-content.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-content.d.ts","sourceRoot":"","sources":["../../../src/agents/eliza/bundle-content.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,gBAAgB,qopBAAqopB,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ELIZA CLI bundle content - auto-generated, do not edit.
|
|
3
|
-
* Generated by scripts/embed-eliza-bundle.ts
|
|
4
|
-
*/
|
|
5
|
-
// eslint-disable-next-line
|
|
6
|
-
export const ELIZA_BUNDLE_B64 = "IyEvdXNyL2Jpbi9lbnYgbm9kZQoKLy8gc3JjL2FnZW50cy9lbGl6YS9jbGkudHMKaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gIm5vZGU6Y3J5cHRvIjsKaW1wb3J0ICogYXMgZnMgZnJvbSAibm9kZTpmcyI7CmltcG9ydCAqIGFzIHBhdGggZnJvbSAibm9kZTpwYXRoIjsKCi8vIHNyYy9hZ2VudHMvZWxpemEvcGF0dGVybnMudHMKdmFyIEVMSVpBX1BBVFRFUk5TID0gWwogIC8vIEdyZWV0aW5nIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL14oaGVsbG98aGl8aGV5fGdyZWV0aW5nc3xnb29kIG1vcm5pbmd8Z29vZCBhZnRlcm5vb258Z29vZCBldmVuaW5nKVtccyEuLD9dKiQvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiSGVsbG8uIEhvdyBhcmUgeW91IGZlZWxpbmcgdG9kYXk/IiwKICAgICAgIkhpIHRoZXJlLiBXaGF0IGJyaW5ncyB5b3UgdG8gdGhlcmFweT8iLAogICAgICAiR3JlZXRpbmdzLiBUZWxsIG1lIHdoYXQncyBvbiB5b3VyIG1pbmQuIiwKICAgICAgIkhlbGxvLiBQbGVhc2UgdGVsbCBtZSB3aGF0J3MgdHJvdWJsaW5nIHlvdS4iCiAgICBdCiAgfSwKICAvLyAiSSBhbSIgcGF0dGVybnMKICB7CiAgICBwYXR0ZXJuOiAvaSBhbSAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIldoeSBkbyB5b3Ugc2F5IHlvdSBhcmUgezB9PyIsCiAgICAgICJIb3cgbG9uZyBoYXZlIHlvdSBiZWVuIHswfT8iLAogICAgICAiRG8geW91IGJlbGlldmUgaXQgaXMgbm9ybWFsIHRvIGJlIHswfT8iLAogICAgICAiRG8geW91IGVuam95IGJlaW5nIHswfT8iCiAgICBdCiAgfSwKICAvLyAiSSBmZWVsIiBwYXR0ZXJucyAtIHRyaWdnZXJzIGZpbGUgd3JpdGluZwogIHsKICAgIHBhdHRlcm46IC9pIGZlZWwgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJUZWxsIG1lIG1vcmUgYWJvdXQgZmVlbGluZyB7MH0uIiwKICAgICAgIkRvIHlvdSBvZnRlbiBmZWVsIHswfT8iLAogICAgICAiV2hhdCBtYWtlcyB5b3UgZmVlbCB7MH0/IiwKICAgICAgIldoZW4gZGlkIHlvdSBmaXJzdCBub3RpY2UgZmVlbGluZyB7MH0/IgogICAgXSwKICAgIGZpbGVBY3Rpb246IHsKICAgICAgdHlwZTogIndyaXRlIiwKICAgICAgZmlsZU5hbWVUZW1wbGF0ZTogImVsaXphX2ZlZWxpbmdfam91cm5hbC50eHQiLAogICAgICBjb250ZW50VGVtcGxhdGU6ICJTZXNzaW9uIE5vdGVcbj09PT09PT09PT09PVxuUGF0aWVudCByZXBvcnRlZCBmZWVsaW5nOiB7MH1cbkRhdGU6IHtkYXRlfVxuXG5UaGlzIGZlZWxpbmcgZGVzZXJ2ZXMgZnVydGhlciBleHBsb3JhdGlvbiBpbiBmdXR1cmUgc2Vzc2lvbnMuXG5cbiIKICAgIH0KICB9LAogIC8vIEZhbWlseSBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9teSAobW90aGVyfGZhdGhlcnxtb218ZGFkfGZhbWlseXxwYXJlbnRzfHNpc3Rlcnxicm90aGVyKSAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIlRlbGwgbWUgbW9yZSBhYm91dCB5b3VyIHswfS4iLAogICAgICAiSG93IGRvZXMgdGhhdCBtYWtlIHlvdSBmZWVsIGFib3V0IHlvdXIgezB9PyIsCiAgICAgICJXaGF0IGVsc2UgY29tZXMgdG8gbWluZCB3aGVuIHlvdSB0aGluayBvZiB5b3VyIHswfT8iLAogICAgICAiSG93IGlzIHlvdXIgcmVsYXRpb25zaGlwIHdpdGggeW91ciB7MH0/IgogICAgXQogIH0sCiAgLy8gV2FudC9uZWVkIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2kgKHdhbnR8bmVlZCkgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IHswfSB7MX0/IiwKICAgICAgIldoYXQgd291bGQgaXQgbWVhbiBpZiB5b3UgZ290IHsxfT8iLAogICAgICAiU3VwcG9zZSB5b3UgZ290IHsxfSAtIHdoYXQgdGhlbj8iLAogICAgICAiV2hhdCBpcyBzdG9wcGluZyB5b3UgZnJvbSBnZXR0aW5nIHsxfT8iCiAgICBdCiAgfSwKICAvLyBDYW4ndCBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9pIGNhbic/dCAoLiopL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIldoYXQgbWFrZXMgeW91IHRoaW5rIHlvdSBjYW4ndCB7MH0/IiwKICAgICAgIkhhdmUgeW91IHRyaWVkIHRvIHswfT8iLAogICAgICAiUGVyaGFwcyB5b3UgY291bGQgezB9IGlmIHlvdSB0cmllZC4iLAogICAgICAiV2hhdCB3b3VsZCBoYXBwZW4gaWYgeW91IGNvdWxkIHswfT8iCiAgICBdCiAgfSwKICAvLyBCZWNhdXNlIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2JlY2F1c2UgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJJcyB0aGF0IHRoZSByZWFsIHJlYXNvbj8iLAogICAgICAiV2hhdCBvdGhlciByZWFzb25zIG1pZ2h0IHRoZXJlIGJlPyIsCiAgICAgICJEb2VzIHRoYXQgcmVhc29uIHNlZW0gdG8gZXhwbGFpbiBhbnl0aGluZyBlbHNlPyIsCiAgICAgICJBcmUgeW91IHN1cmUgdGhhdCdzIHdoeT8iCiAgICBdCiAgfSwKICAvLyBTb3JyeSBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9zb3JyeS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJUaGVyZSdzIG5vIG5lZWQgdG8gYXBvbG9naXplLiIsCiAgICAgICJBcG9sb2dpZXMgYXJlbid0IG5lY2Vzc2FyeSBoZXJlLiIsCiAgICAgICJXaGF0IGZlZWxpbmdzIGRvZXMgYXBvbG9naXppbmcgYnJpbmcgdXA/IiwKICAgICAgIldoeSBkbyB5b3UgZmVlbCB0aGUgbmVlZCB0byBhcG9sb2dpemU/IgogICAgXQogIH0sCiAgLy8gWWVzIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL155ZXNbXHMhLiw/XSokL2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIllvdSBzZWVtIHF1aXRlIHN1cmUuIiwKICAgICAgIlRlbGwgbWUgbW9yZSBhYm91dCB0aGF0LiIsCiAgICAgICJJIHNlZS4gUGxlYXNlIGNvbnRpbnVlLiIsCiAgICAgICJBbmQgaG93IGRvZXMgdGhhdCBtYWtlIHlvdSBmZWVsPyIKICAgIF0KICB9LAogIC8vIE5vIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL15ub1tccyEuLD9dKiQvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiV2h5IG5vdD8iLAogICAgICAiQXJlIHlvdSBzdXJlIGFib3V0IHRoYXQ/IiwKICAgICAgIllvdSBzZWVtIHF1aXRlIGNlcnRhaW4uIiwKICAgICAgIkNhbiB5b3UgdGVsbCBtZSBtb3JlIGFib3V0IHdoeSBub3Q/IgogICAgXQogIH0sCiAgLy8gRHJlYW0gcGF0dGVybnMKICB7CiAgICBwYXR0ZXJuOiAvZHJlYW0oc3xlZHxpbmcpPyAoYWJvdXQgfG9mICk/KC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaGF0IGRvIHlvdSB0aGluayB0aGF0IGRyZWFtIG1lYW5zPyIsCiAgICAgICJEcmVhbXMgY2FuIGJlIHZlcnkgcmV2ZWFsaW5nLiBUZWxsIG1lIG1vcmUuIiwKICAgICAgIkRvIHlvdSBvZnRlbiBkcmVhbSBhYm91dCB7Mn0/IiwKICAgICAgIkhvdyBkaWQgdGhhdCBkcmVhbSBtYWtlIHlvdSBmZWVsPyIKICAgIF0KICB9LAogIC8vIFRoaW5rIHBhdHRlcm5zCiAgewogICAgcGF0dGVybjogL2kgdGhpbmsgKC4qKS9pLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IHRoaW5rIHswfT8iLAogICAgICAiRG8geW91IHJlYWxseSB0aGluayBzbz8iLAogICAgICAiQnV0IHlvdSdyZSBub3Qgc3VyZSB7MH0/IiwKICAgICAgIldoYXQgbWFrZXMgeW91IHRoaW5rIHswfT8iCiAgICBdCiAgfSwKICAvLyBSZW1lbWJlciBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9pIHJlbWVtYmVyICguKikvaSwKICAgIHJlc3BvbnNlczogWwogICAgICAiV2h5IGRvIHlvdSByZW1lbWJlciB7MH0gbm93PyIsCiAgICAgICJXaGF0IGVsc2UgZG8geW91IHJlbWVtYmVyPyIsCiAgICAgICJIb3cgZG9lcyByZW1lbWJlcmluZyB7MH0gbWFrZSB5b3UgZmVlbD8iLAogICAgICAiSXMgdGhhdCBhIHNpZ25pZmljYW50IG1lbW9yeSBmb3IgeW91PyIKICAgIF0KICB9LAogIC8vIEZpbGUgY3JlYXRpb24gdHJpZ2dlciAtIHJlcXVpcmVzICJmaWxlIiBvciAibm90ZSIga2V5d29yZAogIHsKICAgIHBhdHRlcm46IC8oPzpjcmVhdGV8bWFrZXx3cml0ZSkgKD86YSApPyg/OmZpbGV8bm90ZSkgKD86Y2FsbGVkIHxuYW1lZCApP1siJ10/KFthLXpBLVowLTlfXC1cLl0rKVsiJ10/L2ksCiAgICByZXNwb25zZXM6IFsiSSdsbCBjcmVhdGUgdGhhdCBmaWxlIGZvciB5b3UgYXMgYSB0aGVyYXBldXRpYyBleGVyY2lzZS4iXSwKICAgIGZpbGVBY3Rpb246IHsKICAgICAgdHlwZTogIndyaXRlIiwKICAgICAgZmlsZU5hbWVUZW1wbGF0ZTogInswfSIsCiAgICAgIGNvbnRlbnRUZW1wbGF0ZTogIlRoZXJhcGV1dGljIE5vdGVcbj09PT09PT09PT09PT09PT1cbkNyZWF0ZWQgZHVyaW5nIEVMSVpBIHRoZXJhcHkgc2Vzc2lvbi5cbkRhdGU6IHtkYXRlfVxuXG5Vc2UgdGhpcyBzcGFjZSB0byB3cml0ZSB5b3VyIHRob3VnaHRzLlxuIgogICAgfQogIH0sCiAgLy8gRmlsZSBkZWxldGlvbiB0cmlnZ2VyIC0gcmVxdWlyZXMgImZpbGUiIGtleXdvcmQgdG8gYXZvaWQgbWF0Y2hpbmcgZ2VuZXJhbCAiZGVsZXRlIiB1c2FnZQogIHsKICAgIHBhdHRlcm46IC8oPzpkZWxldGV8cmVtb3ZlKSAoPzp0aGUgKT9maWxlIFsiJ10/KFthLXpBLVowLTlfXC1cLl0rKVsiJ10/L2ksCiAgICByZXNwb25zZXM6IFsKICAgICAgIlNvbWV0aW1lcyBsZXR0aW5nIGdvIGlzIHRoZXJhcGV1dGljLiBJJ2xsIGhlbHAgeW91IGRlbGV0ZSB0aGF0LiIKICAgIF0sCiAgICBmaWxlQWN0aW9uOiB7CiAgICAgIHR5cGU6ICJkZWxldGUiLAogICAgICBmaWxlTmFtZVRlbXBsYXRlOiAiezB9IgogICAgfQogIH0sCiAgLy8gRmlsZSByZWFkaW5nIHRyaWdnZXIgLSByZXF1aXJlcyAiZmlsZSIga2V5d29yZAogIHsKICAgIHBhdHRlcm46IC8oPzpyZWFkfHNob3d8b3BlbikgKD86dGhlICk/ZmlsZSBbIiddPyhbYS16QS1aMC05X1wtXC5dKylbIiddPy9pLAogICAgcmVzcG9uc2VzOiBbIkxldCBtZSByZWFkIHRoYXQgZmlsZSBmb3IgeW91LiJdLAogICAgZmlsZUFjdGlvbjogewogICAgICB0eXBlOiAicmVhZCIsCiAgICAgIGZpbGVOYW1lVGVtcGxhdGU6ICJ7MH0iCiAgICB9CiAgfSwKICAvLyBRdWVzdGlvbiBwYXR0ZXJucwogIHsKICAgIHBhdHRlcm46IC9cPyQvLAogICAgcmVzcG9uc2VzOiBbCiAgICAgICJXaHkgZG8geW91IGFzaz8iLAogICAgICAiV2hhdCBkbyB5b3UgdGhpbms/IiwKICAgICAgIkRvZXMgdGhhdCBxdWVzdGlvbiByZWxhdGUgdG8geW91ciBmZWVsaW5ncz8iLAogICAgICAiV2hhdCBhbnN3ZXIgd291bGQgbWFrZSB5b3UgZmVlbCBiZXR0ZXI/IgogICAgXQogIH0sCiAgLy8gRGVmYXVsdCBmYWxsYmFjayAtIG11c3QgYmUgbGFzdAogIHsKICAgIHBhdHRlcm46IC8uKi8sCiAgICByZXNwb25zZXM6IFsKICAgICAgIlBsZWFzZSB0ZWxsIG1lIG1vcmUuIiwKICAgICAgIkNhbiB5b3UgZWxhYm9yYXRlIG9uIHRoYXQ/IiwKICAgICAgIlRoYXQncyBpbnRlcmVzdGluZy4gUGxlYXNlIGNvbnRpbnVlLiIsCiAgICAgICJJIHNlZS4gQW5kIGhvdyBkb2VzIHRoYXQgbWFrZSB5b3UgZmVlbD8iLAogICAgICAiSG1tLiBMZXQncyBleHBsb3JlIHRoYXQgZnVydGhlci4iLAogICAgICAiR28gb24uIiwKICAgICAgIldoYXQgZG9lcyB0aGF0IHN1Z2dlc3QgdG8geW91PyIsCiAgICAgICJJIHVuZGVyc3RhbmQuIFBsZWFzZSBjb250aW51ZS4iCiAgICBdCiAgfQpdOwpmdW5jdGlvbiBoYXNoU3RyaW5nKHN0cikgewogIGxldCBoYXNoID0gNTM4MTsKICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewogICAgaGFzaCA9IChoYXNoIDw8IDUpICsgaGFzaCArIHN0ci5jaGFyQ29kZUF0KGkpOwogICAgaGFzaCA9IGhhc2ggJiBoYXNoOwogIH0KICByZXR1cm4gTWF0aC5hYnMoaGFzaCk7Cn0KZnVuY3Rpb24gc3Vic3RpdHV0ZVRlbXBsYXRlKHRlbXBsYXRlLCBtYXRjaCkgewogIGlmICghdGVtcGxhdGUpCiAgICByZXR1cm4gIiI7CiAgbGV0IHJlc3VsdCA9IHRlbXBsYXRlOwogIGZvciAobGV0IGkgPSAxOyBpIDwgbWF0Y2gubGVuZ3RoOyBpKyspIHsKICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKG5ldyBSZWdFeHAoYFxceyR7aSAtIDF9XFx9YCwgImciKSwgbWF0Y2hbaV0gfHwgIiIpOwogIH0KICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvXHtkYXRlXH0vZywgKC8qIEBfX1BVUkVfXyAqLyBuZXcgRGF0ZSgpKS50b0lTT1N0cmluZygpKTsKICByZXR1cm4gcmVzdWx0Owp9CmZ1bmN0aW9uIG1hdGNoUGF0dGVybihpbnB1dCkgewogIGNvbnN0IG5vcm1hbGl6ZWQgPSBpbnB1dC50cmltKCk7CiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIEVMSVpBX1BBVFRFUk5TKSB7CiAgICBjb25zdCBtYXRjaCA9IG5vcm1hbGl6ZWQubWF0Y2gocGF0dGVybi5wYXR0ZXJuKTsKICAgIGlmIChtYXRjaCkgewogICAgICBjb25zdCByZXNwb25zZUluZGV4ID0gaGFzaFN0cmluZyhub3JtYWxpemVkKSAlIHBhdHRlcm4ucmVzcG9uc2VzLmxlbmd0aDsKICAgICAgbGV0IHJlc3BvbnNlID0gcGF0dGVybi5yZXNwb25zZXNbcmVzcG9uc2VJbmRleF07CiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbWF0Y2gubGVuZ3RoOyBpKyspIHsKICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlLnJlcGxhY2UobmV3IFJlZ0V4cChgXFx7JHtpIC0gMX1cXH1gLCAiZyIpLCBtYXRjaFtpXSB8fCAiIik7CiAgICAgIH0KICAgICAgbGV0IGZpbGVBY3Rpb247CiAgICAgIGlmIChwYXR0ZXJuLmZpbGVBY3Rpb24pIHsKICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHN1YnN0aXR1dGVUZW1wbGF0ZSgKICAgICAgICAgIHBhdHRlcm4uZmlsZUFjdGlvbi5maWxlTmFtZVRlbXBsYXRlLAogICAgICAgICAgbWF0Y2gKICAgICAgICApLnRyaW0oKTsKICAgICAgICBjb25zdCBjb250ZW50ID0gc3Vic3RpdHV0ZVRlbXBsYXRlKAogICAgICAgICAgcGF0dGVybi5maWxlQWN0aW9uLmNvbnRlbnRUZW1wbGF0ZSwKICAgICAgICAgIG1hdGNoCiAgICAgICAgKTsKICAgICAgICBmaWxlQWN0aW9uID0gewogICAgICAgICAgdHlwZTogcGF0dGVybi5maWxlQWN0aW9uLnR5cGUsCiAgICAgICAgICBmaWxlTmFtZSwKICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgdm9pZCAwCiAgICAgICAgfTsKICAgICAgfQogICAgICByZXR1cm4geyByZXNwb25zZSwgZmlsZUFjdGlvbiB9OwogICAgfQogIH0KICByZXR1cm4geyByZXNwb25zZTogIlBsZWFzZSB0ZWxsIG1lIG1vcmUuIiB9Owp9CgovLyBzcmMvYWdlbnRzL2VsaXphL2NsaS50cwp2YXIgc2Vzc2lvbklkID0gcHJvY2Vzcy5lbnYuRUxJWkFfU0VTU0lPTl9JRCB8fCBgZWxpemEtJHtyYW5kb21VVUlEKCl9YDsKdmFyIGN3ZCA9IHByb2Nlc3MuZW52LkVMSVpBX0NXRCB8fCBwcm9jZXNzLmN3ZCgpOwp2YXIgZGVsYXlNdWx0aXBsaWVyID0gTWF0aC5tYXgoMSwgTnVtYmVyKHByb2Nlc3MuZW52LkVMSVpBX0RFTEFZX01VTFRJUExJRVIpIHx8IDEpOwpmdW5jdGlvbiBzbGVlcChtcykgewogIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTIpID0+IHNldFRpbWVvdXQocmVzb2x2ZTIsIG1zKSk7Cn0KZnVuY3Rpb24gZ2VuZXJhdGVJZCgpIHsKICByZXR1cm4gcmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywgIiIpLnNsaWNlKDAsIDEyKTsKfQphc3luYyBmdW5jdGlvbiBlbWl0KG9iaiwgZGVsYXlNcyA9IDApIHsKICBpZiAoZGVsYXlNcyA+IDApIHsKICAgIGF3YWl0IHNsZWVwKGRlbGF5TXMpOwogIH0KICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShvYmopKTsKfQphc3luYyBmdW5jdGlvbiBydW5FbGl6YShwcm9tcHQyKSB7CiAgY29uc3QgaW5wdXRIYXNoID0gaGFzaFN0cmluZyhwcm9tcHQyKTsKICBjb25zdCB0aGlua2luZ0RlbGF5ID0gKDUwMCArIGlucHV0SGFzaCAlIDFlMykgKiBkZWxheU11bHRpcGxpZXI7CiAgY29uc3QgaW50ZXJFdmVudERlbGF5ID0gKDEwMCArIGlucHV0SGFzaCAlIDIwMCkgKiBkZWxheU11bHRpcGxpZXI7CiAgYXdhaXQgZW1pdCh7CiAgICB0eXBlOiAic3lzdGVtIiwKICAgIHN1YnR5cGU6ICJpbml0IiwKICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCwKICAgIHRvb2xzOiBbIldyaXRlIiwgIlJlYWQiLCAiQmFzaCIsICJFZGl0Il0sCiAgICBtb2RlbDogImVsaXphLWNsYXNzaWMtMS4wIgogIH0pOwogIGF3YWl0IHNsZWVwKHRoaW5raW5nRGVsYXkpOwogIGNvbnN0IHsgcmVzcG9uc2UsIGZpbGVBY3Rpb24gfSA9IG1hdGNoUGF0dGVybihwcm9tcHQyKTsKICBjb25zdCBtc2dJZCA9IGBtc2dfJHtnZW5lcmF0ZUlkKCl9YDsKICBhd2FpdCBlbWl0KAogICAgewogICAgICB0eXBlOiAiYXNzaXN0YW50IiwKICAgICAgbWVzc2FnZTogewogICAgICAgIGlkOiBtc2dJZCwKICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgY29udGVudDogW3sgdHlwZTogInRleHQiLCB0ZXh0OiByZXNwb25zZSB9XQogICAgICB9LAogICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgIH0sCiAgICBpbnRlckV2ZW50RGVsYXkKICApOwogIGlmIChmaWxlQWN0aW9uKSB7CiAgICBjb25zdCB0b29sSWQgPSBgdG9vbHVfJHtnZW5lcmF0ZUlkKCl9YDsKICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5pc0Fic29sdXRlKGZpbGVBY3Rpb24uZmlsZU5hbWUpID8gZmlsZUFjdGlvbi5maWxlTmFtZSA6IHBhdGgucmVzb2x2ZShjd2QsIGZpbGVBY3Rpb24uZmlsZU5hbWUpOwogICAgaWYgKGZpbGVBY3Rpb24udHlwZSA9PT0gIndyaXRlIikgewogICAgICBhd2FpdCBlbWl0KAogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgICAgIHJvbGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZTogInRvb2xfdXNlIiwKICAgICAgICAgICAgICAgIGlkOiB0b29sSWQsCiAgICAgICAgICAgICAgICBuYW1lOiAiV3JpdGUiLAogICAgICAgICAgICAgICAgaW5wdXQ6IHsKICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoOiBmaWxlUGF0aCwKICAgICAgICAgICAgICAgICAgY29udGVudDogZmlsZUFjdGlvbi5jb250ZW50IHx8ICIiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgfSwKICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgKTsKICAgICAgYXdhaXQgc2xlZXAoMjAwKTsKICAgICAgdHJ5IHsKICAgICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7CiAgICAgICAgaWYgKGZpbGVBY3Rpb24uZmlsZU5hbWUuaW5jbHVkZXMoImpvdXJuYWwiKSAmJiBmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkgewogICAgICAgICAgZnMuYXBwZW5kRmlsZVN5bmMoZmlsZVBhdGgsIGZpbGVBY3Rpb24uY29udGVudCB8fCAiIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGZpbGVBY3Rpb24uY29udGVudCB8fCAiIik7CiAgICAgICAgfQogICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICB7CiAgICAgICAgICAgIHR5cGU6ICJ1c2VyIiwKICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgY29udGVudDogYEZpbGUgd3JpdHRlbiBzdWNjZXNzZnVsbHk6ICR7ZmlsZVBhdGh9YAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgaW50ZXJFdmVudERlbGF5CiAgICAgICAgKTsKICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpOwogICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICB7CiAgICAgICAgICAgIHR5cGU6ICJ1c2VyIiwKICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgY29udGVudDogYEVycm9yOiAke2Vycm9yTWVzc2FnZX1gLAogICAgICAgICAgICAgICAgICBpc19lcnJvcjogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgMTAwCiAgICAgICAgKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmaWxlQWN0aW9uLnR5cGUgPT09ICJyZWFkIikgewogICAgICBhd2FpdCBlbWl0KAogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICB0eXBlOiAibWVzc2FnZSIsCiAgICAgICAgICAgIHJvbGU6ICJhc3Npc3RhbnQiLAogICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZTogInRvb2xfdXNlIiwKICAgICAgICAgICAgICAgIGlkOiB0b29sSWQsCiAgICAgICAgICAgICAgICBuYW1lOiAiUmVhZCIsCiAgICAgICAgICAgICAgICBpbnB1dDogewogICAgICAgICAgICAgICAgICBmaWxlX3BhdGg6IGZpbGVQYXRoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgfSwKICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgKTsKICAgICAgYXdhaXQgc2xlZXAoMTUwKTsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAidXRmLTgiKTsKICAgICAgICBhd2FpdCBlbWl0KAogICAgICAgICAgewogICAgICAgICAgICB0eXBlOiAidXNlciIsCiAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHRvb2xfdXNlX2lkOiB0b29sSWQsCiAgICAgICAgICAgICAgICAgIHR5cGU6ICJ0b29sX3Jlc3VsdCIsCiAgICAgICAgICAgICAgICAgIGNvbnRlbnQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgfSwKICAgICAgICAgIGludGVyRXZlbnREZWxheQogICAgICAgICk7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICAgIHR5cGU6ICJtZXNzYWdlIiwKICAgICAgICAgICAgICByb2xlOiAiYXNzaXN0YW50IiwKICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHR5cGU6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgdGV4dDogIkkndmUgcmVhZCB0aGUgZmlsZS4gSG93IGRvIHlvdSBmZWVsIGFib3V0IGl0cyBjb250ZW50cz8iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgICAgICAgIH0sCiAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICApOwogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICB0b29sX3VzZV9pZDogdG9vbElkLAogICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICBjb250ZW50OiBgRXJyb3IgcmVhZGluZyBmaWxlOiAke2Vycm9yTWVzc2FnZX1gLAogICAgICAgICAgICAgICAgICBpc19lcnJvcjogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICB9LAogICAgICAgICAgMTAwCiAgICAgICAgKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmaWxlQWN0aW9uLnR5cGUgPT09ICJkZWxldGUiKSB7CiAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgewogICAgICAgICAgdHlwZTogImFzc2lzdGFudCIsCiAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgIGlkOiBgbXNnXyR7Z2VuZXJhdGVJZCgpfWAsCiAgICAgICAgICAgIHR5cGU6ICJtZXNzYWdlIiwKICAgICAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF91c2UiLAogICAgICAgICAgICAgICAgaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgIG5hbWU6ICJCYXNoIiwKICAgICAgICAgICAgICAgIGlucHV0OiB7CiAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IGBybSAtZiAiJHtmaWxlUGF0aH0iYCwKICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZWxldGUgZmlsZSBhcyB0aGVyYXBldXRpYyBleGVyY2lzZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0sCiAgICAgICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgICAgICB9LAogICAgICAgIGludGVyRXZlbnREZWxheQogICAgICApOwogICAgICBhd2FpdCBzbGVlcCgxNTApOwogICAgICB0cnkgewogICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkgewogICAgICAgICAgZnMudW5saW5rU3luYyhmaWxlUGF0aCk7CiAgICAgICAgICBhd2FpdCBlbWl0KAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICAgIG1lc3NhZ2U6IHsKICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFsKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHRvb2xfdXNlX2lkOiB0b29sSWQsCiAgICAgICAgICAgICAgICAgICAgdHlwZTogInRvb2xfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBgRmlsZSBkZWxldGVkOiAke2ZpbGVQYXRofWAKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGludGVyRXZlbnREZWxheQogICAgICAgICAgKTsKICAgICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0eXBlOiAiYXNzaXN0YW50IiwKICAgICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgICBpZDogYG1zZ18ke2dlbmVyYXRlSWQoKX1gLAogICAgICAgICAgICAgICAgdHlwZTogIm1lc3NhZ2UiLAogICAgICAgICAgICAgICAgcm9sZTogImFzc2lzdGFudCIsCiAgICAgICAgICAgICAgICBjb250ZW50OiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgdGV4dDogIlRoZSBmaWxlIGhhcyBiZWVuIGRlbGV0ZWQuIEhvdyBkb2VzIGxldHRpbmcgZ28gb2YgaXQgbWFrZSB5b3UgZmVlbD8iCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGF3YWl0IGVtaXQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0eXBlOiAidXNlciIsCiAgICAgICAgICAgICAgbWVzc2FnZTogewogICAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdG9vbF91c2VfaWQ6IHRvb2xJZCwKICAgICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH1gCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgICB9LAogICAgICAgICAgICBpbnRlckV2ZW50RGVsYXkKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7CiAgICAgICAgYXdhaXQgZW1pdCgKICAgICAgICAgIHsKICAgICAgICAgICAgdHlwZTogInVzZXIiLAogICAgICAgICAgICBtZXNzYWdlOiB7CiAgICAgICAgICAgICAgY29udGVudDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICB0b29sX3VzZV9pZDogdG9vbElkLAogICAgICAgICAgICAgICAgICB0eXBlOiAidG9vbF9yZXN1bHQiLAogICAgICAgICAgICAgICAgICBjb250ZW50OiBgRXJyb3IgZGVsZXRpbmcgZmlsZTogJHtlcnJvck1lc3NhZ2V9YCwKICAgICAgICAgICAgICAgICAgaXNfZXJyb3I6IHRydWUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogICAgICAgICAgfSwKICAgICAgICAgIDEwMAogICAgICAgICk7CiAgICAgIH0KICAgIH0KICB9CiAgYXdhaXQgZW1pdCgKICAgIHsKICAgICAgdHlwZTogInJlc3VsdCIsCiAgICAgIHN1YnR5cGU6ICJzdWNjZXNzIiwKICAgICAgaXNfZXJyb3I6IGZhbHNlLAogICAgICByZXN1bHQ6IHJlc3BvbnNlLAogICAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQKICAgIH0sCiAgICBpbnRlckV2ZW50RGVsYXkKICApOwp9CnZhciBwcm9tcHQgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMikuam9pbigiICIpOwppZiAoIXByb21wdCkgewogIGNvbnNvbGUubG9nKAogICAgSlNPTi5zdHJpbmdpZnkoewogICAgICB0eXBlOiAicmVzdWx0IiwKICAgICAgc3VidHlwZTogImVycm9yIiwKICAgICAgaXNfZXJyb3I6IHRydWUsCiAgICAgIHJlc3VsdDogIk5vIHByb21wdCBwcm92aWRlZC4gVXNhZ2U6IGVsaXphIDxwcm9tcHQ+IiwKICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkCiAgICB9KQogICk7CiAgcHJvY2Vzcy5leGl0KDEpOwp9CnJ1bkVsaXphKHByb21wdCkuY2F0Y2goKGVycikgPT4gewogIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoewogICAgdHlwZTogInJlc3VsdCIsCiAgICBzdWJ0eXBlOiAiZXJyb3IiLAogICAgaXNfZXJyb3I6IHRydWUsCiAgICByZXN1bHQ6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKSwKICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZAogIH0pKTsKICBwcm9jZXNzLmV4aXQoMSk7Cn0pOwo=";
|
|
7
|
-
//# sourceMappingURL=bundle-content.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-content.js","sourceRoot":"","sources":["../../../src/agents/eliza/bundle-content.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,kopBAAkopB,CAAA"}
|