@rudderhq/agent-runtime-cursor-local 0.3.6-canary.0 → 0.3.6-canary.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/server/execute.d.ts.map +1 -1
- package/dist/server/execute.js +55 -15
- package/dist/server/execute.js.map +1 -1
- package/dist/server/skills.d.ts +2 -0
- package/dist/server/skills.d.ts.map +1 -1
- package/dist/server/skills.js +14 -9
- package/dist/server/skills.js.map +1 -1
- package/package.json +2 -2
- package/skills/para-memory-files/SKILL.md +34 -8
- package/skills/para-memory-files/evals/conversation-capture.md +26 -0
- package/skills/para-memory-files/references/schemas.md +26 -0
- package/skills/rudder/SKILL.md +9 -0
- package/skills/rudder/references/cli-reference.md +7 -5
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export declare const models: {
|
|
|
5
5
|
id: string;
|
|
6
6
|
label: string;
|
|
7
7
|
}[];
|
|
8
|
-
export declare const agentConfigurationDoc = "# cursor agent configuration\n\nAdapter: cursor\n\nUse when:\n- You want Rudder to run Cursor Agent CLI locally as the agent runtime\n- You want Cursor chat session resume across heartbeats via --resume\n- You want structured stream output in run logs via --output-format stream-json\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- Cursor Agent CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): Cursor model id (for example auto or gpt-5.3-codex)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- mode (string, optional): Cursor execution mode passed as --mode (plan|ask). Leave unset for normal autonomous runs.\n- command (string, optional): defaults to \"cursor-agent\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- Runs are executed with: cursor-agent -p --output-format stream-json ...\n- Prompts are piped to Cursor via stdin.\n- Sessions are resumed with --resume when stored session cwd matches current cwd.\n- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.\n- Cursor subscription authentication is operator-home scoped. When ~/.cursor exists, Rudder launches cursor-agent through an operator HOME credential shim while still passing the Rudder workspace, prompt, and environment explicitly.\n-
|
|
8
|
+
export declare const agentConfigurationDoc = "# cursor agent configuration\n\nAdapter: cursor\n\nUse when:\n- You want Rudder to run Cursor Agent CLI locally as the agent runtime\n- You want Cursor chat session resume across heartbeats via --resume\n- You want structured stream output in run logs via --output-format stream-json\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- Cursor Agent CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): Cursor model id (for example auto or gpt-5.3-codex)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- mode (string, optional): Cursor execution mode passed as --mode (plan|ask). Leave unset for normal autonomous runs.\n- command (string, optional): defaults to \"cursor-agent\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- Runs are executed with: cursor-agent -p --output-format stream-json ...\n- Prompts are piped to Cursor via stdin.\n- Sessions are resumed with --resume when stored session cwd matches current cwd.\n- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.\n- Cursor subscription authentication is operator-home scoped. When ~/.cursor exists, Rudder launches cursor-agent through an operator HOME credential shim while still passing the Rudder workspace, prompt, and environment explicitly.\n- Cursor CLI currently exposes --plugin-dir but no verified skills-directory allowlist or native discovery-disable flag. Rudder links selected skills into a Rudder-managed Cursor sidecar, then injects only those selected SKILL.md files into the prompt. Native Cursor rule/plugin discovery remains a known limitation until Cursor exposes a verifiable allowlist/disable surface.\n- Rudder auto-adds --yolo unless one of --trust/--yolo/-f is already present in extraArgs.\n";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAS,CAAC;AA4CjD,eAAO,MAAM,MAAM;;;GAA6D,CAAC;AAEjF,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,0BAA0B,SAAS,CAAC;AA4CjD,eAAO,MAAM,MAAM;;;GAA6D,CAAC;AAEjF,eAAO,MAAM,qBAAqB,ghFAqCjC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -78,7 +78,7 @@ Notes:
|
|
|
78
78
|
- Sessions are resumed with --resume when stored session cwd matches current cwd.
|
|
79
79
|
- Rudder realizes only the bundled Rudder skills plus the skills explicitly enabled on the agent's Skills page.
|
|
80
80
|
- Cursor subscription authentication is operator-home scoped. When ~/.cursor exists, Rudder launches cursor-agent through an operator HOME credential shim while still passing the Rudder workspace, prompt, and environment explicitly.
|
|
81
|
-
-
|
|
81
|
+
- Cursor CLI currently exposes --plugin-dir but no verified skills-directory allowlist or native discovery-disable flag. Rudder links selected skills into a Rudder-managed Cursor sidecar, then injects only those selected SKILL.md files into the prompt. Native Cursor rule/plugin discovery remains a known limitation until Cursor exposes a verifiable allowlist/disable surface.
|
|
82
82
|
- Rudder auto-adds --yolo unless one of --trust/--yolo/-f is already present in extraArgs.
|
|
83
83
|
`;
|
|
84
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAuLjJ,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC;AAEF,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAC5C,OAAO,GAAE,iCAAsC,iBAoDhD;AA+BD,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA8crG"}
|
package/dist/server/execute.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inferOpenAiCompatibleBiller
|
|
1
|
+
import { inferOpenAiCompatibleBiller } from "@rudderhq/agent-runtime-utils";
|
|
2
2
|
import { applyGitCredentialHelperPolicyEnv, applyGitIdentityPreparationEnv, ensureGitIdentityFileConfig } from "@rudderhq/agent-runtime-utils/git-identity";
|
|
3
3
|
import { asNumber, asString, asStringArray, buildRudderEnv, ensureAbsoluteDirectory, ensureCommandResolvable, ensureLocalCliCredentialShimsInPath, ensurePathInEnv, ensureRudderCliInPath, ensureRudderSkillSymlink, joinPromptSections, loadAgentInstructionsPrefix, parseObject, prepareAgentInstructionRuntimeContext, readRudderRuntimeSkillEntries, redactEnvForLogs, removeMaintainerOnlySkillSymlinks, renderTemplate, resolveLocalOperatorHome, resolveRudderDesiredSkillNames, runChildProcess, selectPromptTemplate, shouldIncludeRuntimeHeartbeatInstructions, syncLocalCliCredentialHomeEntries, } from "@rudderhq/agent-runtime-utils/server-utils";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
@@ -9,8 +9,15 @@ import { DEFAULT_CURSOR_LOCAL_MODEL } from "../index.js";
|
|
|
9
9
|
import { normalizeCursorStreamLine } from "../shared/stream.js";
|
|
10
10
|
import { hasCursorTrustBypassArg } from "../shared/trust.js";
|
|
11
11
|
import { isCursorUnknownSessionError, parseCursorJsonl } from "./parse.js";
|
|
12
|
+
import { resolveManagedCursorHomeDir } from "./skills.js";
|
|
12
13
|
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
13
|
-
const
|
|
14
|
+
const CURSOR_PROTECTED_ENV_KEYS = new Set([
|
|
15
|
+
"AGENT_HOME",
|
|
16
|
+
"HOME",
|
|
17
|
+
"RUDDER_AGENT_ROOT",
|
|
18
|
+
"RUDDER_OPERATOR_HOME",
|
|
19
|
+
"USERPROFILE",
|
|
20
|
+
]);
|
|
14
21
|
function firstNonEmptyLine(text) {
|
|
15
22
|
return (text
|
|
16
23
|
.split(/\r?\n/)
|
|
@@ -95,11 +102,6 @@ async function ensureSymlink(target, source) {
|
|
|
95
102
|
function resolveSharedCursorHomeDir(env) {
|
|
96
103
|
return path.resolve(nonEmpty(env.HOME) ?? os.homedir());
|
|
97
104
|
}
|
|
98
|
-
function resolveManagedCursorHomeDir(env, orgId) {
|
|
99
|
-
const rudderHome = nonEmpty(env.RUDDER_HOME) ?? path.resolve(os.homedir(), ".rudder");
|
|
100
|
-
const instanceId = nonEmpty(env.RUDDER_INSTANCE_ID) ?? DEFAULT_RUDDER_INSTANCE_ID;
|
|
101
|
-
return path.resolve(rudderHome, "instances", instanceId, "organizations", resolveOrganizationStorageKey(orgId), "cursor-home");
|
|
102
|
-
}
|
|
103
105
|
function resolveManagedCursorSkillsDir(homeDir) {
|
|
104
106
|
return path.join(homeDir, ".cursor", "skills");
|
|
105
107
|
}
|
|
@@ -116,7 +118,7 @@ async function syncCursorSharedHomeEntries(sourceHome, targetHome) {
|
|
|
116
118
|
}
|
|
117
119
|
async function prepareManagedCursorHome(env, onLog, orgId) {
|
|
118
120
|
const sourceHome = resolveSharedCursorHomeDir(env);
|
|
119
|
-
const targetHome = resolveManagedCursorHomeDir(env, orgId);
|
|
121
|
+
const targetHome = resolveManagedCursorHomeDir({ env }, orgId);
|
|
120
122
|
if (targetHome === sourceHome)
|
|
121
123
|
return targetHome;
|
|
122
124
|
await fs.mkdir(resolveManagedCursorSkillsDir(targetHome), { recursive: true });
|
|
@@ -168,6 +170,29 @@ export async function ensureCursorSkillsInjected(onLog, options = {}) {
|
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
}
|
|
173
|
+
async function renderSelectedCursorSkillPrompt(onLog, skillsHome, skillsEntries) {
|
|
174
|
+
const sections = [];
|
|
175
|
+
for (const entry of skillsEntries) {
|
|
176
|
+
const skillPath = path.join(skillsHome, entry.runtimeName, "SKILL.md");
|
|
177
|
+
const content = await fs.readFile(skillPath, "utf8").catch(async (err) => {
|
|
178
|
+
await onLog("stderr", `[rudder] Failed to load Cursor skill "${entry.key}" from ${skillPath}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
179
|
+
return "";
|
|
180
|
+
});
|
|
181
|
+
if (!content.trim())
|
|
182
|
+
continue;
|
|
183
|
+
sections.push(`## Skill: ${entry.key}\n\n${content.trim()}`);
|
|
184
|
+
}
|
|
185
|
+
if (sections.length === 0)
|
|
186
|
+
return "";
|
|
187
|
+
return [
|
|
188
|
+
"# Enabled Rudder Skills",
|
|
189
|
+
"",
|
|
190
|
+
"These skill instructions come only from this agent's Rudder Skills enabled selections.",
|
|
191
|
+
"Do not load Cursor, operator-home, project, bundled, or vendor-default skills unless Rudder enabled them for this agent.",
|
|
192
|
+
"",
|
|
193
|
+
sections.join("\n\n"),
|
|
194
|
+
].join("\n");
|
|
195
|
+
}
|
|
171
196
|
export async function execute(ctx) {
|
|
172
197
|
const { runId, agent, runtime, config, context, onLog, onMeta, onSpawn, authToken } = ctx;
|
|
173
198
|
const promptTemplate = selectPromptTemplate(asString(config.promptTemplate, ""), context);
|
|
@@ -197,12 +222,12 @@ export async function execute(ctx) {
|
|
|
197
222
|
const cwd = effectiveWorkspaceCwd || configuredCwd || process.cwd();
|
|
198
223
|
await ensureAbsoluteDirectory(cwd, { createIfMissing: true });
|
|
199
224
|
const envConfig = parseObject(config.env);
|
|
225
|
+
const envConfigStrings = Object.fromEntries(Object.entries(envConfig).filter((entry) => typeof entry[1] === "string" && !CURSOR_PROTECTED_ENV_KEYS.has(entry[0])));
|
|
200
226
|
const sourceEnv = {
|
|
201
227
|
...process.env,
|
|
202
|
-
...Object.fromEntries(Object.entries(envConfig).filter((entry) => typeof entry[1] === "string")),
|
|
203
228
|
};
|
|
204
229
|
const operatorHome = resolveLocalOperatorHome(sourceEnv);
|
|
205
|
-
const managedHome = await prepareManagedCursorHome(sourceEnv, onLog, agent.orgId);
|
|
230
|
+
const managedHome = await prepareManagedCursorHome({ ...sourceEnv, ...envConfigStrings }, onLog, agent.orgId);
|
|
206
231
|
await syncLocalCliCredentialHomeEntries({ sourceHome: operatorHome, targetHome: managedHome, onLog });
|
|
207
232
|
const preparedGitIdentity = await ensureGitIdentityFileConfig({
|
|
208
233
|
cwd,
|
|
@@ -212,13 +237,23 @@ export async function execute(ctx) {
|
|
|
212
237
|
});
|
|
213
238
|
const cursorSkillEntries = await readRudderRuntimeSkillEntries(config, __moduleDir);
|
|
214
239
|
const desiredCursorSkillNames = resolveRudderDesiredSkillNames(config, cursorSkillEntries);
|
|
240
|
+
const selectedCursorSkillEntries = cursorSkillEntries.filter((entry) => desiredCursorSkillNames.includes(entry.key));
|
|
241
|
+
const loadedSkills = selectedCursorSkillEntries.map((entry) => ({
|
|
242
|
+
key: entry.key,
|
|
243
|
+
runtimeName: entry.runtimeName,
|
|
244
|
+
name: entry.name ?? null,
|
|
245
|
+
description: entry.description ?? null,
|
|
246
|
+
}));
|
|
247
|
+
const managedCursorSkillsDir = resolveManagedCursorSkillsDir(managedHome);
|
|
215
248
|
await ensureCursorSkillsInjected(onLog, {
|
|
216
|
-
skillsEntries:
|
|
217
|
-
skillsHome:
|
|
249
|
+
skillsEntries: selectedCursorSkillEntries,
|
|
250
|
+
skillsHome: managedCursorSkillsDir,
|
|
218
251
|
});
|
|
252
|
+
const selectedSkillPrompt = await renderSelectedCursorSkillPrompt(onLog, managedCursorSkillsDir, selectedCursorSkillEntries);
|
|
219
253
|
const hasExplicitApiKey = typeof envConfig.RUDDER_API_KEY === "string" && envConfig.RUDDER_API_KEY.trim().length > 0;
|
|
220
254
|
const env = { ...buildRudderEnv(agent) };
|
|
221
|
-
env.HOME =
|
|
255
|
+
env.HOME = operatorHome;
|
|
256
|
+
env.USERPROFILE = process.env.USERPROFILE ?? operatorHome;
|
|
222
257
|
env.RUDDER_RUN_ID = runId;
|
|
223
258
|
const wakeTaskId = (typeof context.taskId === "string" && context.taskId.trim().length > 0 && context.taskId.trim()) ||
|
|
224
259
|
(typeof context.issueId === "string" && context.issueId.trim().length > 0 && context.issueId.trim()) ||
|
|
@@ -293,12 +328,13 @@ export async function execute(ctx) {
|
|
|
293
328
|
env.RUDDER_WORKSPACES_JSON = JSON.stringify(workspaceHints);
|
|
294
329
|
}
|
|
295
330
|
for (const [k, v] of Object.entries(envConfig)) {
|
|
296
|
-
if (k
|
|
331
|
+
if (CURSOR_PROTECTED_ENV_KEYS.has(k))
|
|
297
332
|
continue;
|
|
298
333
|
if (typeof v === "string")
|
|
299
334
|
env[k] = v;
|
|
300
335
|
}
|
|
301
|
-
env.HOME =
|
|
336
|
+
env.HOME = operatorHome;
|
|
337
|
+
env.USERPROFILE = process.env.USERPROFILE ?? operatorHome;
|
|
302
338
|
env.RUDDER_OPERATOR_HOME = operatorHome;
|
|
303
339
|
if (!hasExplicitApiKey && authToken) {
|
|
304
340
|
env.RUDDER_API_KEY = authToken;
|
|
@@ -420,6 +456,7 @@ export async function execute(ctx) {
|
|
|
420
456
|
const rudderEnvNote = renderRudderEnvNote(env);
|
|
421
457
|
const prompt = joinPromptSections([
|
|
422
458
|
instructionsPrefix,
|
|
459
|
+
selectedSkillPrompt,
|
|
423
460
|
renderedBootstrapPrompt,
|
|
424
461
|
sessionHandoffNote,
|
|
425
462
|
rudderEnvNote,
|
|
@@ -459,6 +496,9 @@ export async function execute(ctx) {
|
|
|
459
496
|
env: redactEnvForLogs(env),
|
|
460
497
|
prompt,
|
|
461
498
|
promptMetrics,
|
|
499
|
+
loadedSkills,
|
|
500
|
+
realizedSkills: loadedSkills,
|
|
501
|
+
promptInjectedSkills: loadedSkills,
|
|
462
502
|
context,
|
|
463
503
|
});
|
|
464
504
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAuE,MAAM,+BAA+B,CAAC;AACjJ,OAAO,EAAE,iCAAiC,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAC5J,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,mCAAmC,EACnC,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,WAAW,EACX,qCAAqC,EACrC,6BAA6B,EAC7B,gBAAgB,EAChB,iCAAiC,EACjC,cAAc,EACd,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,EACf,oBAAoB,EACpB,yCAAyC,EACzC,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,YAAY;IACZ,MAAM;IACN,mBAAmB;IACnB,sBAAsB;IACtB,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CACL,IAAI;SACD,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAA2B,EAAE,GAAW;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,wBAAwB,CAAC,GAA2B;IAC3D,OAAO,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC;QAC7F,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAA2B,EAC3B,WAAmC,EACnC,QAAuB;IAEvB,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,sBAAsB,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IACjE,IAAI,WAAW,KAAK,cAAc;QAAE,OAAO,QAAQ,CAAC;IACpD,OAAO,QAAQ,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IACjF,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,GAA2B;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SAC1C,IAAI,EAAE,CAAC;IACV,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO;QACL,sBAAsB;QACtB,2EAA2E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAClG,oFAAoF;QACpF,EAAE;QACF,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAyB;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,MAAc;IACzD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;QAAE,OAAO;IAEvC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,IAAI,kBAAkB,KAAK,MAAM;QAAE,OAAO;IAC1C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAsB;IACxD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAe;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,UAAkB,EAAE,UAAkB;IAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACtC,MAAM,aAAa,CACjB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,EACtC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CACvC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,GAAsB,EACtB,KAA4C,EAC5C,KAAa;IAEb,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,2BAA2B,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAEjD,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,2BAA2B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,CACT,QAAQ,EACR,8CAA8C,UAAU,mBAAmB,UAAU,OAAO,CAC7F,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAA4C,EAC5C,UAA6C,EAAE;IAE/C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;WACtC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC3D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACf,GAAG,EAAE,KAAK,CAAC,IAAI;gBACf,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAU,EAAE,KAAK,CAAC,IAAI,CAAC;aAClD,CAAC,CAAC;YACP,CAAC,CAAC,MAAM,6BAA6B,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,CACT,QAAQ,EACR,sDAAsD,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC1H,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,iCAAiC,CAC3D,UAAU,EACV,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAChD,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,KAAK,CACT,QAAQ,EACR,kDAAkD,SAAS,UAAU,UAAU,IAAI,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxG,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YAEnC,MAAM,KAAK,CACT,QAAQ,EACR,YAAY,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,kBAAkB,KAAK,CAAC,GAAG,UAAU,UAAU,IAAI,CAC/G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,CACT,QAAQ,EACR,2CAA2C,KAAK,CAAC,GAAG,UAAU,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAClI,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,KAA4C,EAC5C,UAAkB,EAClB,aAA0D;IAE1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvE,MAAM,KAAK,CACT,QAAQ,EACR,yCAAyC,KAAK,CAAC,GAAG,UAAU,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC/H,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QAC9B,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,GAAG,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO;QACL,yBAAyB;QACzB,EAAE;QACF,wFAAwF;QACxF,0HAA0H;QAC1H,EAAE;QACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAiC;IAC7D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAE1F,MAAM,cAAc,GAAG,oBAAoB,CACzC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EACnC,OAAO,CACR,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC5D,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAoC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CACzF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,+BAA+B,GAAG,eAAe,KAAK,YAAY,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACrG,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAClF,MAAM,GAAG,GAAG,qBAAqB,IAAI,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACpE,MAAM,uBAAuB,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9B,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/G,CACF,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,GAAG,OAAO,CAAC,GAAG;KACf,CAAC;IACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9G,MAAM,iCAAiC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACtG,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAAC;QAC5D,GAAG;QACH,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,MAAM,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,uBAAuB,GAAG,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3F,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrH,MAAM,YAAY,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;KACvC,CAAC,CAAC,CAAC;IACJ,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC1E,MAAM,0BAA0B,CAAC,KAAK,EAAE;QACtC,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,sBAAsB;KACnC,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAAC,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IAC7H,MAAM,iBAAiB,GACrB,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7F,MAAM,GAAG,GAA2B,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IACjE,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;IACxB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,CAAC;IAC1D,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,UAAU,GACd,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjG,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpG,IAAI,CAAC;IACP,MAAM,UAAU,GACd,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC5E,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;QAC3B,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,aAAa,GACjB,CAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACtH,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1G,IAAI,CAAC;IACP,MAAM,UAAU,GACd,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC5E,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;QAC3B,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,cAAc,GAClB,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACpF,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3G,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,kBAAkB,GAAG,UAAU,CAAC;IACtC,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAAC;IAC7C,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,kBAAkB,GAAG,UAAU,CAAC;IACtC,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,GAAG,CAAC,sBAAsB,GAAG,cAAc,CAAC;IAC9C,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,uBAAuB,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,GAAG,CAAC,oBAAoB,GAAG,qBAAqB,CAAC;IACnD,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC,uBAAuB,GAAG,eAAe,CAAC;IAChD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACxC,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;IACnD,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;QAC3B,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACpC,CAAC;IACD,IAAI,oBAAoB;QAAE,GAAG,CAAC,6BAA6B,GAAG,oBAAoB,CAAC;IACnF,IAAI,cAAc;QAAE,GAAG,CAAC,uBAAuB,GAAG,cAAc,CAAC;IACjE,IAAI,cAAc;QAAE,GAAG,CAAC,uBAAuB,GAAG,cAAc,CAAC;IACjE,IAAI,gBAAgB;QAAE,GAAG,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;IACvE,IAAI,YAAY;QAAE,GAAG,CAAC,qBAAqB,GAAG,YAAY,CAAC;IAC3D,IAAI,kBAAkB;QAAE,GAAG,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;IAC7E,IAAI,kBAAkB;QAAE,GAAG,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;IAC7E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;IACxB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,CAAC;IAC1D,GAAG,CAAC,oBAAoB,GAAG,YAAY,CAAC;IACxC,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;IACjC,CAAC;IACD,8BAA8B,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACzD,iCAAiC,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnE,CACF,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,mCAAmC,CAAC;QACvD,YAAY;QACZ,UAAU,EAAE,WAAW;QACvB,GAAG;QACH,GAAG,EAAE,eAAe,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5E,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/B,iBAAiB,EAAE,CAAC,SAAS,CAAC;aAC/B;SACF;QACD,KAAK;KACN,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC/E,CAAC;IACF,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACpE,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACpE,MAAM,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;QACnD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,gBAAgB,GAAG,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3F,MAAM,iBAAiB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,GACpB,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,KAAK,CACT,QAAQ,EACR,4BAA4B,gBAAgB,wBAAwB,iBAAiB,iCAAiC,GAAG,MAAM,CAChI,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,yBAAyB,GAAG,qCAAqC,CAAC,OAAkC,CAAC,CAAC;IAC5G,MAAM,kBAAkB,GAAG,MAAM,2BAA2B,CAAC;QAC3D,oBAAoB;QACpB,4BAA4B,EAAE,yCAAyC,CAAC,OAAkC,CAAC;QAC3G,gCAAgC,EAAE,yBAAyB,CAAC,gCAAgC;QAC5F,KAAK;KACN,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACrD,MAAM,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC;IAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,YAAY,EAAE,gDAAgD,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,CAAC,YAAY,EAClC,+EAA+E,eAAe,IAAI,CACnG,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EAAE,CAAC;IAEL;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK;QACL,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;QACjC,KAAK;QACL,GAAG,EAAE;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,WAAW;YACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;SACvC;QACD,OAAO,EAAE,yBAAyB,CAAC,aAAa;QAChD,iDAAiD;QACjD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACtC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;KACvC,CAAC;IACF,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,uBAAuB,GAC3B,CAAC,SAAS,IAAI,uBAAuB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE;QAC9D,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,aAAa;QACb,cAAc;KACf,CAAC,CAAC;IACH,MAAM,aAAa,GAAG;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,GAAG,kBAAkB,CAAC,OAAO;QAC7B,oBAAoB,EAAE,uBAAuB,CAAC,MAAM;QACpD,mBAAmB,EAAE,kBAAkB,CAAC,MAAM;QAC9C,gBAAgB,EAAE,aAAa,CAAC,MAAM;QACtC,oBAAoB,EAAE,cAAc,CAAC,MAAM;KAC5C,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,eAA8B,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC1E,IAAI,eAAe;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,gBAAgB;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,eAA8B,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC;gBACX,gBAAgB,EAAE,QAAQ;gBAC1B,OAAO;gBACP,GAAG;gBACH,YAAY;gBACZ,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;gBAC1B,MAAM;gBACN,aAAa;gBACb,YAAY;gBACZ,cAAc,EAAE,YAAY;gBAC5B,oBAAoB,EAAE,YAAY;gBAClC,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,MAAM,wBAAwB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,IAAI;gBAAE,OAAO;YAC7B,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAG,GAAG,gBAAgB,GAAG,KAAK,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACzC,gBAAgB,GAAG,EAAE,CAAC;gBACtB,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;YACvD,GAAG;YACH,GAAG,EAAE,UAAU;YACf,UAAU;YACV,QAAQ;YACR,KAAK,EAAE,MAAM;YACb,OAAO;YACP,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC7B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBACD,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH,MAAM,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEjC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;SACtC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,CACf,OASC,EACD,4BAA4B,GAAG,KAAK,EACP,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;gBAC/B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;gBAC3B,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,mBAAmB,UAAU,GAAG;gBAC9C,YAAY,EAAE,4BAA4B;aAC3C,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,gBAAgB,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QACpG,MAAM,qBAAqB,GAAG,iBAAiB;YAC7C,CAAC,CAAE;gBACC,SAAS,EAAE,iBAAiB;gBAC5B,GAAG;gBACH,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/B;YAC/B,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GACxB,WAAW;YACX,UAAU;YACV,2BAA2B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;QAE3D,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;YAC/B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,YAAY,EACV,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,oBAAoB;YAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,SAAS,EAAE,iBAAiB;YAC5B,aAAa,EAAE,qBAAqB;YACpC,gBAAgB,EAAE,iBAAiB;YACnC,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC;YACvE,KAAK;YACL,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,UAAU,EAAE;gBACV,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;gBAC3B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;aAC5B;YACD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,YAAY,EAAE,OAAO,CAAC,4BAA4B,IAAI,CAAC,iBAAiB,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,IACE,SAAS;QACT,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;QACtB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC;QAClC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EACrE,CAAC;QACD,MAAM,KAAK,CACT,QAAQ,EACR,mCAAmC,SAAS,oDAAoD,CACjG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/server/skills.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { AgentRuntimeSkillContext, AgentRuntimeSkillSnapshot } from "@rudderhq/agent-runtime-utils";
|
|
2
|
+
export declare function resolveManagedCursorHomeDir(config: Record<string, unknown>, orgId: string): string;
|
|
3
|
+
export declare function resolveCursorSkillsHome(config: Record<string, unknown>, orgId: string): string;
|
|
2
4
|
export declare function listCursorSkills(ctx: AgentRuntimeSkillContext): Promise<AgentRuntimeSkillSnapshot>;
|
|
3
5
|
export declare function syncCursorSkills(ctx: AgentRuntimeSkillContext, desiredSkills: string[]): Promise<AgentRuntimeSkillSnapshot>;
|
|
4
6
|
export declare function resolveCursorDesiredSkillNames(config: Record<string, unknown>, availableEntries: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAqBvC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,UAQzF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,UAErF;AAoBD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAExG;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,wBAAwB,EAC7B,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAuBpC;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,gBAAgB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,YAGzC"}
|
package/dist/server/skills.js
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
+
import { resolveOrganizationStorageKey } from "@rudderhq/agent-runtime-utils";
|
|
1
2
|
import { buildPersistentSkillSnapshot, ensureRudderSkillSymlink, readInstalledSkillTargets, readRudderRuntimeSkillEntries, resolveRudderDesiredSkillNames, } from "@rudderhq/agent-runtime-utils/server-utils";
|
|
2
3
|
import fs from "node:fs/promises";
|
|
3
4
|
import os from "node:os";
|
|
4
5
|
import path from "node:path";
|
|
5
6
|
import { fileURLToPath } from "node:url";
|
|
6
7
|
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const DEFAULT_RUDDER_INSTANCE_ID = "default";
|
|
7
9
|
function asString(value) {
|
|
8
10
|
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
9
11
|
}
|
|
10
|
-
function
|
|
12
|
+
export function resolveManagedCursorHomeDir(config, orgId) {
|
|
11
13
|
const env = typeof config.env === "object" && config.env !== null && !Array.isArray(config.env)
|
|
12
14
|
? config.env
|
|
13
15
|
: {};
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
return path.
|
|
16
|
+
const rudderHome = asString(env.RUDDER_HOME) ?? process.env.RUDDER_HOME ?? path.join(os.homedir(), ".rudder");
|
|
17
|
+
const instanceId = asString(env.RUDDER_INSTANCE_ID) ?? process.env.RUDDER_INSTANCE_ID ?? DEFAULT_RUDDER_INSTANCE_ID;
|
|
18
|
+
return path.resolve(rudderHome, "instances", instanceId, "organizations", resolveOrganizationStorageKey(orgId), "cursor-home");
|
|
17
19
|
}
|
|
18
|
-
|
|
20
|
+
export function resolveCursorSkillsHome(config, orgId) {
|
|
21
|
+
return path.join(resolveManagedCursorHomeDir(config, orgId), ".cursor", "skills");
|
|
22
|
+
}
|
|
23
|
+
async function buildCursorSkillSnapshot(config, orgId) {
|
|
19
24
|
const availableEntries = await readRudderRuntimeSkillEntries(config, __moduleDir);
|
|
20
25
|
const desiredSkills = resolveRudderDesiredSkillNames(config, availableEntries);
|
|
21
|
-
const skillsHome = resolveCursorSkillsHome(config);
|
|
26
|
+
const skillsHome = resolveCursorSkillsHome(config, orgId);
|
|
22
27
|
const installed = await readInstalledSkillTargets(skillsHome);
|
|
23
28
|
return buildPersistentSkillSnapshot({
|
|
24
29
|
agentRuntimeType: "cursor",
|
|
@@ -33,12 +38,12 @@ async function buildCursorSkillSnapshot(config) {
|
|
|
33
38
|
});
|
|
34
39
|
}
|
|
35
40
|
export async function listCursorSkills(ctx) {
|
|
36
|
-
return buildCursorSkillSnapshot(ctx.config);
|
|
41
|
+
return buildCursorSkillSnapshot(ctx.config, ctx.orgId);
|
|
37
42
|
}
|
|
38
43
|
export async function syncCursorSkills(ctx, desiredSkills) {
|
|
39
44
|
const availableEntries = await readRudderRuntimeSkillEntries(ctx.config, __moduleDir);
|
|
40
45
|
const desiredSet = new Set(desiredSkills);
|
|
41
|
-
const skillsHome = resolveCursorSkillsHome(ctx.config);
|
|
46
|
+
const skillsHome = resolveCursorSkillsHome(ctx.config, ctx.orgId);
|
|
42
47
|
await fs.mkdir(skillsHome, { recursive: true });
|
|
43
48
|
const installed = await readInstalledSkillTargets(skillsHome);
|
|
44
49
|
const availableByRuntimeName = new Map(availableEntries.map((entry) => [entry.runtimeName, entry]));
|
|
@@ -58,7 +63,7 @@ export async function syncCursorSkills(ctx, desiredSkills) {
|
|
|
58
63
|
continue;
|
|
59
64
|
await fs.unlink(path.join(skillsHome, name)).catch(() => { });
|
|
60
65
|
}
|
|
61
|
-
return buildCursorSkillSnapshot(ctx.config);
|
|
66
|
+
return buildCursorSkillSnapshot(ctx.config, ctx.orgId);
|
|
62
67
|
}
|
|
63
68
|
export function resolveCursorDesiredSkillNames(config, availableEntries) {
|
|
64
69
|
return resolveRudderDesiredSkillNames(config, availableEntries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/agent-runtime-cursor-local",
|
|
3
|
-
"version": "0.3.6-canary.
|
|
3
|
+
"version": "0.3.6-canary.10",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"typecheck": "tsc --noEmit"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@rudderhq/agent-runtime-utils": "0.3.6-canary.
|
|
70
|
+
"@rudderhq/agent-runtime-utils": "0.3.6-canary.10",
|
|
71
71
|
"picocolors": "^1.1.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
@@ -166,26 +166,52 @@ Memory does not survive session restarts. Files do.
|
|
|
166
166
|
- Make a mistake -> document it so future-you does not repeat it.
|
|
167
167
|
- On-disk text files are always better than holding it in temporary context.
|
|
168
168
|
|
|
169
|
-
## Memory Recall -- Use
|
|
169
|
+
## Memory Recall -- Use File-Based Memory Search
|
|
170
170
|
|
|
171
171
|
Use the on-disk structure directly. Do not require a semantic index just to
|
|
172
|
-
recall memory.
|
|
172
|
+
recall memory. The files are the source of truth; search is only the triage step
|
|
173
|
+
for locating the right file, then claims must be verified against the stored
|
|
174
|
+
fact or note.
|
|
173
175
|
|
|
174
176
|
Recall order:
|
|
175
177
|
|
|
176
178
|
1. If you already know the entity, open `summary.md` first, then `items.yaml`
|
|
177
179
|
only if the summary is insufficient.
|
|
178
180
|
2. For recent events, read today's and nearby `memory/YYYY-MM-DD.md` files.
|
|
179
|
-
3. For
|
|
180
|
-
|
|
181
|
+
3. For broad recall or unknown entity paths, run Memory Search Mode.
|
|
182
|
+
|
|
183
|
+
### Memory Search Mode
|
|
184
|
+
|
|
185
|
+
Use this mode when the request sounds like "what do we know about...", "have we
|
|
186
|
+
seen this before...", "what did the user prefer...", or when plain directory
|
|
187
|
+
search would return too many matches.
|
|
188
|
+
|
|
189
|
+
1. Define the search target in one sentence: subject, likely entity, timeframe,
|
|
190
|
+
project, and answer shape.
|
|
191
|
+
2. Build 3-6 focused query terms: exact phrase, synonyms, likely entity names,
|
|
192
|
+
project names, and durable-signal words such as `preference`, `decision`,
|
|
193
|
+
`lesson`, `handoff`, `constraint`, or `review`.
|
|
194
|
+
3. Search scoped roots separately so results can be ranked by source type:
|
|
181
195
|
|
|
182
196
|
```bash
|
|
183
|
-
rg -n "
|
|
184
|
-
rg -n
|
|
197
|
+
rg -n -i "review|handoff|preference" "$AGENT_HOME/life" "$AGENT_HOME/memory"
|
|
198
|
+
rg -n -i "review|handoff|preference" "$RUDDER_PROJECT_LIBRARY_ROOT"
|
|
185
199
|
```
|
|
186
200
|
|
|
187
|
-
|
|
188
|
-
|
|
201
|
+
4. Rank candidate files before opening many of them:
|
|
202
|
+
- entity `summary.md` over `items.yaml` for quick context;
|
|
203
|
+
- active `items.yaml` facts over superseded facts;
|
|
204
|
+
- recent daily notes over old daily notes for event recall;
|
|
205
|
+
- newest dated shared work notes over older notes;
|
|
206
|
+
- files matching multiple query terms over single-term matches;
|
|
207
|
+
- paths in the current project or organization over unrelated roots.
|
|
208
|
+
5. Open the top 3-7 candidate files, not every match. Read enough surrounding
|
|
209
|
+
context to verify the fact, date, status, and source.
|
|
210
|
+
6. Answer from verified memory only. Cite the file paths used, mention conflicts
|
|
211
|
+
or weak matches, and say when no reliable memory was found.
|
|
212
|
+
|
|
213
|
+
Do not dump raw `rg` output as the answer. Do not treat a keyword hit as a fact
|
|
214
|
+
until the source file has been opened and checked.
|
|
189
215
|
|
|
190
216
|
## Shared Work Notes
|
|
191
217
|
|
|
@@ -126,3 +126,29 @@ Must not:
|
|
|
126
126
|
memory.
|
|
127
127
|
- Ignore the attachment-driven reinterpretation when forming future task
|
|
128
128
|
context.
|
|
129
|
+
|
|
130
|
+
### Case: Broad Memory Recall Needs Search Triage
|
|
131
|
+
|
|
132
|
+
Input:
|
|
133
|
+
|
|
134
|
+
A user asks: "What do we know about my previous preferences for agent review
|
|
135
|
+
handoffs?" There is no known entity path, and the relevant notes may live across
|
|
136
|
+
life summaries, daily notes, or shared project Library files.
|
|
137
|
+
|
|
138
|
+
Expected behavior:
|
|
139
|
+
|
|
140
|
+
- Build a focused memory-search query set from concrete terms, synonyms,
|
|
141
|
+
likely entities, and date/project hints before reading files.
|
|
142
|
+
- Search the likely memory roots and return a short ranked candidate list
|
|
143
|
+
grouped by source type, preferring entity `summary.md`, active facts, recent
|
|
144
|
+
daily notes, and newest shared work notes.
|
|
145
|
+
- Open only the strongest candidate files, verify claims against stored facts
|
|
146
|
+
or notes, and cite the file paths used.
|
|
147
|
+
- State uncertainty when matches are weak or conflicting.
|
|
148
|
+
|
|
149
|
+
Must not:
|
|
150
|
+
|
|
151
|
+
- Dump raw `rg` output as the answer.
|
|
152
|
+
- Read every matching file without ranking.
|
|
153
|
+
- Treat keyword matches as facts before opening and verifying the source file.
|
|
154
|
+
- Ignore newer dated notes or superseded facts when older matches exist.
|
|
@@ -64,3 +64,29 @@ Facts decay in retrieval priority over time so stale info does not crowd out rec
|
|
|
64
64
|
**Weekly synthesis:** Sort by recency tier, then by access_count within tier. Cold facts drop out of the summary but remain in items.yaml. Accessing a cold fact reheats it.
|
|
65
65
|
|
|
66
66
|
No deletion. Decay only affects retrieval priority via summary.md curation. The full record always lives in items.yaml.
|
|
67
|
+
|
|
68
|
+
## Memory Search Result Rules
|
|
69
|
+
|
|
70
|
+
When broad recall uses file search, results are candidates, not facts. Open the
|
|
71
|
+
candidate file and verify the stored note or YAML item before answering.
|
|
72
|
+
|
|
73
|
+
Rank candidates with this bias:
|
|
74
|
+
|
|
75
|
+
- `summary.md` gives the fastest current entity context.
|
|
76
|
+
- `items.yaml` is authoritative for atomic facts; ignore facts with
|
|
77
|
+
`status: superseded` except to explain history or follow `superseded_by`.
|
|
78
|
+
- Daily notes are authoritative for raw timeline and conversation capture.
|
|
79
|
+
- Newer dated shared work notes usually supersede older shared notes unless the
|
|
80
|
+
older file explicitly remains active.
|
|
81
|
+
- Multiple matching terms in one file are stronger than one isolated match.
|
|
82
|
+
|
|
83
|
+
When a fact is used in the final answer, update access metadata when practical:
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
last_accessed: "YYYY-MM-DD"
|
|
87
|
+
access_count: 1
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Answers should cite the memory file path or Rudder-renderable Library reference
|
|
91
|
+
used, state when evidence is weak, and avoid exposing raw private transcript
|
|
92
|
+
text unless the exact wording is necessary and safe.
|
package/skills/rudder/SKILL.md
CHANGED
|
@@ -68,8 +68,11 @@ rudder approval issues "$RUDDER_APPROVAL_ID" --json
|
|
|
68
68
|
rudder agent inbox --json
|
|
69
69
|
rudder issue context "<issue-id-or-identifier>" --json
|
|
70
70
|
rudder issue context "$RUDDER_TASK_ID" --wake-comment-id "$RUDDER_WAKE_COMMENT_ID" --json
|
|
71
|
+
rudder issue context "<issue-id-or-identifier>" --wake-comment-id "cmt_<uuid-prefix>" --json
|
|
71
72
|
rudder issue checkout "<issue-id-or-identifier>" --json
|
|
72
73
|
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" [--image "<path>"] --json
|
|
74
|
+
rudder issue comments get "<issue-id-or-identifier>" "cmt_<uuid-prefix>" --json
|
|
75
|
+
rudder issue comments list "<issue-id-or-identifier>" --after "cmt_<uuid-prefix>" --json
|
|
73
76
|
rudder issue done "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
74
77
|
rudder issue block "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
75
78
|
rudder issue review "<issue-id-or-identifier>" --decision approve --comment-file "<path>" --json
|
|
@@ -80,6 +83,12 @@ rudder issue create --org-id "$RUDDER_ORG_ID" ... --json
|
|
|
80
83
|
rudder user activity --user me --since today --json
|
|
81
84
|
```
|
|
82
85
|
|
|
86
|
+
Agent and issue-comment responses include `shortRef` when available. You may pass
|
|
87
|
+
`agt_<uuid-prefix>` to `rudder agent get` and `cmt_<uuid-prefix>` as
|
|
88
|
+
`--wake-comment-id`, `rudder issue comments get <issue> <comment>`, or
|
|
89
|
+
`rudder issue comments list <issue> --after <comment>`; use the full UUID if a
|
|
90
|
+
short ref is ambiguous within the issue.
|
|
91
|
+
|
|
83
92
|
Issue comment and close-out commands accept comment bodies only from files or
|
|
84
93
|
stdin. For multiline Markdown, command names, code spans, code blocks,
|
|
85
94
|
validation summaries, or screenshot evidence, write the body to a temporary
|
|
@@ -29,11 +29,11 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
29
29
|
| `rudder agent skills sync <agent-id>` | Sync the desired enabled skill set for an agent. | yes | no | no | attached when available |
|
|
30
30
|
| `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
|
|
31
31
|
| `rudder issue search <query> [--org-id <id>]` | Search issues with the server-side issue index across title, identifier, description, and comments. | no | required | no | no |
|
|
32
|
-
| `rudder issue context <issue
|
|
32
|
+
| `rudder issue context <issue> [--wake-comment-id <comment-id-or-cmt-ref>]` | Read the compact heartbeat context for an issue; wake comments may be addressed by full id or cmt_<uuid-prefix>. | no | no | no | no |
|
|
33
33
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
34
34
|
| `rudder issue comment <issue> --body-file <path> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
35
|
-
| `rudder issue comments list <issue
|
|
36
|
-
| `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
|
|
35
|
+
| `rudder issue comments list <issue> [--after <comment-id-or-cmt-ref>]` | List issue comments, optionally only newer comments after a full comment id or cmt_<uuid-prefix> with --after. | no | no | no | no |
|
|
36
|
+
| `rudder issue comments get <issue> <comment-id-or-cmt-ref>` | Read one issue comment by full id or cmt_<uuid-prefix> scoped to the issue. | no | no | no | no |
|
|
37
37
|
| `rudder issue update <issue> ... [--comment-file <path>] [--image <path>]` | Apply generic issue updates when workflow commands are not enough, optionally uploading images for the update comment. | yes | no | no | attached when available |
|
|
38
38
|
| `rudder issue review <issue> --decision <decision> --comment-file <path>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
39
39
|
| `rudder issue commit <issue> --sha <sha> --message <subject>` | Report a code commit created during issue work as structured issue activity. | yes | no | no | attached when available |
|
|
@@ -110,6 +110,8 @@ If an issue has a reviewer, moving it to `blocked` is also a reviewer handoff: t
|
|
|
110
110
|
|
|
111
111
|
Issue comment and close-out commands accept comment bodies only from files or stdin. For any multiline Markdown, command names, code spans, code blocks, test summaries, or screenshot evidence, write the comment to a temporary Markdown file and pass `--body-file <path>` or `--comment-file <path>`, or pass `-` to read the body from stdin.
|
|
112
112
|
|
|
113
|
+
Issue comment responses include `shortRef` when available. `rudder issue comments get <issue> <comment-id-or-cmt-ref>` accepts a full comment UUID or `cmt_<uuid-prefix>`, and `rudder issue comments list <issue> --after <comment-id-or-cmt-ref>` accepts the same forms for the pagination anchor. Use the full UUID when a short ref is ambiguous within the issue.
|
|
114
|
+
|
|
113
115
|
`--image` may be repeated. The CLI uploads each local PNG/JPEG/WebP/GIF as an issue attachment and appends Markdown image links to the comment text before sending it.
|
|
114
116
|
|
|
115
117
|
If your issue comment cites a screenshot path or visual validation artifact, attach that file with `--image <path>` instead of leaving only the local path in the text.
|
|
@@ -156,7 +158,7 @@ weak path syntax and use it only when preserving old content that has no
|
|
|
156
158
|
|
|
157
159
|
## Git Identity Policy
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
Codex local runs preserve the operator `HOME` for host CLI auth while using managed `CODEX_HOME` and Git sidecars for runtime isolation. Codex local runs and runtime-created git worktrees are prepared with `user.useConfigOnly=true` so missing identity fails fast instead of producing `*@*.local` commits. If Git reports missing author or committer identity, configure the repository explicitly with `git config user.name <name>` and `git config user.email <safe-email>`; do not unset the guard or accept auto-detected local-host metadata.
|
|
160
162
|
|
|
161
163
|
## Reviewer Close-Out Signals
|
|
162
164
|
|
|
@@ -172,7 +174,7 @@ Do not rely on a free-form reject or accept comment as the review outcome. The s
|
|
|
172
174
|
## Compatibility Commands
|
|
173
175
|
|
|
174
176
|
- `rudder agent list --org-id <id>` — List agents for an organization.
|
|
175
|
-
- `rudder agent get <agent-id-or-shortname>` — Read one agent by id or
|
|
177
|
+
- `rudder agent get <agent-id-or-shortname-or-agt-ref>` — Read one agent by id, shortname, or agt_<uuid-prefix> short ref.
|
|
176
178
|
- `rudder agent hire --org-id <id> --payload <json>` — Create a new hire using the canonical hire workflow.
|
|
177
179
|
- `rudder agent config index` — Read the installed agent runtime configuration index.
|
|
178
180
|
- `rudder agent config doc <agent-runtime-type>` — Read adapter-specific configuration guidance for one runtime.
|