@moxt-ai/mobius 0.0.15 → 0.0.17

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.
Files changed (31) hide show
  1. package/dist/acp/session-config/grok-build-session-config.d.ts +10 -0
  2. package/dist/acp/session-config/grok-build-session-config.d.ts.map +1 -0
  3. package/dist/acp/session-config/grok-build-session-config.js +202 -0
  4. package/dist/acp/session-config/grok-build-session-config.js.map +1 -0
  5. package/dist/acp/session-config/session-config-protocol.d.ts +32 -0
  6. package/dist/acp/session-config/session-config-protocol.d.ts.map +1 -0
  7. package/dist/acp/session-config/session-config-protocol.js +237 -0
  8. package/dist/acp/session-config/session-config-protocol.js.map +1 -0
  9. package/dist/acp/session-config/session-config-registry.d.ts +3 -0
  10. package/dist/acp/session-config/session-config-registry.d.ts.map +1 -0
  11. package/dist/acp/session-config/session-config-registry.js +8 -0
  12. package/dist/acp/session-config/session-config-registry.js.map +1 -0
  13. package/dist/acp/session-manager.d.ts.map +1 -1
  14. package/dist/acp/session-manager.js +29 -155
  15. package/dist/acp/session-manager.js.map +1 -1
  16. package/dist/agent-catalog/agent-specification.d.ts +1 -0
  17. package/dist/agent-catalog/agent-specification.d.ts.map +1 -1
  18. package/dist/agent-catalog/agent-specification.js +1 -0
  19. package/dist/agent-catalog/agent-specification.js.map +1 -1
  20. package/dist/agent-catalog/agents/workbuddy-agent.d.ts +3 -1
  21. package/dist/agent-catalog/agents/workbuddy-agent.d.ts.map +1 -1
  22. package/dist/agent-catalog/agents/workbuddy-agent.js +33 -1
  23. package/dist/agent-catalog/agents/workbuddy-agent.js.map +1 -1
  24. package/dist/agent-catalog/executable-discovery.d.ts.map +1 -1
  25. package/dist/agent-catalog/executable-discovery.js +18 -8
  26. package/dist/agent-catalog/executable-discovery.js.map +1 -1
  27. package/dist/cli.js +641 -254
  28. package/dist/cli.js.map +4 -4
  29. package/dist/index.js +662 -275
  30. package/dist/index.js.map +4 -4
  31. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import type { ClientConnection, InitializeResponse } from "@agentclientprotocol/sdk";
2
- import type { ResolvedExecutable } from "../../process/executable.ts";
2
+ import { type ResolvedExecutable } from "../../process/executable.ts";
3
+ import type { LocalAgentDiscoveryContext } from "../agent-discovery-context.ts";
3
4
  import { DirectAcpAgentDefinition } from "../agent-specification.ts";
4
5
  export declare class WorkBuddyAgentSpecification extends DirectAcpAgentDefinition {
5
6
  readonly adapterVersion = "2.146.0";
@@ -10,6 +11,7 @@ export declare class WorkBuddyAgentSpecification extends DirectAcpAgentDefinitio
10
11
  constructor();
11
12
  readonly createLaunchEnvironment: () => Promise<Readonly<Record<string, string>>>;
12
13
  readonly resolveManagedAgent: (stateDirectory: string, _platform: NodeJS.Platform, signal: AbortSignal) => Promise<ResolvedExecutable>;
14
+ readonly resolveInstalledAgentExecutables: (context: LocalAgentDiscoveryContext) => Promise<readonly ResolvedExecutable[]>;
13
15
  readonly verifyAcp: (connection: ClientConnection, initialized: InitializeResponse, defaultWorkspace: string, signal: AbortSignal) => Promise<void>;
14
16
  }
15
17
  //# sourceMappingURL=workbuddy-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workbuddy-agent.d.ts","sourceRoot":"","sources":["../../../src/agent-catalog/agents/workbuddy-agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,QAAQ,CAAC,cAAc,aAA6B;IACpD,SAAkB,qBAAqB,QAAO,MAAM,CAAgB;IACpE,QAAQ,CAAC,eAAe,eAAe;IACvC,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,KAAK,eAAe;IAE7B,cAeC;IAED,SAAkB,uBAAuB,QAAO,OAAO,CACrD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CACjC,CAAiE;IAElE,SAAkB,mBAAmB,mBACnB,MAAM,aACX,MAAM,CAAC,QAAQ,UAClB,WAAW,KAClB,OAAO,CAAC,kBAAkB,CAAC,CAQ5B;IAEF,SAAkB,SAAS,eACb,gBAAgB,eACf,kBAAkB,oBACb,MAAM,UAChB,WAAW,KAClB,OAAO,CAAC,IAAI,CAAC,CAkBd;CACH"}
1
+ {"version":3,"file":"workbuddy-agent.d.ts","sourceRoot":"","sources":["../../../src/agent-catalog/agents/workbuddy-agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAarE,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,QAAQ,CAAC,cAAc,aAA6B;IACpD,SAAkB,qBAAqB,QAAO,MAAM,CAAgB;IACpE,QAAQ,CAAC,eAAe,eAAe;IACvC,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,KAAK,eAAe;IAE7B,cAeC;IAED,SAAkB,uBAAuB,QAAO,OAAO,CACrD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CACjC,CAAiE;IAElE,SAAkB,mBAAmB,mBACnB,MAAM,aACX,MAAM,CAAC,QAAQ,UAClB,WAAW,KAClB,OAAO,CAAC,kBAAkB,CAAC,CAQ5B;IAEF,SAAkB,gCAAgC,YACvC,0BAA0B,KAClC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAuBvC;IAEF,SAAkB,SAAS,eACb,gBAAgB,eACf,kBAAkB,oBACb,MAAM,UAChB,WAAW,KAClB,OAAO,CAAC,IAAI,CAAC,CAkBd;CACH"}
@@ -1,9 +1,19 @@
1
- import { join } from "node:path";
1
+ import { isAbsolute, join } from "node:path";
2
2
  import { validateManagedNpmPackage } from "../../agent-installation/managed-npm-package.js";
3
3
  import { WORKBUDDY_MANAGED_PACKAGE, WORKBUDDY_MANAGED_VERSION, } from "../../agent-installation/workbuddy-managed-package.js";
4
+ import { resolveExecutablePath, } from "../../process/executable.js";
4
5
  import { AgentProbeError } from "../agent-probe-error.js";
5
6
  import { DirectAcpAgentDefinition } from "../agent-specification.js";
6
7
  import { verifySessionCreation } from "./verify-session-creation.js";
8
+ const WORKBUDDY_MACOS_EXECUTABLE_PATH = Object.freeze([
9
+ "WorkBuddy.app",
10
+ "Contents",
11
+ "Resources",
12
+ "app.asar.unpacked",
13
+ "cli",
14
+ "bin",
15
+ "codebuddy",
16
+ ]);
7
17
  export class WorkBuddyAgentSpecification extends DirectAcpAgentDefinition {
8
18
  adapterVersion = WORKBUDDY_MANAGED_VERSION;
9
19
  authenticationCommand = () => "codebuddy";
@@ -29,6 +39,28 @@ export class WorkBuddyAgentSpecification extends DirectAcpAgentDefinition {
29
39
  signal.throwIfAborted();
30
40
  return executable;
31
41
  };
42
+ resolveInstalledAgentExecutables = async (context) => {
43
+ context.signal.throwIfAborted();
44
+ if ((context.platform ?? process.platform) !== "darwin") {
45
+ return [];
46
+ }
47
+ const requestedPaths = [
48
+ join("/Applications", ...WORKBUDDY_MACOS_EXECUTABLE_PATH),
49
+ ];
50
+ const homeDirectory = context.environment["HOME"];
51
+ if (homeDirectory !== undefined && isAbsolute(homeDirectory)) {
52
+ requestedPaths.unshift(join(homeDirectory, "Applications", ...WORKBUDDY_MACOS_EXECUTABLE_PATH));
53
+ }
54
+ const executables = [];
55
+ for (const requestedPath of requestedPaths) {
56
+ const executable = await resolveExecutablePath(requestedPath, "darwin");
57
+ context.signal.throwIfAborted();
58
+ if (executable !== null) {
59
+ executables.push(executable);
60
+ }
61
+ }
62
+ return executables;
63
+ };
32
64
  verifyAcp = async (connection, initialized, defaultWorkspace, signal) => {
33
65
  const capabilities = initialized.agentCapabilities ?? {};
34
66
  if (capabilities.loadSession !== true ||
@@ -1 +1 @@
1
- {"version":3,"file":"workbuddy-agent.js","sourceRoot":"","sources":["../../../src/agent-catalog/agents/workbuddy-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,OAAO,2BAA4B,SAAQ,wBAAwB;IAC9D,cAAc,GAAG,yBAAyB,CAAC;IAClC,qBAAqB,GAAG,GAAW,EAAE,CAAC,WAAW,CAAC;IAC3D,eAAe,GAAG,WAAW,CAAC;IAC9B,EAAE,GAAG,WAAW,CAAC;IACjB,KAAK,GAAG,WAAW,CAAC;IAE7B;QACE,KAAK,CACH,uBAAuB,EACvB,CAAC,OAAO,CAAC,EACT;YACE,QAAQ;YACR,WAAW;YACX,yBAAyB;YACzB,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,KAAK;YACL,WAAW;SACZ,CACF,CAAC;IACJ,CAAC;IAEiB,uBAAuB,GAAG,GAE1C,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEhD,mBAAmB,GAAG,KAAK,EAC3C,cAAsB,EACtB,SAA0B,EAC1B,MAAmB,EACU,EAAE;QAC/B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAChD,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAClE,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEgB,SAAS,GAAG,KAAK,EACjC,UAA4B,EAC5B,WAA+B,EAC/B,gBAAwB,EACxB,MAAmB,EACJ,EAAE;QACjB,MAAM,YAAY,GAAsB,WAAW,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC5E,IACE,YAAY,CAAC,WAAW,KAAK,IAAI;YACjC,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAC5C,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QACD,MAAM,qBAAqB,CACzB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"workbuddy-agent.js","sourceRoot":"","sources":["../../../src/agent-catalog/agents/workbuddy-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executable-discovery.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/executable-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAoElC,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAOxC;AAED,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAaxC;AAED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGpC;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGpC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,WAAW,EACnB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAG1D;CACF;AAED,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAoBzC"}
1
+ {"version":3,"file":"executable-discovery.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/executable-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AA+ElC,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAQxC;AAED,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAcxC;AAED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGpC;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGpC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,WAAW,EACnB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAG1D;CACF;AAED,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAoBzC"}
@@ -22,7 +22,7 @@ async function resolveManagedAdapterExecutable(specification, context) {
22
22
  }
23
23
  return managed;
24
24
  }
25
- async function resolveSpecificationExecutables(executableName, overrideVariable, resolveManaged, context) {
25
+ async function resolveSpecificationExecutables(executableName, overrideVariable, resolveInstalled, resolveManaged, context) {
26
26
  const override = context.environment[overrideVariable];
27
27
  if (override !== undefined) {
28
28
  if (override.length === 0 || !isAbsolute(override)) {
@@ -32,17 +32,27 @@ async function resolveSpecificationExecutables(executableName, overrideVariable,
32
32
  return executable === null ? [] : [executable];
33
33
  }
34
34
  const external = await findExecutableOnPath(executableName, context.environment, context.platform);
35
+ const installed = await resolveInstalled();
35
36
  const managed = await resolveManaged();
36
- if (external === null) {
37
- return managed === null ? [] : [managed];
37
+ const executables = [];
38
+ const paths = new Set();
39
+ if (external !== null) {
40
+ executables.push(external);
41
+ paths.add(external.path);
38
42
  }
39
- if (managed === null || managed.path === external.path) {
40
- return [external];
43
+ for (const executable of installed) {
44
+ if (!paths.has(executable.path)) {
45
+ executables.push(executable);
46
+ paths.add(executable.path);
47
+ }
48
+ }
49
+ if (managed !== null && !paths.has(managed.path)) {
50
+ executables.push(managed);
41
51
  }
42
- return [external, managed];
52
+ return executables;
43
53
  }
44
54
  export async function resolveAgentExecutables(specification, context) {
45
- return await resolveSpecificationExecutables(specification.agentExecutable, specification.agentOverrideVariable, async () => await resolveManagedExecutable(specification, context), context);
55
+ return await resolveSpecificationExecutables(specification.agentExecutable, specification.agentOverrideVariable, async () => await specification.resolveInstalledAgentExecutables(context), async () => await resolveManagedExecutable(specification, context), context);
46
56
  }
47
57
  export async function resolveAdapterExecutables(specification, context) {
48
58
  if (specification instanceof DirectAcpAgentDefinition) {
@@ -51,7 +61,7 @@ export async function resolveAdapterExecutables(specification, context) {
51
61
  if (!(specification instanceof BridgedAcpAgentDefinition)) {
52
62
  throw new Error("Unsupported local Agent execution topology");
53
63
  }
54
- return await resolveSpecificationExecutables(specification.adapterExecutable, specification.adapterOverrideVariable, async () => await resolveManagedAdapterExecutable(specification, context), context);
64
+ return await resolveSpecificationExecutables(specification.adapterExecutable, specification.adapterOverrideVariable, () => Promise.resolve([]), async () => await resolveManagedAdapterExecutable(specification, context), context);
55
65
  }
56
66
  export async function resolveAgentExecutable(specification, context) {
57
67
  const executables = await resolveAgentExecutables(specification, context);
@@ -1 +1 @@
1
- {"version":3,"file":"executable-discovery.js","sourceRoot":"","sources":["../../src/agent-catalog/executable-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executable-discovery.js","sourceRoot":"","sources":["../../src/agent-catalog/executable-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EAErB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAElC,KAAK,UAAU,wBAAwB,CACrC,aAAsC,EACtC,OAAmC;IAEnC,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC,mBAAmB,CAC5C,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EACvC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EACpC,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,aAAwC,EACxC,OAAmC;IAEnC,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,sBAAsB,CACpC,IAAI,CACF,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EACvC,UAAU,EACV,aAAa,CAAC,EAAE,EAChB,aAAa,CAAC,cAAc,CAC7B,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,cAAsB,EACtB,gBAAwB,EACxB,gBAA8D,EAC9D,cAAwD,EACxD,OAAmC;IAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,cAAc,EACd,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACvC,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAsC,EACtC,OAAmC;IAEnC,OAAO,MAAM,+BAA+B,CAC1C,aAAa,CAAC,eAAe,EAC7B,aAAa,CAAC,qBAAqB,EACnC,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,EACzE,KAAK,IAAI,EAAE,CAAC,MAAM,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,EAClE,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,aAAsC,EACtC,OAAmC;IAEnC,IAAI,aAAa,YAAY,wBAAwB,EAAE,CAAC;QACtD,OAAO,MAAM,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,YAAY,yBAAyB,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,+BAA+B,CAC1C,aAAa,CAAC,iBAAiB,EAC/B,aAAa,CAAC,uBAAuB,EACrC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EACzB,KAAK,IAAI,EAAE,CAAC,MAAM,+BAA+B,CAAC,aAAa,EAAE,OAAO,CAAC,EACzE,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAsC,EACtC,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1E,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAAsC,EACtC,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA8B,EAC9B,UAA6B,EAC7B,WAAwC,EACxC,gBAAwB,EACxB,MAAmB,EACnB,mBAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACrC,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,UAAU,CAAC,IAAI;QACxB,GAAG,EAAE,gBAAgB;QACrB,WAAW;QACX,MAAM;QACN,mBAAmB;KACpB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,qBAAqB,CAC7B,qBAAqB,EACrB,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,uBAAuB;IACzB,UAAU,CAAqB;IAC/B,OAAO,CAAS;IAEzB,YAAY,UAA8B,EAAE,OAAe;QACzD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAAsC,EACtC,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,UAAU,EACV,aAAa,CAAC,qBAAqB,EACnC,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,MAAM,EACd,aAAa,CAAC,+BAA+B,CAC9C,CAAC;YACF,OAAO,IAAI,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}