@marcopeg/hal 1.0.26 → 1.0.27
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 +49 -54
- package/dist/bot/commands/session.d.ts.map +1 -1
- package/dist/bot/commands/session.js +8 -4
- package/dist/bot/commands/session.js.map +1 -1
- package/dist/bot/handlers/document.d.ts.map +1 -1
- package/dist/bot/handlers/document.js +8 -4
- package/dist/bot/handlers/document.js.map +1 -1
- package/dist/bot/handlers/photo.d.ts.map +1 -1
- package/dist/bot/handlers/photo.js +8 -4
- package/dist/bot/handlers/photo.js.map +1 -1
- package/dist/bot/handlers/text.d.ts.map +1 -1
- package/dist/bot/handlers/text.js +8 -4
- package/dist/bot/handlers/text.js.map +1 -1
- package/dist/bot/handlers/voice.d.ts.map +1 -1
- package/dist/bot/handlers/voice.js +8 -4
- package/dist/bot/handlers/voice.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +20 -2
- package/dist/bot.js.map +1 -1
- package/dist/cli.js +54 -23
- package/dist/cli.js.map +1 -1
- package/dist/config-watcher.d.ts +7 -3
- package/dist/config-watcher.d.ts.map +1 -1
- package/dist/config-watcher.js +6 -4
- package/dist/config-watcher.js.map +1 -1
- package/dist/config.d.ts +49 -146
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +140 -39
- package/dist/config.js.map +1 -1
- package/dist/default-models.d.ts.map +1 -1
- package/dist/default-models.js +3 -4
- package/dist/default-models.js.map +1 -1
- package/dist/engine/adapters/antigravity.d.ts.map +1 -1
- package/dist/engine/adapters/antigravity.js +7 -3
- package/dist/engine/adapters/antigravity.js.map +1 -1
- package/dist/engine/adapters/claude.d.ts.map +1 -1
- package/dist/engine/adapters/claude.js +16 -6
- package/dist/engine/adapters/claude.js.map +1 -1
- package/dist/engine/adapters/codex.d.ts.map +1 -1
- package/dist/engine/adapters/codex.js +28 -5
- package/dist/engine/adapters/codex.js.map +1 -1
- package/dist/engine/adapters/copilot.js +2 -2
- package/dist/engine/adapters/copilot.js.map +1 -1
- package/dist/engine/adapters/cursor.d.ts.map +1 -1
- package/dist/engine/adapters/cursor.js +45 -5
- package/dist/engine/adapters/cursor.js.map +1 -1
- package/dist/engine/adapters/opencode.d.ts.map +1 -1
- package/dist/engine/adapters/opencode.js +4 -2
- package/dist/engine/adapters/opencode.js.map +1 -1
- package/dist/engine/cli-available.d.ts +9 -1
- package/dist/engine/cli-available.d.ts.map +1 -1
- package/dist/engine/cli-available.js +27 -2
- package/dist/engine/cli-available.js.map +1 -1
- package/dist/engine/codex-sessions.d.ts +7 -0
- package/dist/engine/codex-sessions.d.ts.map +1 -0
- package/dist/engine/codex-sessions.js +90 -0
- package/dist/engine/codex-sessions.js.map +1 -0
- package/dist/init-template.yaml +5 -8
- package/package.json +1 -1
- package/dist/bot/commands/clear.d.ts +0 -4
- package/dist/bot/commands/clear.d.ts.map +0 -1
- package/dist/bot/commands/clear.js +0 -24
- package/dist/bot/commands/clear.js.map +0 -1
- package/dist/bot/commands/tasks.d.ts +0 -5
- package/dist/bot/commands/tasks.d.ts.map +0 -1
- package/dist/bot/commands/tasks.js +0 -123
- package/dist/bot/commands/tasks.js.map +0 -1
- package/dist/claude/executor.d.ts +0 -21
- package/dist/claude/executor.d.ts.map +0 -1
- package/dist/claude/executor.js +0 -185
- package/dist/claude/executor.js.map +0 -1
- package/dist/claude/parser.d.ts +0 -13
- package/dist/claude/parser.d.ts.map +0 -1
- package/dist/claude/parser.js +0 -63
- package/dist/claude/parser.js.map +0 -1
- package/dist/engine/detect.d.ts +0 -26
- package/dist/engine/detect.d.ts.map +0 -1
- package/dist/engine/detect.js +0 -129
- package/dist/engine/detect.js.map +0 -1
- package/dist/engine/model-cache.d.ts +0 -25
- package/dist/engine/model-cache.d.ts.map +0 -1
- package/dist/engine/model-cache.js +0 -162
- package/dist/engine/model-cache.js.map +0 -1
- package/dist/engine/model-validation.d.ts +0 -9
- package/dist/engine/model-validation.d.ts.map +0 -1
- package/dist/engine/model-validation.js +0 -21
- package/dist/engine/model-validation.js.map +0 -1
- package/dist/engine/models-data.generated.d.ts +0 -4
- package/dist/engine/models-data.generated.d.ts.map +0 -1
- package/dist/engine/models-data.generated.js +0 -196
- package/dist/engine/models-data.generated.js.map +0 -1
- package/dist/engine/models-fetch.d.ts +0 -5
- package/dist/engine/models-fetch.d.ts.map +0 -1
- package/dist/engine/models-fetch.js +0 -54
- package/dist/engine/models-fetch.js.map +0 -1
- package/dist/engine/probe-utils.d.ts +0 -6
- package/dist/engine/probe-utils.d.ts.map +0 -1
- package/dist/engine/probe-utils.js +0 -42
- package/dist/engine/probe-utils.js.map +0 -1
- package/dist/prompts.d.ts +0 -19
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js +0 -73
- package/dist/prompts.js.map +0 -1
- package/dist/setup-wizard.d.ts +0 -4
- package/dist/setup-wizard.d.ts.map +0 -1
- package/dist/setup-wizard.js +0 -258
- package/dist/setup-wizard.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/engine/adapters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,KAAc;IAEd,MAAM,GAAG,GAAG,OAAO,IAAI,eAAe,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG;QAEZ,KAAK;YACH,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,iCAAiC;oBACzD,yEAAyE,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CACX,OAA6B,EAC7B,GAAmB;YAEnB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE/B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE7D,MAAM,IAAI,GAAa;gBACrB,IAAI;gBACJ,UAAU;gBACV,iBAAiB;gBACjB,aAAa;gBACb,WAAW;aACZ,CAAC;YAEF,yBAAyB;YACzB,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/engine/adapters/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/codex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/codex.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAMrB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAwKf"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { execSync, spawn } from "node:child_process";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { findLatestCodexSessionUuidForCwd } from "../codex-sessions.js";
|
|
3
4
|
import { buildContextualPrompt } from "../prompt.js";
|
|
5
|
+
const PLACEHOLDER_SESSION_ID = "active";
|
|
4
6
|
const DEFAULT_COMMAND = "codex";
|
|
5
7
|
/**
|
|
6
8
|
* Adapter for OpenAI Codex CLI.
|
|
@@ -28,8 +30,16 @@ export function createCodexAdapter(command, model) {
|
|
|
28
30
|
const fullPrompt = await buildContextualPrompt(options, ctx);
|
|
29
31
|
const cwd = config.cwd;
|
|
30
32
|
const hasActiveSession = sessionId != null;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
+
const sessionEnabled = config.engineSession !== false;
|
|
34
|
+
const useResumeByUuid = sessionEnabled &&
|
|
35
|
+
config.engineSession === "user" &&
|
|
36
|
+
typeof sessionId === "string" &&
|
|
37
|
+
sessionId !== PLACEHOLDER_SESSION_ID;
|
|
38
|
+
const useResumeLast = sessionEnabled &&
|
|
39
|
+
hasActiveSession &&
|
|
40
|
+
continueSession !== false &&
|
|
41
|
+
!useResumeByUuid;
|
|
42
|
+
// Non-interactive: `codex exec` for fresh; `codex exec resume --last` or `resume <UUID>` for continue.
|
|
33
43
|
// Permission flags must come right after "exec" (before "resume"/"-C") or Codex rejects them.
|
|
34
44
|
const args = ["exec"];
|
|
35
45
|
const codex = config.codex;
|
|
@@ -54,7 +64,10 @@ export function createCodexAdapter(command, model) {
|
|
|
54
64
|
if (model) {
|
|
55
65
|
args.push("-m", model);
|
|
56
66
|
}
|
|
57
|
-
if (
|
|
67
|
+
if (useResumeByUuid && sessionId) {
|
|
68
|
+
args.push("resume", sessionId);
|
|
69
|
+
}
|
|
70
|
+
else if (useResumeLast) {
|
|
58
71
|
args.push("resume", "--last");
|
|
59
72
|
}
|
|
60
73
|
else {
|
|
@@ -65,7 +78,7 @@ export function createCodexAdapter(command, model) {
|
|
|
65
78
|
command: cmd,
|
|
66
79
|
args: args.slice(0, -1),
|
|
67
80
|
cwd,
|
|
68
|
-
|
|
81
|
+
resume: useResumeByUuid ? "uuid" : useResumeLast ? "last" : "none",
|
|
69
82
|
tier,
|
|
70
83
|
}, "Executing Codex CLI");
|
|
71
84
|
return new Promise((resolve) => {
|
|
@@ -89,10 +102,20 @@ export function createCodexAdapter(command, model) {
|
|
|
89
102
|
proc.on("close", (code) => {
|
|
90
103
|
logger.debug({ code }, "Codex process closed");
|
|
91
104
|
if (code === 0) {
|
|
105
|
+
let resultSessionId;
|
|
106
|
+
if (config.engineSession !== false) {
|
|
107
|
+
if (config.engineSession === "user") {
|
|
108
|
+
const discovered = findLatestCodexSessionUuidForCwd(cwd);
|
|
109
|
+
resultSessionId = discovered ?? undefined;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
resultSessionId = "active";
|
|
113
|
+
}
|
|
114
|
+
}
|
|
92
115
|
resolve({
|
|
93
116
|
success: true,
|
|
94
117
|
output: stdout.trim() || "No response received",
|
|
95
|
-
sessionId:
|
|
118
|
+
sessionId: resultSessionId,
|
|
96
119
|
});
|
|
97
120
|
}
|
|
98
121
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/engine/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAc;IAEd,MAAM,GAAG,GAAG,OAAO,IAAI,eAAe,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG;QAEZ,KAAK;YACH,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,iCAAiC;oBACxD,8EAA8E,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CACX,OAA6B,EAC7B,GAAmB;YAEnB,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAEvB,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC;YAC3C,MAAM,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/engine/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export function createCopilotAdapter(command, model) {
|
|
|
31
31
|
args.push("--model", model);
|
|
32
32
|
}
|
|
33
33
|
const hasActiveSession = sessionId != null;
|
|
34
|
-
if (config.engineSession &&
|
|
34
|
+
if (config.engineSession !== false &&
|
|
35
35
|
hasActiveSession &&
|
|
36
36
|
continueSession !== false) {
|
|
37
37
|
args.push("--continue");
|
|
@@ -69,7 +69,7 @@ export function createCopilotAdapter(command, model) {
|
|
|
69
69
|
resolve({
|
|
70
70
|
success: true,
|
|
71
71
|
output: stdout.trim() || "No response received",
|
|
72
|
-
sessionId: config.engineSession ? "active" : undefined,
|
|
72
|
+
sessionId: config.engineSession !== false ? "active" : undefined,
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/engine/adapters/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,KAAc;IAEd,MAAM,GAAG,GAAG,OAAO,IAAI,eAAe,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,GAAG;QAEZ,KAAK;YACH,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,iCAAiC;oBAC1D,gFAAgF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CACX,OAA6B,EAC7B,GAAmB;YAEnB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE/B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE7D,sDAAsD;YACtD,oEAAoE;YACpE,iEAAiE;YACjE,kEAAkE;YAClE,0CAA0C;YAC1C,qDAAqD;YACrD,MAAM,IAAI,GAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAEzD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC;YAC3C,IACE,MAAM,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/engine/adapters/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAKrB,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CA8Kf"}
|
|
@@ -2,6 +2,7 @@ import { execSync, spawn } from "node:child_process";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { buildContextualPrompt } from "../prompt.js";
|
|
4
4
|
const DEFAULT_COMMAND = "agent";
|
|
5
|
+
const PLACEHOLDER_SESSION_ID = "active";
|
|
5
6
|
export function createCursorAdapter(command, model) {
|
|
6
7
|
const cmd = command || DEFAULT_COMMAND;
|
|
7
8
|
return {
|
|
@@ -29,15 +30,29 @@ export function createCursorAdapter(command, model) {
|
|
|
29
30
|
];
|
|
30
31
|
args.push("--model", model || "auto");
|
|
31
32
|
const hasActiveSession = sessionId != null;
|
|
32
|
-
|
|
33
|
+
const sessionEnabled = config.engineSession !== false;
|
|
34
|
+
const useResumeByUuid = sessionEnabled &&
|
|
35
|
+
config.engineSession === "user" &&
|
|
36
|
+
typeof sessionId === "string" &&
|
|
37
|
+
sessionId !== PLACEHOLDER_SESSION_ID;
|
|
38
|
+
const useContinue = sessionEnabled &&
|
|
39
|
+
!useResumeByUuid &&
|
|
33
40
|
hasActiveSession &&
|
|
34
|
-
continueSession !== false
|
|
41
|
+
continueSession !== false;
|
|
42
|
+
if (useResumeByUuid && sessionId) {
|
|
43
|
+
args.push("--resume", sessionId);
|
|
44
|
+
}
|
|
45
|
+
else if (useContinue) {
|
|
35
46
|
args.push("--continue");
|
|
36
47
|
}
|
|
48
|
+
// When enabled=false: no --continue or --resume
|
|
37
49
|
args.push(fullPrompt);
|
|
38
50
|
const cwd = config.cwd;
|
|
39
|
-
|
|
40
|
-
|
|
51
|
+
logger.info({
|
|
52
|
+
command: cmd,
|
|
53
|
+
cwd,
|
|
54
|
+
resume: useResumeByUuid ? "uuid" : useContinue ? "continue" : "none",
|
|
55
|
+
}, "Executing Cursor Agent CLI");
|
|
41
56
|
return new Promise((resolve) => {
|
|
42
57
|
const proc = spawn(cmd, args, {
|
|
43
58
|
cwd,
|
|
@@ -46,9 +61,25 @@ export function createCursorAdapter(command, model) {
|
|
|
46
61
|
});
|
|
47
62
|
let stdout = "";
|
|
48
63
|
let stderrOutput = "";
|
|
64
|
+
let lastSessionId;
|
|
49
65
|
proc.stdout.on("data", (data) => {
|
|
50
66
|
const chunk = data.toString();
|
|
51
67
|
stdout += chunk;
|
|
68
|
+
if (config.engineSession !== false &&
|
|
69
|
+
config.engineSession === "user") {
|
|
70
|
+
const lines = chunk.split("\n").filter((l) => l.trim());
|
|
71
|
+
for (const line of lines) {
|
|
72
|
+
try {
|
|
73
|
+
const event = JSON.parse(line);
|
|
74
|
+
const sid = event.session_id ?? event.sessionId;
|
|
75
|
+
if (typeof sid === "string")
|
|
76
|
+
lastSessionId = sid;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Not JSON, skip
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
52
83
|
if (onProgress && chunk.trim()) {
|
|
53
84
|
onProgress("Cursor is responding...");
|
|
54
85
|
}
|
|
@@ -63,10 +94,19 @@ export function createCursorAdapter(command, model) {
|
|
|
63
94
|
proc.on("close", (code) => {
|
|
64
95
|
logger.info({ code }, "Cursor process closed");
|
|
65
96
|
if (code === 0) {
|
|
97
|
+
let resultSessionId;
|
|
98
|
+
if (config.engineSession !== false) {
|
|
99
|
+
if (config.engineSession === "user" && lastSessionId) {
|
|
100
|
+
resultSessionId = lastSessionId;
|
|
101
|
+
}
|
|
102
|
+
else if (config.engineSession !== "user") {
|
|
103
|
+
resultSessionId = PLACEHOLDER_SESSION_ID;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
66
106
|
resolve({
|
|
67
107
|
success: true,
|
|
68
108
|
output: stdout.trim() || "No response received",
|
|
69
|
-
sessionId:
|
|
109
|
+
sessionId: resultSessionId,
|
|
70
110
|
});
|
|
71
111
|
}
|
|
72
112
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/engine/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,eAAe,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/engine/adapters/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/opencode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/opencode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAoIf"}
|
|
@@ -25,7 +25,9 @@ export function createOpencodeAdapter(command, model) {
|
|
|
25
25
|
const { config, logger } = ctx;
|
|
26
26
|
const fullPrompt = await buildContextualPrompt(options, ctx);
|
|
27
27
|
const hasActiveSession = sessionId != null;
|
|
28
|
-
const continueSessionRequested = config.engineSession
|
|
28
|
+
const continueSessionRequested = config.engineSession !== false &&
|
|
29
|
+
hasActiveSession &&
|
|
30
|
+
continueSession !== false;
|
|
29
31
|
const args = ["run"];
|
|
30
32
|
if (model) {
|
|
31
33
|
args.push("-m", model);
|
|
@@ -74,7 +76,7 @@ export function createOpencodeAdapter(command, model) {
|
|
|
74
76
|
resolve({
|
|
75
77
|
success: true,
|
|
76
78
|
output: stdout.trim() || "No response received",
|
|
77
|
-
sessionId: config.engineSession ? "active" : undefined,
|
|
79
|
+
sessionId: config.engineSession !== false ? "active" : undefined,
|
|
78
80
|
});
|
|
79
81
|
}
|
|
80
82
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/engine/adapters/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,eAAe,GAAG,UAAU,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,KAAc;IAEd,MAAM,GAAG,GAAG,OAAO,IAAI,eAAe,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG;QAEZ,KAAK;YACH,IAAI,CAAC;gBACH,QAAQ,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,iCAAiC;oBAC3D,0EAA0E,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CACX,OAA6B,EAC7B,GAAmB;YAEnB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE/B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE7D,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC;YAC3C,MAAM,wBAAwB,GAC5B,MAAM,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/engine/adapters/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import type { EngineName } from "./types.js";
|
|
1
2
|
/**
|
|
2
3
|
* Returns true if the given CLI command is available (runs `command --version`).
|
|
3
4
|
* Fast check only; does not run any heavy or network operation.
|
|
5
|
+
* @param timeoutMs - Max wait per check (default 3000). Use a lower value for boot-time discovery.
|
|
4
6
|
*/
|
|
5
|
-
export declare function isCliAvailable(command: string): boolean;
|
|
7
|
+
export declare function isCliAvailable(command: string, timeoutMs?: number): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* When no `providers` key is set, run a fast check per engine (e.g. `command
|
|
10
|
+
* --help` / `--version`) and return the list of engines whose CLI is available.
|
|
11
|
+
* Used to enable /engine when config has no providers.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAvailableEnginesFromCli(): EngineName[];
|
|
6
14
|
//# sourceMappingURL=cli-available.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-available.d.ts","sourceRoot":"","sources":["../../src/engine/cli-available.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-available.d.ts","sourceRoot":"","sources":["../../src/engine/cli-available.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAa7C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAWzE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,UAAU,EAAE,CAOzD"}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
|
+
import { ENGINE_NAMES } from "./types.js";
|
|
3
|
+
/** Default CLI command per engine (for availability check and adapter). */
|
|
4
|
+
const DEFAULT_ENGINE_COMMAND = {
|
|
5
|
+
claude: "claude",
|
|
6
|
+
copilot: "copilot",
|
|
7
|
+
codex: "codex",
|
|
8
|
+
opencode: "opencode",
|
|
9
|
+
cursor: "agent",
|
|
10
|
+
antigravity: "gemini",
|
|
11
|
+
};
|
|
2
12
|
/**
|
|
3
13
|
* Returns true if the given CLI command is available (runs `command --version`).
|
|
4
14
|
* Fast check only; does not run any heavy or network operation.
|
|
15
|
+
* @param timeoutMs - Max wait per check (default 3000). Use a lower value for boot-time discovery.
|
|
5
16
|
*/
|
|
6
|
-
export function isCliAvailable(command) {
|
|
17
|
+
export function isCliAvailable(command, timeoutMs = 3000) {
|
|
7
18
|
try {
|
|
8
19
|
execSync(`${command} --version`, {
|
|
9
20
|
stdio: "pipe",
|
|
10
|
-
timeout:
|
|
21
|
+
timeout: timeoutMs,
|
|
11
22
|
encoding: "utf-8",
|
|
12
23
|
});
|
|
13
24
|
return true;
|
|
@@ -16,4 +27,18 @@ export function isCliAvailable(command) {
|
|
|
16
27
|
return false;
|
|
17
28
|
}
|
|
18
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* When no `providers` key is set, run a fast check per engine (e.g. `command
|
|
32
|
+
* --help` / `--version`) and return the list of engines whose CLI is available.
|
|
33
|
+
* Used to enable /engine when config has no providers.
|
|
34
|
+
*/
|
|
35
|
+
export function getAvailableEnginesFromCli() {
|
|
36
|
+
const available = [];
|
|
37
|
+
for (const name of ENGINE_NAMES) {
|
|
38
|
+
const command = DEFAULT_ENGINE_COMMAND[name];
|
|
39
|
+
if (isCliAvailable(command, 2000))
|
|
40
|
+
available.push(name);
|
|
41
|
+
}
|
|
42
|
+
return available;
|
|
43
|
+
}
|
|
19
44
|
//# sourceMappingURL=cli-available.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-available.js","sourceRoot":"","sources":["../../src/engine/cli-available.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"cli-available.js","sourceRoot":"","sources":["../../src/engine/cli-available.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,sBAAsB,GAA+B;IACzD,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAS,GAAG,IAAI;IAC9D,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,OAAO,YAAY,EAAE;YAC/B,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the most recent Codex session file under ~/.codex/sessions whose embedded cwd
|
|
3
|
+
* matches the given project cwd. Returns the session UUID from the filename, or undefined.
|
|
4
|
+
* Experimental: relies on Codex's internal filesystem layout.
|
|
5
|
+
*/
|
|
6
|
+
export declare function findLatestCodexSessionUuidForCwd(projectCwd: string): string | undefined;
|
|
7
|
+
//# sourceMappingURL=codex-sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-sessions.d.ts","sourceRoot":"","sources":["../../src/engine/codex-sessions.ts"],"names":[],"mappings":"AAqEA;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAYpB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
const CODEX_SESSIONS_DIR = join(homedir(), ".codex", "sessions");
|
|
5
|
+
/**
|
|
6
|
+
* Pattern for Codex session JSONL filenames: rollout-<timestamp>-<UUID>.jsonl
|
|
7
|
+
* UUID is the last segment before .jsonl.
|
|
8
|
+
*/
|
|
9
|
+
const ROLLOUT_FILENAME_REGEX = /^rollout-.+-([a-f0-9-]+)\.jsonl$/i;
|
|
10
|
+
/**
|
|
11
|
+
* Recursively collect paths of rollout-*.jsonl files under dir, sorted by mtime newest first.
|
|
12
|
+
*/
|
|
13
|
+
function findRolloutJsonlFiles(dir) {
|
|
14
|
+
const results = [];
|
|
15
|
+
try {
|
|
16
|
+
const entries = readdirSync(dir, { withFileTypes: true });
|
|
17
|
+
for (const e of entries) {
|
|
18
|
+
const full = join(dir, e.name);
|
|
19
|
+
try {
|
|
20
|
+
if (e.isDirectory()) {
|
|
21
|
+
results.push(...findRolloutJsonlFiles(full));
|
|
22
|
+
}
|
|
23
|
+
else if (e.isFile() && ROLLOUT_FILENAME_REGEX.test(e.name)) {
|
|
24
|
+
const stat = statSync(full);
|
|
25
|
+
results.push({ path: full, mtime: stat.mtimeMs });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Skip inaccessible or unreadable entries
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Dir may not exist or be unreadable
|
|
35
|
+
}
|
|
36
|
+
return results.sort((a, b) => b.mtime - a.mtime);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Read the first few lines of a JSONL file and try to extract a "cwd" field from any line.
|
|
40
|
+
*/
|
|
41
|
+
function readCwdFromJsonl(filePath) {
|
|
42
|
+
try {
|
|
43
|
+
const content = readFileSync(filePath, "utf8");
|
|
44
|
+
const lines = content.split("\n").slice(0, 20);
|
|
45
|
+
for (const line of lines) {
|
|
46
|
+
const t = line.trim();
|
|
47
|
+
if (!t)
|
|
48
|
+
continue;
|
|
49
|
+
try {
|
|
50
|
+
const obj = JSON.parse(t);
|
|
51
|
+
if (typeof obj.cwd === "string")
|
|
52
|
+
return obj.cwd;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Not valid JSON or no cwd
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// File read error
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Extract UUID from a rollout filename (e.g. rollout-2025-03-05T12-00-00-abc123.jsonl -> abc123).
|
|
66
|
+
*/
|
|
67
|
+
function uuidFromFilename(filename) {
|
|
68
|
+
const m = filename.match(ROLLOUT_FILENAME_REGEX);
|
|
69
|
+
return m ? m[1] : undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Find the most recent Codex session file under ~/.codex/sessions whose embedded cwd
|
|
73
|
+
* matches the given project cwd. Returns the session UUID from the filename, or undefined.
|
|
74
|
+
* Experimental: relies on Codex's internal filesystem layout.
|
|
75
|
+
*/
|
|
76
|
+
export function findLatestCodexSessionUuidForCwd(projectCwd) {
|
|
77
|
+
const files = findRolloutJsonlFiles(CODEX_SESSIONS_DIR);
|
|
78
|
+
const normalizedCwd = projectCwd.replace(/\/$/, "") || "/";
|
|
79
|
+
for (const { path } of files) {
|
|
80
|
+
const cwd = readCwdFromJsonl(path);
|
|
81
|
+
const fileCwd = cwd?.replace(/\/$/, "") || "";
|
|
82
|
+
if (fileCwd && (fileCwd === normalizedCwd || fileCwd === projectCwd)) {
|
|
83
|
+
const uuid = uuidFromFilename(path.split(/[/\\]/).pop() ?? "");
|
|
84
|
+
if (uuid)
|
|
85
|
+
return uuid;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=codex-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-sessions.js","sourceRoot":"","sources":["../../src/engine/codex-sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/init-template.yaml
CHANGED
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
# HAL configuration
|
|
2
2
|
# Full config docs:
|
|
3
|
-
#
|
|
3
|
+
# https://github.com/marcopeg/hal/blob/main/docs/config/README.md
|
|
4
4
|
|
|
5
5
|
globals:
|
|
6
|
-
engine:
|
|
7
|
-
name: {{ENGINE_NAME}}
|
|
8
|
-
model: {{ENGINE_MODEL}}
|
|
9
6
|
|
|
10
7
|
# Who can use the bot
|
|
11
8
|
#
|
|
12
9
|
# How do I find my Telegram userID?
|
|
13
|
-
#
|
|
10
|
+
# https://github.com/marcopeg/hal/blob/main/docs/telegram/README.md
|
|
14
11
|
access:
|
|
15
12
|
allowedUserIds: ["${YOUR_TELEGRAM_USER_ID}"]
|
|
16
13
|
|
|
17
14
|
projects:
|
|
18
15
|
prj1:
|
|
19
|
-
active: true
|
|
20
16
|
cwd: {{PROJECT_CWD}}
|
|
21
17
|
engine:
|
|
22
18
|
name: {{ENGINE_NAME}}
|
|
19
|
+
model: {{ENGINE_MODEL}}
|
|
23
20
|
|
|
24
21
|
# Link this project to a Telegram bot
|
|
25
22
|
#
|
|
26
23
|
# How do I create a Telegram bot?
|
|
27
|
-
#
|
|
24
|
+
# https://github.com/marcopeg/hal/blob/main/docs/telegram/README.md#creating-a-telegram-bot
|
|
28
25
|
#
|
|
29
26
|
# How do I safely set the bot's api key via .env file?
|
|
30
|
-
#
|
|
27
|
+
# https://github.com/marcopeg/hal/blob/main/docs/telegram/README.md
|
|
31
28
|
telegram:
|
|
32
29
|
botToken: "${TELEGRAM_BOT_TOKEN}"
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../../src/bot/commands/clear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOrD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,IACtC,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAsB/C"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
2
|
-
import { clearUserData } from "../../user/setup.js";
|
|
3
|
-
import { resolveCommandMessage } from "./message.js";
|
|
4
|
-
const DEFAULT_TEMPLATE = "Conversation history cleared. Your next message will start a fresh conversation.";
|
|
5
|
-
export function createClearHandler(ctx) {
|
|
6
|
-
return async (gramCtx) => {
|
|
7
|
-
const userId = gramCtx.from?.id;
|
|
8
|
-
if (!userId) {
|
|
9
|
-
await gramCtx.reply("Could not identify user.");
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
const userDir = join(ctx.config.dataDir, String(userId));
|
|
13
|
-
try {
|
|
14
|
-
await clearUserData(userDir);
|
|
15
|
-
const template = ctx.config.commands.clear?.message ?? DEFAULT_TEMPLATE;
|
|
16
|
-
const message = await resolveCommandMessage(template, ctx, gramCtx);
|
|
17
|
-
await gramCtx.reply(message, { parse_mode: "Markdown" });
|
|
18
|
-
}
|
|
19
|
-
catch (_error) {
|
|
20
|
-
await gramCtx.reply("Failed to clear conversation history. Please try again.");
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=clear.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/bot/commands/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,gBAAgB,GACpB,kFAAkF,CAAC;AAErF,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IACpD,OAAO,KAAK,EAAE,OAAgB,EAAiB,EAAE;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,gBAAgB,CAAC;YACxE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,KAAK,CACjB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|