agent-issues 0.0.119 → 0.0.126

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 (172) hide show
  1. package/dist/build-info.json +3 -0
  2. package/dist/cli.js +97746 -26
  3. package/kanban/dist/assets/index-CIAg6qj5.css +1 -0
  4. package/kanban/dist/assets/index-DaYQjJS7.js +920 -0
  5. package/kanban/dist/index.html +13 -0
  6. package/package.json +12 -11
  7. package/site/dist/assets/index-D6NM1iDo.js +4533 -0
  8. package/site/dist/index.html +1 -1
  9. package/skills/agent-issues-operating-contract.md +1 -1
  10. package/skills/{ai-wayfinder → ai-pioneer}/SKILL.md +9 -9
  11. package/skills/recipes/README.md +2 -2
  12. package/skills/recipes/{wayfinder-map.md → pioneer-map.md} +2 -2
  13. package/skills/recipes/{wayfinder-ticket.md → pioneer-ticket.md} +2 -2
  14. package/dist/agent-installer.d.ts +0 -49
  15. package/dist/agent-installer.js +0 -171
  16. package/dist/agent-installer.js.map +0 -1
  17. package/dist/auth-session.d.ts +0 -40
  18. package/dist/auth-session.js +0 -107
  19. package/dist/auth-session.js.map +0 -1
  20. package/dist/body-backfill.d.ts +0 -26
  21. package/dist/body-backfill.js +0 -219
  22. package/dist/body-backfill.js.map +0 -1
  23. package/dist/build-mode.d.ts +0 -1
  24. package/dist/build-mode.js +0 -1
  25. package/dist/build-mode.js.map +0 -1
  26. package/dist/cli/commands/auth.d.ts +0 -61
  27. package/dist/cli/commands/auth.js +0 -134
  28. package/dist/cli/commands/auth.js.map +0 -1
  29. package/dist/cli/commands/backfill.d.ts +0 -8
  30. package/dist/cli/commands/backfill.js +0 -36
  31. package/dist/cli/commands/backfill.js.map +0 -1
  32. package/dist/cli/commands/comments.d.ts +0 -34
  33. package/dist/cli/commands/comments.js +0 -124
  34. package/dist/cli/commands/comments.js.map +0 -1
  35. package/dist/cli/commands/context.d.ts +0 -13
  36. package/dist/cli/commands/context.js +0 -156
  37. package/dist/cli/commands/context.js.map +0 -1
  38. package/dist/cli/commands/entities.d.ts +0 -91
  39. package/dist/cli/commands/entities.js +0 -420
  40. package/dist/cli/commands/entities.js.map +0 -1
  41. package/dist/cli/commands/export.d.ts +0 -20
  42. package/dist/cli/commands/export.js +0 -98
  43. package/dist/cli/commands/export.js.map +0 -1
  44. package/dist/cli/commands/fallback.d.ts +0 -6
  45. package/dist/cli/commands/fallback.js +0 -10
  46. package/dist/cli/commands/fallback.js.map +0 -1
  47. package/dist/cli/commands/handoff.d.ts +0 -1
  48. package/dist/cli/commands/handoff.js +0 -2
  49. package/dist/cli/commands/handoff.js.map +0 -1
  50. package/dist/cli/commands/installers.d.ts +0 -37
  51. package/dist/cli/commands/installers.js +0 -78
  52. package/dist/cli/commands/installers.js.map +0 -1
  53. package/dist/cli/commands/kanban.d.ts +0 -8
  54. package/dist/cli/commands/kanban.js +0 -83
  55. package/dist/cli/commands/kanban.js.map +0 -1
  56. package/dist/cli/commands/meta.d.ts +0 -14
  57. package/dist/cli/commands/meta.js +0 -33
  58. package/dist/cli/commands/meta.js.map +0 -1
  59. package/dist/cli/commands/plan-entries.d.ts +0 -30
  60. package/dist/cli/commands/plan-entries.js +0 -94
  61. package/dist/cli/commands/plan-entries.js.map +0 -1
  62. package/dist/cli/commands/site.d.ts +0 -29
  63. package/dist/cli/commands/site.js +0 -89
  64. package/dist/cli/commands/site.js.map +0 -1
  65. package/dist/cli/commands/sql.d.ts +0 -6
  66. package/dist/cli/commands/sql.js +0 -21
  67. package/dist/cli/commands/sql.js.map +0 -1
  68. package/dist/cli/commands/synchronize.d.ts +0 -12
  69. package/dist/cli/commands/synchronize.js +0 -31
  70. package/dist/cli/commands/synchronize.js.map +0 -1
  71. package/dist/cli/commands/tenants.d.ts +0 -29
  72. package/dist/cli/commands/tenants.js +0 -101
  73. package/dist/cli/commands/tenants.js.map +0 -1
  74. package/dist/cli/index.d.ts +0 -4
  75. package/dist/cli/index.js +0 -120
  76. package/dist/cli/index.js.map +0 -1
  77. package/dist/cli/renderers.d.ts +0 -250
  78. package/dist/cli/renderers.js +0 -286
  79. package/dist/cli/renderers.js.map +0 -1
  80. package/dist/cli/shared.d.ts +0 -97
  81. package/dist/cli/shared.js +0 -192
  82. package/dist/cli/shared.js.map +0 -1
  83. package/dist/cli.d.ts +0 -11
  84. package/dist/cli.js.map +0 -1
  85. package/dist/context-cli.d.ts +0 -16
  86. package/dist/context-cli.js +0 -131
  87. package/dist/context-cli.js.map +0 -1
  88. package/dist/daemon/daemon-lifecycle.d.ts +0 -1
  89. package/dist/daemon/daemon-lifecycle.js +0 -2
  90. package/dist/daemon/daemon-lifecycle.js.map +0 -1
  91. package/dist/daemon/daemon-main.d.ts +0 -14
  92. package/dist/daemon/daemon-main.js +0 -30
  93. package/dist/daemon/daemon-main.js.map +0 -1
  94. package/dist/daemon/local-daemon-store.d.ts +0 -21
  95. package/dist/daemon/local-daemon-store.js +0 -31
  96. package/dist/daemon/local-daemon-store.js.map +0 -1
  97. package/dist/entity-projection.d.ts +0 -141
  98. package/dist/entity-projection.js +0 -147
  99. package/dist/entity-projection.js.map +0 -1
  100. package/dist/entra-device-login.d.ts +0 -12
  101. package/dist/entra-device-login.js +0 -40
  102. package/dist/entra-device-login.js.map +0 -1
  103. package/dist/export-files.d.ts +0 -24
  104. package/dist/export-files.js +0 -230
  105. package/dist/export-files.js.map +0 -1
  106. package/dist/export-markdown.d.ts +0 -24
  107. package/dist/export-markdown.js +0 -343
  108. package/dist/export-markdown.js.map +0 -1
  109. package/dist/help.d.ts +0 -112
  110. package/dist/help.js +0 -1430
  111. package/dist/help.js.map +0 -1
  112. package/dist/kanban/assets.d.ts +0 -3
  113. package/dist/kanban/assets.js +0 -37
  114. package/dist/kanban/assets.js.map +0 -1
  115. package/dist/kanban/index.d.ts +0 -1
  116. package/dist/kanban/index.js +0 -2
  117. package/dist/kanban/index.js.map +0 -1
  118. package/dist/kanban/server.d.ts +0 -28
  119. package/dist/kanban/server.js +0 -118
  120. package/dist/kanban/server.js.map +0 -1
  121. package/dist/mcp-installer.d.ts +0 -32
  122. package/dist/mcp-installer.js +0 -118
  123. package/dist/mcp-installer.js.map +0 -1
  124. package/dist/mcp-server/index.d.ts +0 -11
  125. package/dist/mcp-server/index.js +0 -504
  126. package/dist/mcp-server/index.js.map +0 -1
  127. package/dist/mcp-server/index.test.d.ts +0 -1
  128. package/dist/mcp-server/index.test.js +0 -746
  129. package/dist/mcp-server/index.test.js.map +0 -1
  130. package/dist/mcp-server/mcp-tool-audit.d.ts +0 -6
  131. package/dist/mcp-server/mcp-tool-audit.js +0 -47
  132. package/dist/mcp-server/mcp-tool-audit.js.map +0 -1
  133. package/dist/mcp-server/stdio.d.ts +0 -2
  134. package/dist/mcp-server/stdio.js +0 -7
  135. package/dist/mcp-server/stdio.js.map +0 -1
  136. package/dist/mcp.d.ts +0 -2
  137. package/dist/mcp.js +0 -19
  138. package/dist/mcp.js.map +0 -1
  139. package/dist/open-storage-driver.d.ts +0 -53
  140. package/dist/open-storage-driver.js +0 -71
  141. package/dist/open-storage-driver.js.map +0 -1
  142. package/dist/open-synchronize-stores.d.ts +0 -24
  143. package/dist/open-synchronize-stores.js +0 -34
  144. package/dist/open-synchronize-stores.js.map +0 -1
  145. package/dist/project-identity.d.ts +0 -23
  146. package/dist/project-identity.js +0 -121
  147. package/dist/project-identity.js.map +0 -1
  148. package/dist/runtime-access-boundary.d.ts +0 -7
  149. package/dist/runtime-access-boundary.js +0 -182
  150. package/dist/runtime-access-boundary.js.map +0 -1
  151. package/dist/service-discovery.d.ts +0 -10
  152. package/dist/service-discovery.js +0 -64
  153. package/dist/service-discovery.js.map +0 -1
  154. package/dist/site/assets.d.ts +0 -4
  155. package/dist/site/assets.js +0 -46
  156. package/dist/site/assets.js.map +0 -1
  157. package/dist/site/cloud-events-relay.d.ts +0 -18
  158. package/dist/site/cloud-events-relay.js +0 -78
  159. package/dist/site/cloud-events-relay.js.map +0 -1
  160. package/dist/site/index.d.ts +0 -1
  161. package/dist/site/index.js +0 -2
  162. package/dist/site/index.js.map +0 -1
  163. package/dist/site/server.d.ts +0 -42
  164. package/dist/site/server.js +0 -320
  165. package/dist/site/server.js.map +0 -1
  166. package/dist/skill-installer.d.ts +0 -35
  167. package/dist/skill-installer.js +0 -174
  168. package/dist/skill-installer.js.map +0 -1
  169. package/dist/vitest-setup.d.ts +0 -1
  170. package/dist/vitest-setup.js +0 -7
  171. package/dist/vitest-setup.js.map +0 -1
  172. package/site/dist/assets/index-DSR4mIml.js +0 -4396
@@ -1,37 +0,0 @@
1
- import { TargetCommand } from "../shared.js";
2
- export declare class InstallSkillsCommand extends TargetCommand {
3
- static paths: string[][];
4
- execute(): Promise<number>;
5
- }
6
- export declare class InstallAgentCommand extends TargetCommand {
7
- static paths: string[][];
8
- execute(): Promise<number>;
9
- }
10
- export declare class ListSkillsCommand extends TargetCommand {
11
- static paths: string[][];
12
- execute(): Promise<number>;
13
- }
14
- export declare class ListAgentCommand extends TargetCommand {
15
- static paths: string[][];
16
- execute(): Promise<number>;
17
- }
18
- export declare class UninstallSkillsCommand extends TargetCommand {
19
- static paths: string[][];
20
- execute(): Promise<number>;
21
- }
22
- export declare class UninstallAgentCommand extends TargetCommand {
23
- static paths: string[][];
24
- execute(): Promise<number>;
25
- }
26
- export declare class InstallMcpCommand extends TargetCommand {
27
- static paths: string[][];
28
- execute(): Promise<number>;
29
- }
30
- export declare class ListMcpCommand extends TargetCommand {
31
- static paths: string[][];
32
- execute(): Promise<number>;
33
- }
34
- export declare class UninstallMcpCommand extends TargetCommand {
35
- static paths: string[][];
36
- execute(): Promise<number>;
37
- }
@@ -1,78 +0,0 @@
1
- import { installAgent, listAgent, uninstallAgent } from "../../agent-installer.js";
2
- import { installMcp, listMcp, uninstallMcp } from "../../mcp-installer.js";
3
- import { installSkills, listSkills, uninstallSkills } from "../../skill-installer.js";
4
- import { renderInstallAgent, renderInstallMcp, renderInstallSkills, renderListAgent, renderListMcp, renderListSkills, renderUninstallAgent, renderUninstallMcp, renderUninstallSkills } from "../renderers.js";
5
- import { TargetCommand } from "../shared.js";
6
- export class InstallSkillsCommand extends TargetCommand {
7
- static paths = [["install-skills"]];
8
- async execute() {
9
- const result = installSkills({ targetDir: this.target, force: this.force });
10
- this.print(result, renderInstallSkills(result));
11
- return 0;
12
- }
13
- }
14
- export class InstallAgentCommand extends TargetCommand {
15
- static paths = [["install-agent"]];
16
- async execute() {
17
- const result = installAgent({ targetDir: this.target, force: this.force });
18
- this.print(result, renderInstallAgent(result));
19
- return 0;
20
- }
21
- }
22
- export class ListSkillsCommand extends TargetCommand {
23
- static paths = [["list-skills"]];
24
- async execute() {
25
- const result = listSkills({ targetDir: this.target });
26
- this.print(result, renderListSkills(result));
27
- return 0;
28
- }
29
- }
30
- export class ListAgentCommand extends TargetCommand {
31
- static paths = [["list-agent"]];
32
- async execute() {
33
- const result = listAgent({ targetDir: this.target });
34
- this.print(result, renderListAgent(result));
35
- return 0;
36
- }
37
- }
38
- export class UninstallSkillsCommand extends TargetCommand {
39
- static paths = [["uninstall-skills"]];
40
- async execute() {
41
- const result = uninstallSkills({ targetDir: this.target });
42
- this.print(result, renderUninstallSkills(result));
43
- return 0;
44
- }
45
- }
46
- export class UninstallAgentCommand extends TargetCommand {
47
- static paths = [["uninstall-agent"]];
48
- async execute() {
49
- const result = uninstallAgent({ targetDir: this.target });
50
- this.print(result, renderUninstallAgent(result));
51
- return 0;
52
- }
53
- }
54
- export class InstallMcpCommand extends TargetCommand {
55
- static paths = [["install-mcp"]];
56
- async execute() {
57
- const result = installMcp({ targetFile: this.target, force: this.force });
58
- this.print(result, renderInstallMcp(result));
59
- return 0;
60
- }
61
- }
62
- export class ListMcpCommand extends TargetCommand {
63
- static paths = [["list-mcp"]];
64
- async execute() {
65
- const result = listMcp({ targetFile: this.target });
66
- this.print(result, renderListMcp(result));
67
- return 0;
68
- }
69
- }
70
- export class UninstallMcpCommand extends TargetCommand {
71
- static paths = [["uninstall-mcp"]];
72
- async execute() {
73
- const result = uninstallMcp({ targetFile: this.target });
74
- this.print(result, renderUninstallMcp(result));
75
- return 0;
76
- }
77
- }
78
- //# sourceMappingURL=installers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installers.js","sourceRoot":"","sources":["../../../src/cli/commands/installers.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { BaseCommand } from "../shared.js";
2
- export declare class KanbanCommand extends BaseCommand {
3
- static paths: string[][];
4
- portValue: string | undefined;
5
- serve: boolean;
6
- stop: boolean;
7
- execute(): Promise<number>;
8
- }
@@ -1,83 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { Option } from "clipanion";
3
- import { KANBAN_HEALTH_PATH, startKanbanServer, stopKanbanServer } from "../../kanban/server.js";
4
- import { BaseCommand, parsePortOption } from "../shared.js";
5
- const DEFAULT_KANBAN_PORT = 4174;
6
- const STARTUP_TIMEOUT_MS = 3000;
7
- export class KanbanCommand extends BaseCommand {
8
- static paths = [["kanban"]];
9
- portValue = Option.String("--port");
10
- serve = Option.Boolean("--serve", false);
11
- stop = Option.Boolean("--stop", false);
12
- async execute() {
13
- const port = parsePortOption(this.portValue) ?? DEFAULT_KANBAN_PORT;
14
- if (this.stop) {
15
- if (this.serve) {
16
- throw new Error("--serve and --stop cannot be used together.");
17
- }
18
- const result = await stopKanbanServer({ port });
19
- this.print(result, renderStopKanban(result));
20
- return 0;
21
- }
22
- if (this.serve) {
23
- const handle = await startKanbanServer({ port });
24
- await new Promise((resolve, reject) => {
25
- handle.server.once("close", resolve);
26
- handle.server.once("error", reject);
27
- });
28
- return 0;
29
- }
30
- const info = await startBackgroundKanbanServer(port);
31
- openUrl(info.url);
32
- this.print(info, `Opened Kanban at ${info.url}`);
33
- return 0;
34
- }
35
- }
36
- async function startBackgroundKanbanServer(port) {
37
- const entrypoint = process.argv[1];
38
- if (!entrypoint) {
39
- throw new Error("Could not determine the agent-issues CLI entrypoint.");
40
- }
41
- spawn(process.execPath, [entrypoint, "kanban", "--serve", "--port", String(port)], {
42
- detached: true,
43
- stdio: "ignore"
44
- }).unref();
45
- const url = `http://127.0.0.1:${port}`;
46
- const deadline = Date.now() + STARTUP_TIMEOUT_MS;
47
- while (Date.now() < deadline) {
48
- try {
49
- const response = await fetch(`${url}${KANBAN_HEALTH_PATH}`);
50
- if (response.status === 200) {
51
- return { host: "127.0.0.1", port, url };
52
- }
53
- }
54
- catch {
55
- // The detached server has not bound its port yet.
56
- }
57
- await new Promise((resolve) => {
58
- setTimeout(resolve, 25);
59
- });
60
- }
61
- throw new Error(`Kanban server did not start at ${url}.`);
62
- }
63
- function openUrl(url) {
64
- if (process.platform === "darwin") {
65
- spawn("open", [url], { detached: true, stdio: "ignore" }).unref();
66
- return;
67
- }
68
- if (process.platform === "win32") {
69
- spawn("cmd", ["/c", "start", "", url], { detached: true, stdio: "ignore" }).unref();
70
- return;
71
- }
72
- spawn("xdg-open", [url], { detached: true, stdio: "ignore" }).unref();
73
- }
74
- function renderStopKanban(result) {
75
- if (result.stopped) {
76
- return `Stopped Kanban at ${result.url}`;
77
- }
78
- if (!result.reachable) {
79
- return `No Kanban server was running at ${result.url}`;
80
- }
81
- return `A server is listening at ${result.url}, but it does not expose the Kanban stop endpoint.`;
82
- }
83
- //# sourceMappingURL=kanban.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../../src/cli/commands/kanban.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAyB,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,OAAO,aAAc,SAAQ,WAAW;IACtC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEvC,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC;QACpE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,CAAC;QACV,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACV,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACV,CAAC;CACD;AAED,KAAK,UAAU,2BAA2B,CAAC,IAAY;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;QAClF,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KACf,CAAC,CAAC,KAAK,EAAE,CAAC;IAEX,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,kBAAkB,EAAE,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACzC,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,kDAAkD;QACnD,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAClE,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACpF,OAAO;IACR,CAAC;IAED,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoD;IAC7E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,qBAAqB,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,mCAAmC,MAAM,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IAED,OAAO,4BAA4B,MAAM,CAAC,GAAG,oDAAoD,CAAC;AACnG,CAAC"}
@@ -1,14 +0,0 @@
1
- import { BaseCommand, TargetCommand } from "../shared.js";
2
- export declare class HelpCommand extends BaseCommand {
3
- static paths: string[][];
4
- positionals: string[];
5
- execute(): Promise<number>;
6
- }
7
- export declare class SchemaCommand extends BaseCommand {
8
- static paths: string[][];
9
- execute(): Promise<number>;
10
- }
11
- export declare class CapabilitiesCommand extends TargetCommand {
12
- static paths: string[][];
13
- execute(): Promise<number>;
14
- }
@@ -1,33 +0,0 @@
1
- import { Option } from "clipanion";
2
- import { getCapabilitiesPayload, getHelpPayload, getSchemaPayload, renderHelp, renderSchema, resolveHelpCommandName } from "../../help.js";
3
- import { listSkills } from "../../skill-installer.js";
4
- import { renderListSkills } from "../renderers.js";
5
- import { BaseCommand, TargetCommand } from "../shared.js";
6
- export class HelpCommand extends BaseCommand {
7
- static paths = [["help"]];
8
- positionals = Option.Rest();
9
- async execute() {
10
- const commandName = this.positionals.length > 0 ? resolveHelpCommandName(this.positionals) : undefined;
11
- const payload = getHelpPayload(commandName);
12
- this.print(payload, renderHelp(payload));
13
- return 0;
14
- }
15
- }
16
- export class SchemaCommand extends BaseCommand {
17
- static paths = [["schema"]];
18
- async execute() {
19
- const payload = getSchemaPayload();
20
- this.print(payload, renderSchema(payload));
21
- return 0;
22
- }
23
- }
24
- export class CapabilitiesCommand extends TargetCommand {
25
- static paths = [["capabilities"]];
26
- async execute() {
27
- const skills = listSkills({ targetDir: this.target });
28
- const capabilities = getCapabilitiesPayload(skills);
29
- this.print(capabilities, `${renderHelp(capabilities.help)}\n\n${renderSchema(capabilities.schema)}\n\n${renderListSkills(capabilities.skills)}`);
30
- return 0;
31
- }
32
- }
33
- //# sourceMappingURL=meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/cli/commands/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,OAAO,WAAY,SAAQ,WAAW;IACpC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1B,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC;IACV,CAAC;CACD;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IACtC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,OAAO;QACnB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACV,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAC9C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,OAAO;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CACT,YAAY,EACZ,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CACtH,CAAC;QACF,OAAO,CAAC,CAAC;IACV,CAAC;CACD"}
@@ -1,30 +0,0 @@
1
- import { BodyTenantCommand, TenantCommand } from "../shared.js";
2
- export declare class AddPlanEntryCommand extends BodyTenantCommand {
3
- static paths: string[][];
4
- positionals: string[];
5
- role: string | undefined;
6
- scopeDirection: string | undefined;
7
- references: string[] | undefined;
8
- supersedes: string[] | undefined;
9
- execute(): Promise<number>;
10
- }
11
- export declare class EditPlanEntryCommand extends BodyTenantCommand {
12
- static paths: string[][];
13
- positionals: string[];
14
- execute(): Promise<number>;
15
- }
16
- export declare class DeletePlanEntryCommand extends TenantCommand {
17
- static paths: string[][];
18
- positionals: string[];
19
- execute(): Promise<number>;
20
- }
21
- export declare class ListPlanEntriesCommand extends TenantCommand {
22
- static paths: string[][];
23
- positionals: string[];
24
- execute(): Promise<number>;
25
- }
26
- export declare class PlanEntryHistoryCommand extends TenantCommand {
27
- static paths: string[][];
28
- positionals: string[];
29
- execute(): Promise<number>;
30
- }
@@ -1,94 +0,0 @@
1
- import { Option } from "clipanion";
2
- import { BodyTenantCommand, TenantCommand, requireOption, requirePositional, withStore } from "../shared.js";
3
- export class AddPlanEntryCommand extends BodyTenantCommand {
4
- static paths = [["plan-entry", "add"]];
5
- positionals = Option.Rest();
6
- role = Option.String("--role");
7
- scopeDirection = Option.String("--scope-direction");
8
- references = Option.Array("--reference");
9
- supersedes = Option.Array("--supersedes");
10
- async execute() {
11
- return withStore(this.dbPath, this.withStoreOptions(), async (store) => {
12
- const entry = await store.createPlanEntry({
13
- planId: requirePositional(this.positionals, 0, "plan-entry add <planId> --role <role> --body-file <path|->"),
14
- role: requireOption(this.role, "--role is required for plan-entry add."),
15
- body: requireOption(await this.resolveBody(), "--body-file is required for plan-entry add."),
16
- ...(this.scopeDirection === undefined ? {} : { scopeDirection: this.scopeDirection }),
17
- referencedEntityIds: await resolveEntityIds(store, this.references ?? []),
18
- supersededEntryIds: this.supersedes ?? []
19
- });
20
- this.print(entry, renderPlanEntry(entry));
21
- return 0;
22
- });
23
- }
24
- }
25
- export class EditPlanEntryCommand extends BodyTenantCommand {
26
- static paths = [["plan-entry", "edit"]];
27
- positionals = Option.Rest();
28
- async execute() {
29
- return withStore(this.dbPath, this.withStoreOptions(), async (store) => {
30
- const planId = requirePositional(this.positionals, 0, "plan-entry edit <planId> <entryId> --body-file <path|->");
31
- const entry = await getPlanEntry(store, planId, requirePositional(this.positionals, 1, "plan-entry edit <planId> <entryId> --body-file <path|->"));
32
- const updated = await store.updatePlanEntry({
33
- entryId: entry.id,
34
- body: requireOption(await this.resolveBody(), "--body-file is required for plan-entry edit."),
35
- expectedRevision: entry.revision,
36
- expectedContentHash: entry.contentHash
37
- });
38
- this.print(updated, renderPlanEntry(updated));
39
- return 0;
40
- });
41
- }
42
- }
43
- export class DeletePlanEntryCommand extends TenantCommand {
44
- static paths = [["plan-entry", "delete"]];
45
- positionals = Option.Rest();
46
- async execute() {
47
- return withStore(this.dbPath, this.withStoreOptions(), async (store) => {
48
- const planId = requirePositional(this.positionals, 0, "plan-entry delete <planId> <entryId>");
49
- const entry = await getPlanEntry(store, planId, requirePositional(this.positionals, 1, "plan-entry delete <planId> <entryId>"));
50
- const deleted = await store.deletePlanEntry({ entryId: entry.id, expectedRevision: entry.revision, expectedContentHash: entry.contentHash });
51
- this.print(deleted, renderPlanEntry(deleted));
52
- return 0;
53
- });
54
- }
55
- }
56
- export class ListPlanEntriesCommand extends TenantCommand {
57
- static paths = [["plan-entry", "list"]];
58
- positionals = Option.Rest();
59
- async execute() {
60
- return withStore(this.dbPath, this.withStoreOptions(), async (store) => {
61
- const entries = await store.listPlanEntries({ planId: requirePositional(this.positionals, 0, "plan-entry list <planId>") });
62
- this.print(entries, entries.map(renderPlanEntry).join("\n\n") || "No Plan entries found.");
63
- return 0;
64
- });
65
- }
66
- }
67
- export class PlanEntryHistoryCommand extends TenantCommand {
68
- static paths = [["plan-entry", "history"]];
69
- positionals = Option.Rest();
70
- async execute() {
71
- return withStore(this.dbPath, this.withStoreOptions(), async (store) => {
72
- const history = await store.listPlanEntryHistory({ entryId: requirePositional(this.positionals, 0, "plan-entry history <entryId>") });
73
- this.print(history, history.map(renderPlanEntryHistory).join("\n\n") || "No Plan entry history found.");
74
- return 0;
75
- });
76
- }
77
- }
78
- function renderPlanEntry(entry) {
79
- return `${entry.reference} ${entry.role} revision ${entry.revision}${entry.tombstone ? " deleted" : ""}${entry.body === undefined ? "" : `\n${entry.body}`}`;
80
- }
81
- function renderPlanEntryHistory(entry) {
82
- return `${entry.entryId} ${entry.role} revision ${entry.targetRevision}${entry.tombstone ? " deleted" : ""}\n${entry.body}`;
83
- }
84
- async function getPlanEntry(store, planId, entryId) {
85
- const entry = (await store.listPlanEntries({ planId })).find((candidate) => candidate.id === entryId || candidate.reference === entryId);
86
- if (!entry) {
87
- throw new Error(`Plan entry not found: ${entryId}`);
88
- }
89
- return entry;
90
- }
91
- async function resolveEntityIds(store, references) {
92
- return Promise.all(references.map(async (reference) => (await store.getEntityDetails(reference)).entity.id));
93
- }
94
- //# sourceMappingURL=plan-entries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-entries.js","sourceRoot":"","sources":["../../../src/cli/commands/plan-entries.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { type SpawnOptions } from "node:child_process";
2
- import { TenantCommand } from "../shared.js";
3
- export declare class SiteCommand extends TenantCommand {
4
- static paths: string[][];
5
- portValue: string | undefined;
6
- foreground: boolean;
7
- stop: boolean;
8
- execute(): Promise<number>;
9
- protected serve(): Promise<number>;
10
- }
11
- type DetachedLiveSiteChild = {
12
- on(event: string, listener: (...args: unknown[]) => void): unknown;
13
- once(event: string, listener: (...args: unknown[]) => void): unknown;
14
- removeListener(event: string, listener: (...args: unknown[]) => void): unknown;
15
- unref(): void;
16
- };
17
- type DetachedLiveSiteSpawner = (command: string, args: string[], options: SpawnOptions) => DetachedLiveSiteChild;
18
- export declare function launchDetachedLiveSite(input: {
19
- cwd: string;
20
- dbPath?: string;
21
- entryPoint?: string;
22
- port: number;
23
- }, spawnProcess?: DetachedLiveSiteSpawner): Promise<{
24
- host: string;
25
- port: number;
26
- started: boolean;
27
- url: string;
28
- }>;
29
- export {};
@@ -1,89 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { Option } from "clipanion";
3
- import { startLiveSite, stopLiveSite } from "../../site/index.js";
4
- import { renderLiveSite, renderStartedLiveSite, renderStopLiveSite } from "../renderers.js";
5
- import { parsePortOption, TenantCommand } from "../shared.js";
6
- export class SiteCommand extends TenantCommand {
7
- static paths = [["site"]];
8
- portValue = Option.String("--port");
9
- foreground = Option.Boolean("--foreground", false);
10
- stop = Option.Boolean("--stop", false);
11
- async execute() {
12
- if (this.foreground) {
13
- return await this.serve();
14
- }
15
- const port = parsePortOption(this.portValue) ?? 4173;
16
- if (this.stop) {
17
- const result = await stopLiveSite({ port });
18
- this.print(result, renderStopLiveSite(result));
19
- return 0;
20
- }
21
- const result = await launchDetachedLiveSite({ cwd: this.context.cwd, dbPath: this.dbPath, port });
22
- this.print(result, renderStartedLiveSite(result));
23
- return 0;
24
- }
25
- async serve() {
26
- const result = await startLiveSite({
27
- currentWorkingDirectory: this.context.cwd,
28
- dbPath: this.dbPath,
29
- port: parsePortOption(this.portValue)
30
- });
31
- await new Promise((resolve, reject) => {
32
- if (result.server.listening) {
33
- resolve();
34
- return;
35
- }
36
- result.server.once("listening", resolve);
37
- result.server.once("error", reject);
38
- });
39
- this.print(result.info, renderLiveSite(result.info));
40
- await new Promise((resolve, reject) => {
41
- result.server.once("close", resolve);
42
- result.server.once("error", reject);
43
- });
44
- return 0;
45
- }
46
- }
47
- export async function launchDetachedLiveSite(input, spawnProcess = spawn) {
48
- const entryPoint = input.entryPoint ?? process.argv[1];
49
- if (!entryPoint) {
50
- throw new Error("Could not determine the agent-issues CLI entry point.");
51
- }
52
- const args = [entryPoint, "site", "--foreground", "--port", String(input.port)];
53
- if (input.dbPath) {
54
- args.push("--db", input.dbPath);
55
- }
56
- const child = spawnProcess(process.execPath, args, {
57
- cwd: input.cwd,
58
- detached: true,
59
- env: process.env,
60
- stdio: "ignore"
61
- });
62
- await waitForSpawn(child);
63
- child.on("error", (error) => {
64
- const message = error instanceof Error ? error.message : String(error);
65
- process.stderr.write(`Live site process error: ${message}\n`);
66
- });
67
- child.unref();
68
- return {
69
- host: "127.0.0.1",
70
- port: input.port,
71
- started: true,
72
- url: `http://127.0.0.1:${input.port}`
73
- };
74
- }
75
- async function waitForSpawn(child) {
76
- await new Promise((resolve, reject) => {
77
- const onError = (error) => {
78
- child.removeListener("spawn", onSpawn);
79
- reject(error);
80
- };
81
- const onSpawn = () => {
82
- child.removeListener("error", onError);
83
- resolve();
84
- };
85
- child.once("error", onError);
86
- child.once("spawn", onSpawn);
87
- });
88
- }
89
- //# sourceMappingURL=site.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../../../src/cli/commands/site.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { TenantCommand } from "../shared.js";
2
- export declare class SqlCommand extends TenantCommand {
3
- static paths: string[][];
4
- positionals: string[];
5
- execute(): Promise<number>;
6
- }
@@ -1,21 +0,0 @@
1
- import { ensureDatabase, querySqlite } from "@agent-issues/api-local";
2
- import { Option } from "clipanion";
3
- import { getActiveSavedLogin } from "../../auth-session.js";
4
- import { requirePositional, TenantCommand } from "../shared.js";
5
- export class SqlCommand extends TenantCommand {
6
- static paths = [["sql"]];
7
- positionals = Option.Rest();
8
- async execute() {
9
- const activeLogin = await getActiveSavedLogin(this.context.credentialStoreOptions);
10
- if (activeLogin.kind !== "local") {
11
- throw new Error("Direct SQL is available only when the active saved login is local. Run \"agent-issues auth switch local\" first.");
12
- }
13
- const statement = requirePositional(this.positionals, 0, "sql <statement>");
14
- const { db, dbPath } = await ensureDatabase(this.dbPath, this.withStoreOptions());
15
- db.close();
16
- const rows = querySqlite(dbPath, statement);
17
- this.print({ rows }, JSON.stringify(rows, null, 2));
18
- return 0;
19
- }
20
- }
21
- //# sourceMappingURL=sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/cli/commands/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,OAAO,UAAW,SAAQ,aAAa;IACrC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzB,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO;QACnB,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACnF,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;QACrI,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClF,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACV,CAAC;CACD"}
@@ -1,12 +0,0 @@
1
- import { BaseCommand } from "../shared.js";
2
- /**
3
- * The explicit, user-invoked `synchronize` command (ISS41/ISS59, ADR15,
4
- * ADR16): converges the current project's local `SqliteStore` and cloud
5
- * `HttpStore` by merging their append-only history logs, resolving any
6
- * concurrent same-record edit by last-writer-wins. Never a background
7
- * process - one run, one report.
8
- */
9
- export declare class SynchronizeCommand extends BaseCommand {
10
- static paths: string[][];
11
- execute(): Promise<number>;
12
- }
@@ -1,31 +0,0 @@
1
- import { synchronizeStores } from "@agent-issues/core";
2
- import { openSynchronizeStores } from "../../open-synchronize-stores.js";
3
- import { renderSynchronize } from "../renderers.js";
4
- import { BaseCommand } from "../shared.js";
5
- /**
6
- * The explicit, user-invoked `synchronize` command (ISS41/ISS59, ADR15,
7
- * ADR16): converges the current project's local `SqliteStore` and cloud
8
- * `HttpStore` by merging their append-only history logs, resolving any
9
- * concurrent same-record edit by last-writer-wins. Never a background
10
- * process - one run, one report.
11
- */
12
- export class SynchronizeCommand extends BaseCommand {
13
- static paths = [["synchronize"]];
14
- async execute() {
15
- const { local, cloud, destination } = await openSynchronizeStores({
16
- databaseOptions: { currentWorkingDirectory: this.context.cwd },
17
- authSessionOptions: this.context.credentialStoreOptions
18
- });
19
- try {
20
- const summary = await synchronizeStores(local, cloud);
21
- const result = { command: "synchronize", cloudApiUrl: destination.serviceUrl, tenantId: destination.tenantId, summary };
22
- this.print(result, renderSynchronize(result));
23
- return 0;
24
- }
25
- finally {
26
- await local.close();
27
- await cloud.close();
28
- }
29
- }
30
- }
31
- //# sourceMappingURL=synchronize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronize.js","sourceRoot":"","sources":["../../../src/cli/commands/synchronize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAEjC,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,CAAC;YACjE,eAAe,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9D,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,aAAsB,EAAE,WAAW,EAAE,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAEjI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACV,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;CACD"}