@action-llama/action-llama 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +37 -59
  2. package/dist/agents/container-entry.js +36 -9
  3. package/dist/agents/container-entry.js.map +1 -1
  4. package/dist/agents/prompt.d.ts.map +1 -1
  5. package/dist/agents/prompt.js +17 -6
  6. package/dist/agents/prompt.js.map +1 -1
  7. package/dist/cli/commands/new.d.ts.map +1 -1
  8. package/dist/cli/commands/new.js +5 -25
  9. package/dist/cli/commands/new.js.map +1 -1
  10. package/dist/cli/commands/{agent/add.d.ts → setup.d.ts} +1 -2
  11. package/dist/cli/commands/setup.d.ts.map +1 -0
  12. package/dist/cli/commands/setup.js +60 -0
  13. package/dist/cli/commands/setup.js.map +1 -0
  14. package/dist/cli/commands/start.d.ts.map +1 -1
  15. package/dist/cli/commands/start.js +3 -0
  16. package/dist/cli/commands/start.js.map +1 -1
  17. package/dist/cli/commands/status.d.ts.map +1 -1
  18. package/dist/cli/commands/status.js +1 -37
  19. package/dist/cli/commands/status.js.map +1 -1
  20. package/dist/cli/main.js +6 -9
  21. package/dist/cli/main.js.map +1 -1
  22. package/dist/credentials/builtins/anthropic-key.d.ts +4 -0
  23. package/dist/credentials/builtins/anthropic-key.d.ts.map +1 -0
  24. package/dist/credentials/builtins/anthropic-key.js +69 -0
  25. package/dist/credentials/builtins/anthropic-key.js.map +1 -0
  26. package/dist/credentials/builtins/github-token.d.ts +4 -0
  27. package/dist/credentials/builtins/github-token.d.ts.map +1 -0
  28. package/dist/credentials/builtins/github-token.js +19 -0
  29. package/dist/credentials/builtins/github-token.js.map +1 -0
  30. package/dist/credentials/builtins/github-webhook-secret.d.ts +4 -0
  31. package/dist/credentials/builtins/github-webhook-secret.d.ts.map +1 -0
  32. package/dist/credentials/builtins/github-webhook-secret.js +12 -0
  33. package/dist/credentials/builtins/github-webhook-secret.js.map +1 -0
  34. package/dist/credentials/builtins/id-rsa.d.ts +4 -0
  35. package/dist/credentials/builtins/id-rsa.d.ts.map +1 -0
  36. package/dist/credentials/builtins/id-rsa.js +67 -0
  37. package/dist/credentials/builtins/id-rsa.js.map +1 -0
  38. package/dist/credentials/builtins/index.d.ts +3 -0
  39. package/dist/credentials/builtins/index.d.ts.map +1 -0
  40. package/dist/credentials/builtins/index.js +15 -0
  41. package/dist/credentials/builtins/index.js.map +1 -0
  42. package/dist/credentials/builtins/sentry-client-secret.d.ts +4 -0
  43. package/dist/credentials/builtins/sentry-client-secret.d.ts.map +1 -0
  44. package/dist/credentials/builtins/sentry-client-secret.js +12 -0
  45. package/dist/credentials/builtins/sentry-client-secret.js.map +1 -0
  46. package/dist/credentials/builtins/sentry-token.d.ts +4 -0
  47. package/dist/credentials/builtins/sentry-token.d.ts.map +1 -0
  48. package/dist/credentials/builtins/sentry-token.js +72 -0
  49. package/dist/credentials/builtins/sentry-token.js.map +1 -0
  50. package/dist/credentials/prompter.d.ts +14 -0
  51. package/dist/credentials/prompter.d.ts.map +1 -0
  52. package/dist/credentials/prompter.js +65 -0
  53. package/dist/credentials/prompter.js.map +1 -0
  54. package/dist/credentials/registry.d.ts +16 -0
  55. package/dist/credentials/registry.d.ts.map +1 -0
  56. package/dist/credentials/registry.js +25 -0
  57. package/dist/credentials/registry.js.map +1 -0
  58. package/dist/credentials/schema.d.ts +23 -0
  59. package/dist/credentials/schema.d.ts.map +1 -0
  60. package/dist/credentials/schema.js +6 -0
  61. package/dist/credentials/schema.js.map +1 -0
  62. package/dist/scheduler/index.d.ts.map +1 -1
  63. package/dist/scheduler/index.js +14 -4
  64. package/dist/scheduler/index.js.map +1 -1
  65. package/dist/setup/prompts.d.ts +1 -43
  66. package/dist/setup/prompts.d.ts.map +1 -1
  67. package/dist/setup/prompts.js +43 -605
  68. package/dist/setup/prompts.js.map +1 -1
  69. package/dist/setup/scaffold.d.ts +1 -2
  70. package/dist/setup/scaffold.d.ts.map +1 -1
  71. package/dist/setup/scaffold.js +62 -29
  72. package/dist/setup/scaffold.js.map +1 -1
  73. package/dist/shared/config.d.ts +1 -2
  74. package/dist/shared/config.d.ts.map +1 -1
  75. package/dist/shared/config.js +16 -6
  76. package/dist/shared/config.js.map +1 -1
  77. package/dist/shared/credentials.d.ts +2 -0
  78. package/dist/shared/credentials.d.ts.map +1 -1
  79. package/dist/shared/credentials.js +17 -0
  80. package/dist/shared/credentials.js.map +1 -1
  81. package/dist/shared/paths.d.ts +0 -1
  82. package/dist/shared/paths.d.ts.map +1 -1
  83. package/dist/shared/paths.js +0 -3
  84. package/dist/shared/paths.js.map +1 -1
  85. package/dist/webhooks/definitions/github.d.ts +3 -0
  86. package/dist/webhooks/definitions/github.d.ts.map +1 -0
  87. package/dist/webhooks/definitions/github.js +38 -0
  88. package/dist/webhooks/definitions/github.js.map +1 -0
  89. package/dist/webhooks/definitions/registry.d.ts +4 -0
  90. package/dist/webhooks/definitions/registry.d.ts.map +1 -0
  91. package/dist/webhooks/definitions/registry.js +14 -0
  92. package/dist/webhooks/definitions/registry.js.map +1 -0
  93. package/dist/webhooks/definitions/schema.d.ts +19 -0
  94. package/dist/webhooks/definitions/schema.d.ts.map +1 -0
  95. package/dist/webhooks/definitions/schema.js +2 -0
  96. package/dist/webhooks/definitions/schema.js.map +1 -0
  97. package/dist/webhooks/definitions/sentry.d.ts +3 -0
  98. package/dist/webhooks/definitions/sentry.d.ts.map +1 -0
  99. package/dist/webhooks/definitions/sentry.js +22 -0
  100. package/dist/webhooks/definitions/sentry.js.map +1 -0
  101. package/dist/webhooks/providers/sentry.d.ts +9 -0
  102. package/dist/webhooks/providers/sentry.d.ts.map +1 -0
  103. package/dist/webhooks/providers/sentry.js +108 -0
  104. package/dist/webhooks/providers/sentry.js.map +1 -0
  105. package/dist/webhooks/registry.js +2 -2
  106. package/dist/webhooks/registry.js.map +1 -1
  107. package/dist/webhooks/types.d.ts +5 -1
  108. package/dist/webhooks/types.d.ts.map +1 -1
  109. package/package.json +4 -3
  110. package/dist/agents/definitions/dev/AGENTS.md +0 -44
  111. package/dist/agents/definitions/dev/config-definition.json +0 -39
  112. package/dist/agents/definitions/devops/AGENTS.md +0 -33
  113. package/dist/agents/definitions/devops/config-definition.json +0 -37
  114. package/dist/agents/definitions/loader.d.ts +0 -18
  115. package/dist/agents/definitions/loader.d.ts.map +0 -1
  116. package/dist/agents/definitions/loader.js +0 -59
  117. package/dist/agents/definitions/loader.js.map +0 -1
  118. package/dist/agents/definitions/reviewer/AGENTS.md +0 -37
  119. package/dist/agents/definitions/reviewer/config-definition.json +0 -24
  120. package/dist/agents/definitions/schema.d.ts +0 -38
  121. package/dist/agents/definitions/schema.d.ts.map +0 -1
  122. package/dist/agents/definitions/schema.js +0 -97
  123. package/dist/agents/definitions/schema.js.map +0 -1
  124. package/dist/cli/commands/agent/add.d.ts.map +0 -1
  125. package/dist/cli/commands/agent/add.js +0 -86
  126. package/dist/cli/commands/agent/add.js.map +0 -1
@@ -1,97 +0,0 @@
1
- // --- Agent definition package schema ---
2
- // --- Validation ---
3
- export function validateDefinition(json) {
4
- if (!json || typeof json !== "object") {
5
- throw new Error("Definition must be a non-null object");
6
- }
7
- const obj = json;
8
- requireString(obj, "name");
9
- requireString(obj, "label");
10
- requireString(obj, "description");
11
- // credentials
12
- if (!obj.credentials || typeof obj.credentials !== "object") {
13
- throw new Error("Definition must have a 'credentials' object");
14
- }
15
- const creds = obj.credentials;
16
- requireStringArray(creds, "required");
17
- requireStringArray(creds, "optional");
18
- // webhooks
19
- if (!obj.webhooks || typeof obj.webhooks !== "object") {
20
- throw new Error("Definition must have a 'webhooks' object");
21
- }
22
- const wh = obj.webhooks;
23
- requireString(wh, "description");
24
- requireStringArray(wh, "events");
25
- requireStringArray(wh, "actions");
26
- // prompts
27
- if (!obj.prompts || typeof obj.prompts !== "object") {
28
- throw new Error("Definition must have a 'prompts' object");
29
- }
30
- const prompts = obj.prompts;
31
- requireString(prompts, "webhook");
32
- requireString(prompts, "schedule");
33
- requireString(obj, "defaultSchedule");
34
- // state (optional)
35
- if (obj.state !== undefined) {
36
- if (typeof obj.state !== "object" || obj.state === null) {
37
- throw new Error("'state' must be an object if present");
38
- }
39
- const state = obj.state;
40
- requireString(state, "file");
41
- if (!state.initial || typeof state.initial !== "object") {
42
- throw new Error("'state.initial' must be an object");
43
- }
44
- }
45
- // params
46
- if (!obj.params || typeof obj.params !== "object") {
47
- throw new Error("Definition must have a 'params' object");
48
- }
49
- const params = obj.params;
50
- for (const [key, val] of Object.entries(params)) {
51
- validateParamDefinition(key, val);
52
- }
53
- return json;
54
- }
55
- function validateParamDefinition(key, val) {
56
- if (!val || typeof val !== "object") {
57
- throw new Error(`Param "${key}" must be an object`);
58
- }
59
- const p = val;
60
- if (p.type !== "string" && p.type !== "string[]") {
61
- throw new Error(`Param "${key}" type must be "string" or "string[]"`);
62
- }
63
- requireString(p, "description", `param "${key}"`);
64
- if (typeof p.required !== "boolean") {
65
- throw new Error(`Param "${key}" must have a boolean 'required' field`);
66
- }
67
- if (p.default !== undefined && typeof p.default !== "string") {
68
- throw new Error(`Param "${key}" default must be a string`);
69
- }
70
- if (p.webhookFilter !== undefined) {
71
- if (!p.webhookFilter || typeof p.webhookFilter !== "object") {
72
- throw new Error(`Param "${key}" webhookFilter must be an object`);
73
- }
74
- const wf = p.webhookFilter;
75
- if (typeof wf.field !== "string") {
76
- throw new Error(`Param "${key}" webhookFilter.field must be a string`);
77
- }
78
- if (wf.wrap !== undefined && wf.wrap !== "array") {
79
- throw new Error(`Param "${key}" webhookFilter.wrap must be "array" if present`);
80
- }
81
- }
82
- if (p.credential !== undefined && typeof p.credential !== "string") {
83
- throw new Error(`Param "${key}" credential must be a string`);
84
- }
85
- }
86
- function requireString(obj, field, context) {
87
- const prefix = context ? `${context}: ` : "";
88
- if (typeof obj[field] !== "string" || obj[field].length === 0) {
89
- throw new Error(`${prefix}'${field}' must be a non-empty string`);
90
- }
91
- }
92
- function requireStringArray(obj, field) {
93
- if (!Array.isArray(obj[field]) || !obj[field].every((v) => typeof v === "string")) {
94
- throw new Error(`'${field}' must be an array of strings`);
95
- }
96
- }
97
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/agents/definitions/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/agent/add.ts"],"names":[],"mappings":"AAWA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8F3F"}
@@ -1,86 +0,0 @@
1
- import { resolve } from "path";
2
- import { existsSync, writeFileSync } from "fs";
3
- import { select } from "@inquirer/prompts";
4
- import { loadCredential, writeCredential } from "../../../shared/credentials.js";
5
- import { discoverAgents, loadAgentConfig, loadGlobalConfig } from "../../../shared/config.js";
6
- import { validateGitHubToken } from "../../../setup/validators.js";
7
- import { runAddAgent } from "../../../setup/prompts.js";
8
- import { scaffoldAgent } from "../../../setup/scaffold.js";
9
- import { CREDENTIALS_DIR } from "../../../shared/paths.js";
10
- import { loadDefinition, listBuiltinDefinitions } from "../../../agents/definitions/loader.js";
11
- export async function execute(opts) {
12
- const projectPath = resolve(opts.project);
13
- if (!existsSync(projectPath)) {
14
- throw new Error(`Project not found: ${projectPath}`);
15
- }
16
- // Load GitHub token
17
- const githubToken = loadCredential("github-token");
18
- if (!githubToken) {
19
- throw new Error(`GitHub token not found. Run "al new" first or add ${CREDENTIALS_DIR}/github-token.`);
20
- }
21
- console.log("Validating GitHub token...");
22
- const { user: githubUser, repos: availableRepos } = await validateGitHubToken(githubToken);
23
- console.log(`Authenticated as: ${githubUser} (${availableRepos.length} repos found)\n`);
24
- // Discover existing agents and load model config from first one
25
- const existingAgentNames = discoverAgents(projectPath);
26
- if (existingAgentNames.length === 0) {
27
- throw new Error(`No existing agents found in ${projectPath}. Use "al new" to set up a new project.`);
28
- }
29
- const firstAgent = loadAgentConfig(projectPath, existingAgentNames[0]);
30
- const modelConfig = firstAgent.model;
31
- // Load definition — from argument or interactive selection
32
- let definition;
33
- if (opts.definition) {
34
- definition = loadDefinition(opts.definition);
35
- }
36
- else {
37
- const builtinDefs = listBuiltinDefinitions();
38
- const selectedName = await select({
39
- message: "Agent type:",
40
- choices: builtinDefs.map((d) => ({
41
- name: `${d.name} — ${d.label} (${d.description})`,
42
- value: d.name,
43
- })),
44
- });
45
- definition = loadDefinition(selectedName);
46
- }
47
- // Run interactive prompt
48
- const { agent, secrets } = await runAddAgent({
49
- definition,
50
- availableRepos,
51
- githubUser,
52
- modelConfig,
53
- existingAgentNames,
54
- });
55
- console.log("\n--- Writing configuration ---\n");
56
- // Write new credentials
57
- if (secrets.sentryToken && secrets.sentryToken !== loadCredential("sentry-token")) {
58
- writeCredential("sentry-token", secrets.sentryToken);
59
- console.log(` Wrote ${CREDENTIALS_DIR}/sentry-token`);
60
- }
61
- if (secrets.githubWebhookSecret) {
62
- writeCredential("github-webhook-secret", secrets.githubWebhookSecret);
63
- console.log(` Wrote ${CREDENTIALS_DIR}/github-webhook-secret`);
64
- }
65
- // Update global config if agent uses webhooks and config doesn't reference the secret yet
66
- if (agent.config.webhooks) {
67
- const globalConfig = loadGlobalConfig(projectPath);
68
- if (!globalConfig.webhooks?.githubSecretCredential) {
69
- globalConfig.webhooks = { ...globalConfig.webhooks, githubSecretCredential: "github-webhook-secret" };
70
- writeFileSync(resolve(projectPath, "config.json"), JSON.stringify(globalConfig, null, 2) + "\n");
71
- console.log(` Updated ${projectPath}/config.json`);
72
- }
73
- }
74
- // Scaffold the agent
75
- scaffoldAgent(projectPath, agent);
76
- console.log(` Wrote ${projectPath}/${agent.name}/config.json`);
77
- console.log(` Wrote ${projectPath}/${agent.name}/AGENTS.md`);
78
- console.log(` Created state directory`);
79
- console.log(`
80
- Agent "${agent.name}" added successfully!
81
-
82
- Edit ${projectPath}/${agent.name}/AGENTS.md to customize agent behavior.
83
- Restart with: al start -p ${projectPath}
84
- `);
85
- }
86
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/cli/commands/agent/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAA8C;IAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,qDAAqD,eAAe,gBAAgB,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,KAAK,cAAc,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAExF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,+BAA+B,WAAW,yCAAyC,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;IAErC,2DAA2D;IAC3D,IAAI,UAAU,CAAC;IACf,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;YAChC,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,GAAG;gBACjD,KAAK,EAAE,CAAC,CAAC,IAAI;aACd,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,yBAAyB;IACzB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC;QAC3C,UAAU;QACV,cAAc;QACd,UAAU;QACV,WAAW;QACX,kBAAkB;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,wBAAwB;IACxB,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,eAAe,CAAC,uBAAuB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,wBAAwB,CAAC,CAAC;IAClE,CAAC;IAED,0FAA0F;IAC1F,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;YACnD,YAAY,CAAC,QAAQ,GAAG,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAC;YACtG,aAAa,CACX,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,EACnC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAC7C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,cAAc,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,IAAI,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC;SACL,KAAK,CAAC,IAAI;;SAEV,WAAW,IAAI,KAAK,CAAC,IAAI;8BACJ,WAAW;CACxC,CAAC,CAAC;AACH,CAAC"}