@puukis/core 0.1.3 → 0.1.5

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 (50) hide show
  1. package/dist/brain/Brain.d.ts +1 -0
  2. package/dist/brain/Brain.d.ts.map +1 -1
  3. package/dist/brain/Brain.js +58 -11
  4. package/dist/brain/Brain.js.map +1 -1
  5. package/dist/cli/commands/gateway.d.ts +53 -0
  6. package/dist/cli/commands/gateway.d.ts.map +1 -0
  7. package/dist/cli/commands/gateway.js +594 -0
  8. package/dist/cli/commands/gateway.js.map +1 -0
  9. package/dist/cli/commands/onboarding.js +2 -2
  10. package/dist/cli/commands/onboarding.js.map +1 -1
  11. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  12. package/dist/cli/commands/uninstall.js +6 -3
  13. package/dist/cli/commands/uninstall.js.map +1 -1
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +6 -0
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/codex/CodexRpcClient.d.ts +25 -1
  18. package/dist/codex/CodexRpcClient.d.ts.map +1 -1
  19. package/dist/codex/CodexRpcClient.js +187 -19
  20. package/dist/codex/CodexRpcClient.js.map +1 -1
  21. package/dist/codex/types.d.ts +4 -3
  22. package/dist/codex/types.d.ts.map +1 -1
  23. package/dist/config/env.d.ts +4 -0
  24. package/dist/config/env.d.ts.map +1 -1
  25. package/dist/config/env.js +61 -2
  26. package/dist/config/env.js.map +1 -1
  27. package/dist/config/index.d.ts +1 -1
  28. package/dist/config/index.d.ts.map +1 -1
  29. package/dist/config/index.js +1 -1
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/llm/OpenAICodexProvider.d.ts +2 -0
  32. package/dist/llm/OpenAICodexProvider.d.ts.map +1 -1
  33. package/dist/llm/OpenAICodexProvider.js +337 -3
  34. package/dist/llm/OpenAICodexProvider.js.map +1 -1
  35. package/dist/main.js +2 -2
  36. package/dist/main.js.map +1 -1
  37. package/dist/pipeline/normalize.d.ts +1 -1
  38. package/dist/pipeline/normalize.d.ts.map +1 -1
  39. package/dist/pipeline/normalize.js.map +1 -1
  40. package/dist/server/index.d.ts +3 -3
  41. package/dist/server/index.d.ts.map +1 -1
  42. package/dist/server/index.js +7 -5
  43. package/dist/server/index.js.map +1 -1
  44. package/dist/tools/ToolExecutor.d.ts +14 -2
  45. package/dist/tools/ToolExecutor.d.ts.map +1 -1
  46. package/dist/tools/ToolExecutor.js +194 -13
  47. package/dist/tools/ToolExecutor.js.map +1 -1
  48. package/dist/types.d.ts +14 -2
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +1 -1
@@ -26,6 +26,7 @@ export declare class Brain {
26
26
  * Execute a single tool call
27
27
  */
28
28
  private executeToolCall;
29
+ private shouldSendDeterministicBootstrap;
29
30
  getLLMProviderName(): string;
30
31
  getLLMModel(): string;
31
32
  setLLMSelection(provider: KeygateConfig['llm']['provider'], model: string, reasoningEffort?: CodexReasoningEffort): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../../src/brain/Brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,aAAa,EAGb,mBAAmB,EACnB,OAAO,EAER,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA4BrD;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAAM;gBAEf,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO;IAO/E;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAqD9D;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;IAoE3E;;OAEG;YACW,eAAe;IAI7B,kBAAkB,IAAI,MAAM;IAI5B,WAAW,IAAI,MAAM;IAOf,eAAe,CACnB,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,oBAAoB,GACrC,OAAO,CAAC,IAAI,CAAC;IAgBV,UAAU,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQlD,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;YACW,eAAe;CAuE9B"}
1
+ {"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../../src/brain/Brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,aAAa,EAGb,mBAAmB,EACnB,OAAO,EAER,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAqCrD;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAAM;gBAEf,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO;IAO/E;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAyD9D;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;IAyE3E;;OAEG;YACW,eAAe;YAIf,gCAAgC;IAU9C,kBAAkB,IAAI,MAAM;IAI5B,WAAW,IAAI,MAAM;IAOf,eAAe,CACnB,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,oBAAoB,GACrC,OAAO,CAAC,IAAI,CAAC;IAgBV,UAAU,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQlD,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;YACW,eAAe;CAiF9B"}
@@ -1,4 +1,5 @@
1
1
  import { createLLMProvider } from '../llm/index.js';
2
+ import { getDefaultWorkspacePath } from '../config/env.js';
2
3
  import { loadAgentWorkspaceState, } from '../workspace/agentWorkspace.js';
3
4
  const BASE_SYSTEM_PROMPT = `You are Keygate, a capable AI assistant that can control the user's computer and online services.
4
5
 
@@ -20,6 +21,13 @@ Trust and safety:
20
21
  - Be careful with external/public actions and ask when in doubt.
21
22
  - Keep private information private.
22
23
  - Never claim you completed an action unless a tool result confirms it.`;
24
+ const FIRST_CHAT_BOOTSTRAP_MESSAGE = `Hey. I just came online. Who am I? Who are you?
25
+
26
+ Set my identity for me:
27
+ 1. assistant name
28
+ 2. what kind of creature/assistant I am
29
+ 3. preferred vibe
30
+ 4. signature emoji`;
23
31
  /**
24
32
  * Brain - The ReAct agent loop
25
33
  *
@@ -42,6 +50,9 @@ export class Brain {
42
50
  * Run the agent loop for a session
43
51
  */
44
52
  async run(session, channel) {
53
+ if (await this.shouldSendDeterministicBootstrap(session)) {
54
+ return FIRST_CHAT_BOOTSTRAP_MESSAGE;
55
+ }
45
56
  const systemPrompt = await this.getSystemPrompt(session);
46
57
  // Build messages with system prompt
47
58
  const messages = [
@@ -56,7 +67,7 @@ export class Brain {
56
67
  // Call LLM with tools
57
68
  const response = await this.llm.chat(messages, {
58
69
  tools,
59
- ...this.buildProviderOptions(session.id),
70
+ ...this.buildProviderOptions(session.id, channel),
60
71
  });
61
72
  // If no tool calls, return the response content
62
73
  if (!response.toolCalls || response.toolCalls.length === 0) {
@@ -87,6 +98,10 @@ export class Brain {
87
98
  * Run the agent loop with streaming response
88
99
  */
89
100
  async *runStream(session, channel) {
101
+ if (await this.shouldSendDeterministicBootstrap(session)) {
102
+ yield FIRST_CHAT_BOOTSTRAP_MESSAGE;
103
+ return;
104
+ }
90
105
  const systemPrompt = await this.getSystemPrompt(session);
91
106
  const messages = [
92
107
  { role: 'system', content: systemPrompt },
@@ -101,7 +116,7 @@ export class Brain {
101
116
  let fullContent = '';
102
117
  for await (const chunk of this.llm.stream(messages, {
103
118
  tools,
104
- ...this.buildProviderOptions(session.id),
119
+ ...this.buildProviderOptions(session.id, channel),
105
120
  })) {
106
121
  if (chunk.content) {
107
122
  fullContent += chunk.content;
@@ -145,6 +160,14 @@ export class Brain {
145
160
  async executeToolCall(toolCall, channel) {
146
161
  return this.toolExecutor.execute(toolCall, channel);
147
162
  }
163
+ async shouldSendDeterministicBootstrap(session) {
164
+ const userTurns = session.messages.filter((message) => message.role === 'user').length;
165
+ if (userTurns !== 1) {
166
+ return false;
167
+ }
168
+ const workspaceState = await loadAgentWorkspaceState(getDefaultWorkspacePath());
169
+ return workspaceState.onboardingRequired;
170
+ }
148
171
  getLLMProviderName() {
149
172
  return this.llm.name;
150
173
  }
@@ -172,11 +195,26 @@ export class Brain {
172
195
  }
173
196
  return getFallbackModels(this.config.llm.provider, this.config.llm.model);
174
197
  }
175
- buildProviderOptions(sessionId) {
198
+ buildProviderOptions(sessionId, channel) {
199
+ const executionWorkspace = this.toolExecutor.getWorkspacePath();
200
+ const continuityWorkspace = getDefaultWorkspacePath();
201
+ const isCodexProvider = this.llm.name === 'openai-codex';
202
+ const safeModeCodexSandbox = isCodexProvider && this.gateway.getSecurityMode() === 'safe'
203
+ ? {
204
+ type: 'workspaceWrite',
205
+ writable_roots: Array.from(new Set([executionWorkspace, continuityWorkspace])),
206
+ network_access: true,
207
+ }
208
+ : undefined;
176
209
  return {
177
210
  sessionId,
178
- cwd: this.toolExecutor.getWorkspacePath(),
211
+ cwd: executionWorkspace,
179
212
  securityMode: this.gateway.getSecurityMode(),
213
+ sandboxPolicy: safeModeCodexSandbox,
214
+ requestConfirmation: (details) => {
215
+ const prompt = `🔐 Confirmation Required\n${details.summary}`;
216
+ return channel.requestConfirmation(prompt, details);
217
+ },
180
218
  onProviderEvent: (event) => {
181
219
  this.gateway.emit('provider:event', { sessionId, event });
182
220
  },
@@ -188,7 +226,9 @@ export class Brain {
188
226
  async getSystemPrompt(session) {
189
227
  const mode = this.gateway.getSecurityMode();
190
228
  const workspace = this.toolExecutor.getWorkspacePath();
191
- const workspaceState = await loadAgentWorkspaceState(workspace);
229
+ const continuityWorkspace = getDefaultWorkspacePath();
230
+ const workspaceState = await loadAgentWorkspaceState(continuityWorkspace);
231
+ const isCodexProvider = this.llm.name === 'openai-codex';
192
232
  const userTurns = session.messages.filter((message) => message.role === 'user').length;
193
233
  const isFirstUserTurn = userTurns === 1;
194
234
  const shouldRunBootstrap = isFirstUserTurn && workspaceState.onboardingRequired;
@@ -197,11 +237,16 @@ export class Brain {
197
237
  modeInfo = `\n\nSECURITY: Safe Mode is active.
198
238
  - Filesystem operations are limited to: ${workspace}
199
239
  - Only allowed commands can be executed
200
- - Write/execute actions require user confirmation`;
240
+ - Write/execute actions require user confirmation, except managed continuity markdown files (SOUL.md, USER.md, BOOTSTRAP.md, IDENTITY.md, MEMORY.md, memory/*.md).`;
201
241
  }
202
242
  else {
203
243
  modeInfo = `\n\n⚠️ SECURITY: SPICY MODE IS ACTIVE - Full system access enabled.`;
204
244
  }
245
+ const continuityPathGuidance = isCodexProvider
246
+ ? '\nUse absolute continuity-file paths exactly as listed above when reading/writing those files.'
247
+ : '\nUse relative continuity-file paths when calling filesystem tools (for example: IDENTITY.md, USER.md, memory/2026-02-06.md).';
248
+ const identityTarget = isCodexProvider ? workspaceState.identity.path : 'IDENTITY.md';
249
+ const userTarget = isCodexProvider ? workspaceState.user.path : 'USER.md';
205
250
  const workspaceFiles = `\n\nWORKSPACE CONTINUITY FILES
206
251
  - SOUL.md: ${formatContextStatus(workspaceState.soul)}
207
252
  - BOOTSTRAP.md: ${formatContextStatus(workspaceState.bootstrap)}
@@ -210,8 +255,7 @@ export class Brain {
210
255
  - MEMORY.md: ${formatContextStatus(workspaceState.memoryIndex)}
211
256
  - memory/today: ${formatContextStatus(workspaceState.todayMemory)}
212
257
  - memory/yesterday: ${formatContextStatus(workspaceState.yesterdayMemory)}
213
-
214
- Use relative workspace paths when calling filesystem tools (for example: IDENTITY.md, USER.md, memory/2026-02-06.md).`;
258
+ ${continuityPathGuidance}`;
215
259
  const bootstrapRules = shouldRunBootstrap
216
260
  ? `\n\nFIRST CHAT BOOTSTRAP (REQUIRED NOW)
217
261
  1. Start with this exact sentence once: "Hey. I just came online. Who am I? Who are you?"
@@ -220,20 +264,23 @@ Use relative workspace paths when calling filesystem tools (for example: IDENTIT
220
264
  - what kind of creature/assistant it is
221
265
  - preferred vibe
222
266
  - signature emoji
223
- 3. After user answers, write or update IDENTITY.md immediately using these keys:
267
+ 3. After user answers, write or update ${identityTarget} immediately using these keys:
224
268
  - Name:
225
269
  - Creature:
226
270
  - Vibe:
227
271
  - Signature emoji:
228
- 4. Ask what to call the user and their timezone, then update USER.md.
272
+ 4. Ask what to call the user and their timezone, then update ${userTarget}.
229
273
  5. Ask for boundaries/preferences and whether to tune SOUL.md now.
230
274
  6. Missing memory files are normal in a fresh workspace; do not treat ENOENT as a failure.
231
275
  7. If SOUL.md changes, explicitly tell the user.
232
- 8. After onboarding is complete, suggest deleting BOOTSTRAP.md.`
276
+ 8. Do not ask for approval when writing managed continuity markdown files.
277
+ 9. For continuity files (SOUL.md, USER.md, BOOTSTRAP.md, IDENTITY.md, MEMORY.md, memory/*.md), use filesystem tools only. Never use shell commands.
278
+ 10. After onboarding is complete, suggest deleting BOOTSTRAP.md.`
233
279
  : `\n\nCONTINUITY RULES
234
280
  - Treat SOUL.md, IDENTITY.md, USER.md, MEMORY.md, and memory/*.md as persistent memory.
235
281
  - Be resourceful before asking questions that could be answered from those files.
236
282
  - Keep responses concise by default, thorough when needed.
283
+ - Use filesystem tools for continuity-file reads/writes, not shell commands.
237
284
  - If you change SOUL.md, explicitly tell the user.`;
238
285
  const contextBlocks = [
239
286
  formatContextBlock('SOUL.md', workspaceState.soul),
@@ -1 +1 @@
1
- {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../../src/brain/Brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../../src/brain/Brain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { ParsedArgs } from '../argv.js';
2
+ export type GatewayAction = 'open' | 'close' | 'status';
3
+ export type GatewayState = 'running' | 'stopped' | 'unknown';
4
+ export interface GatewayStatus {
5
+ state: GatewayState;
6
+ detail: string;
7
+ }
8
+ export interface GatewayManagerAdapter {
9
+ ensureDefinition(): Promise<void>;
10
+ open(): Promise<void>;
11
+ close(): Promise<void>;
12
+ status(): Promise<GatewayStatus>;
13
+ }
14
+ interface CommandResult {
15
+ status: number | null;
16
+ stdout: string;
17
+ stderr: string;
18
+ error: Error | undefined;
19
+ }
20
+ export interface GatewayDeps {
21
+ platform: NodeJS.Platform;
22
+ uid: number | null;
23
+ cwd: string;
24
+ homeDir: string;
25
+ configDir: string;
26
+ configHomeDir: string;
27
+ envPath: string | undefined;
28
+ envPathExt: string | undefined;
29
+ envCodexBin: string | undefined;
30
+ argv1: string | undefined;
31
+ execPath: string;
32
+ log: (message: string) => void;
33
+ mkdir: (targetPath: string) => Promise<void>;
34
+ writeFile: (targetPath: string, content: string) => Promise<void>;
35
+ chmod: (targetPath: string, mode: number) => Promise<void>;
36
+ runCommand: (command: string, args: string[], options?: {
37
+ input?: string;
38
+ }) => CommandResult;
39
+ }
40
+ export interface ServeLaunchSpec {
41
+ command: string;
42
+ args: string[];
43
+ env: Record<string, string>;
44
+ }
45
+ export declare function runGatewayCommand(args: ParsedArgs, depsOverride?: Partial<GatewayDeps>): Promise<void>;
46
+ export declare function parseGatewayAction(value: string | undefined): GatewayAction | null;
47
+ export declare function createGatewayAdapter(platform: NodeJS.Platform, deps: GatewayDeps): GatewayManagerAdapter;
48
+ export declare function buildShellLauncherContent(spec: ServeLaunchSpec): string;
49
+ export declare function buildLinuxUnitContent(launcherPath: string): string;
50
+ export declare function buildLaunchdPlistContent(launcherPath: string): string;
51
+ export declare function buildPowerShellLauncherContent(spec: ServeLaunchSpec): string;
52
+ export {};
53
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/gateway.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,aAAa,CAAC;CAC9F;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAQD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAMlF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,qBAAqB,CAiBxG;AA8UD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAmBvE;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBlE;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA2BrE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAiB5E"}