@troykelly/openclaw-projects 0.0.1

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +389 -0
  3. package/dist/api-client.d.ts +81 -0
  4. package/dist/api-client.d.ts.map +1 -0
  5. package/dist/api-client.js +216 -0
  6. package/dist/api-client.js.map +1 -0
  7. package/dist/cli.d.ts +112 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +233 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/config.d.ts +324 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +287 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/context.d.ts +87 -0
  16. package/dist/context.d.ts.map +1 -0
  17. package/dist/context.js +144 -0
  18. package/dist/context.js.map +1 -0
  19. package/dist/gateway/rpc-methods.d.ts +93 -0
  20. package/dist/gateway/rpc-methods.d.ts.map +1 -0
  21. package/dist/gateway/rpc-methods.js +145 -0
  22. package/dist/gateway/rpc-methods.js.map +1 -0
  23. package/dist/hooks.d.ts +86 -0
  24. package/dist/hooks.d.ts.map +1 -0
  25. package/dist/hooks.js +314 -0
  26. package/dist/hooks.js.map +1 -0
  27. package/dist/index.d.ts +106 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +221 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/logger.d.ts +22 -0
  32. package/dist/logger.d.ts.map +1 -0
  33. package/dist/logger.js +78 -0
  34. package/dist/logger.js.map +1 -0
  35. package/dist/register-openclaw.d.ts +43 -0
  36. package/dist/register-openclaw.d.ts.map +1 -0
  37. package/dist/register-openclaw.js +1838 -0
  38. package/dist/register-openclaw.js.map +1 -0
  39. package/dist/secrets.d.ts +56 -0
  40. package/dist/secrets.d.ts.map +1 -0
  41. package/dist/secrets.js +161 -0
  42. package/dist/secrets.js.map +1 -0
  43. package/dist/services/notification-service.d.ts +60 -0
  44. package/dist/services/notification-service.d.ts.map +1 -0
  45. package/dist/services/notification-service.js +145 -0
  46. package/dist/services/notification-service.js.map +1 -0
  47. package/dist/tools/contacts.d.ts +139 -0
  48. package/dist/tools/contacts.d.ts.map +1 -0
  49. package/dist/tools/contacts.js +333 -0
  50. package/dist/tools/contacts.js.map +1 -0
  51. package/dist/tools/email-send.d.ts +71 -0
  52. package/dist/tools/email-send.d.ts.map +1 -0
  53. package/dist/tools/email-send.js +132 -0
  54. package/dist/tools/email-send.js.map +1 -0
  55. package/dist/tools/file-share.d.ts +64 -0
  56. package/dist/tools/file-share.d.ts.map +1 -0
  57. package/dist/tools/file-share.js +133 -0
  58. package/dist/tools/file-share.js.map +1 -0
  59. package/dist/tools/index.d.ts +22 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +33 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/memory-forget.d.ts +69 -0
  64. package/dist/tools/memory-forget.d.ts.map +1 -0
  65. package/dist/tools/memory-forget.js +224 -0
  66. package/dist/tools/memory-forget.js.map +1 -0
  67. package/dist/tools/memory-recall.d.ts +82 -0
  68. package/dist/tools/memory-recall.d.ts.map +1 -0
  69. package/dist/tools/memory-recall.js +161 -0
  70. package/dist/tools/memory-recall.js.map +1 -0
  71. package/dist/tools/memory-store.d.ts +80 -0
  72. package/dist/tools/memory-store.d.ts.map +1 -0
  73. package/dist/tools/memory-store.js +172 -0
  74. package/dist/tools/memory-store.js.map +1 -0
  75. package/dist/tools/message-search.d.ts +85 -0
  76. package/dist/tools/message-search.d.ts.map +1 -0
  77. package/dist/tools/message-search.js +137 -0
  78. package/dist/tools/message-search.js.map +1 -0
  79. package/dist/tools/notebooks.d.ts +155 -0
  80. package/dist/tools/notebooks.d.ts.map +1 -0
  81. package/dist/tools/notebooks.js +287 -0
  82. package/dist/tools/notebooks.js.map +1 -0
  83. package/dist/tools/notes.d.ts +272 -0
  84. package/dist/tools/notes.d.ts.map +1 -0
  85. package/dist/tools/notes.js +530 -0
  86. package/dist/tools/notes.js.map +1 -0
  87. package/dist/tools/projects.d.ts +139 -0
  88. package/dist/tools/projects.d.ts.map +1 -0
  89. package/dist/tools/projects.js +280 -0
  90. package/dist/tools/projects.js.map +1 -0
  91. package/dist/tools/relationships.d.ts +133 -0
  92. package/dist/tools/relationships.d.ts.map +1 -0
  93. package/dist/tools/relationships.js +281 -0
  94. package/dist/tools/relationships.js.map +1 -0
  95. package/dist/tools/sms-send.d.ts +62 -0
  96. package/dist/tools/sms-send.d.ts.map +1 -0
  97. package/dist/tools/sms-send.js +121 -0
  98. package/dist/tools/sms-send.js.map +1 -0
  99. package/dist/tools/threads.d.ts +127 -0
  100. package/dist/tools/threads.d.ts.map +1 -0
  101. package/dist/tools/threads.js +202 -0
  102. package/dist/tools/threads.js.map +1 -0
  103. package/dist/tools/todos.d.ts +142 -0
  104. package/dist/tools/todos.d.ts.map +1 -0
  105. package/dist/tools/todos.js +308 -0
  106. package/dist/tools/todos.js.map +1 -0
  107. package/dist/types/openclaw-api.d.ts +215 -0
  108. package/dist/types/openclaw-api.d.ts.map +1 -0
  109. package/dist/types/openclaw-api.js +10 -0
  110. package/dist/types/openclaw-api.js.map +1 -0
  111. package/dist/utils/zod-to-json-schema.d.ts +19 -0
  112. package/dist/utils/zod-to-json-schema.d.ts.map +1 -0
  113. package/dist/utils/zod-to-json-schema.js +132 -0
  114. package/dist/utils/zod-to-json-schema.js.map +1 -0
  115. package/openclaw.plugin.json +229 -0
  116. package/package.json +69 -0
  117. package/skills/contact-lookup/SKILL.md +30 -0
  118. package/skills/daily-summary/SKILL.md +23 -0
  119. package/skills/project-status/SKILL.md +33 -0
  120. package/skills/send-reminder/SKILL.md +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,112 @@
1
+ /**
2
+ * CLI command handlers for the OpenClaw plugin.
3
+ * These handlers can be registered with an OpenClaw CLI API.
4
+ */
5
+ import type { ApiClient } from './api-client.js';
6
+ import type { Logger } from './logger.js';
7
+ import type { PluginConfig } from './config.js';
8
+ /** Context required for CLI commands */
9
+ export interface CliContext {
10
+ client: ApiClient;
11
+ logger: Logger;
12
+ config: PluginConfig;
13
+ userId: string;
14
+ }
15
+ /** Result from a CLI command */
16
+ export interface CommandResult<T = unknown> {
17
+ success: boolean;
18
+ message: string;
19
+ data?: T;
20
+ }
21
+ /** Options for recall command */
22
+ export interface RecallOptions {
23
+ query: string;
24
+ limit?: number;
25
+ }
26
+ /** Options for export command */
27
+ export interface ExportOptions {
28
+ output?: string;
29
+ }
30
+ /** Status command result data */
31
+ export interface StatusData {
32
+ healthy: boolean;
33
+ latencyMs: number;
34
+ apiUrl: string;
35
+ }
36
+ /** Users command result data */
37
+ export interface UsersData {
38
+ scopingMode: string;
39
+ description: string;
40
+ currentUserId: string;
41
+ }
42
+ /** Memory item for recall results */
43
+ export interface MemoryItem {
44
+ id: string;
45
+ content: string;
46
+ score: number;
47
+ category?: string;
48
+ }
49
+ /** Recall command result data */
50
+ export interface RecallData {
51
+ memories: MemoryItem[];
52
+ query: string;
53
+ limit: number;
54
+ }
55
+ /** Stats command result data */
56
+ export interface StatsData {
57
+ totalMemories: number;
58
+ byCategory: Record<string, number>;
59
+ recentActivity?: {
60
+ last24h: number;
61
+ last7d: number;
62
+ };
63
+ }
64
+ /** Export command result data */
65
+ export interface ExportData {
66
+ memories: Array<{
67
+ id: string;
68
+ content: string;
69
+ category?: string;
70
+ }>;
71
+ exportedAt: string;
72
+ userId: string;
73
+ suggestedPath?: string;
74
+ }
75
+ /**
76
+ * Creates the status command handler.
77
+ * Tests API connectivity and displays health information.
78
+ */
79
+ export declare function createStatusCommand(ctx: CliContext): () => Promise<CommandResult<StatusData>>;
80
+ /**
81
+ * Creates the users command handler.
82
+ * Displays current user scoping configuration.
83
+ */
84
+ export declare function createUsersCommand(ctx: CliContext): () => Promise<CommandResult<UsersData>>;
85
+ /**
86
+ * Creates the recall command handler.
87
+ * Searches memories from the command line.
88
+ */
89
+ export declare function createRecallCommand(ctx: CliContext): (options: RecallOptions) => Promise<CommandResult<RecallData>>;
90
+ /**
91
+ * Creates the stats command handler.
92
+ * Displays memory statistics.
93
+ */
94
+ export declare function createStatsCommand(ctx: CliContext): () => Promise<CommandResult<StatsData>>;
95
+ /**
96
+ * Creates the export command handler.
97
+ * Exports all memories for GDPR data portability.
98
+ */
99
+ export declare function createExportCommand(ctx: CliContext): (options?: ExportOptions) => Promise<CommandResult<ExportData>>;
100
+ /** All CLI command handlers */
101
+ export interface CliCommands {
102
+ status: () => Promise<CommandResult<StatusData>>;
103
+ users: () => Promise<CommandResult<UsersData>>;
104
+ recall: (options: RecallOptions) => Promise<CommandResult<RecallData>>;
105
+ stats: () => Promise<CommandResult<StatsData>>;
106
+ export: (options?: ExportOptions) => Promise<CommandResult<ExportData>>;
107
+ }
108
+ /**
109
+ * Creates all CLI command handlers.
110
+ */
111
+ export declare function createCliCommands(ctx: CliContext): CliCommands;
112
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.js ADDED
@@ -0,0 +1,233 @@
1
+ /**
2
+ * CLI command handlers for the OpenClaw plugin.
3
+ * These handlers can be registered with an OpenClaw CLI API.
4
+ */
5
+ /** Default limit for recall command */
6
+ const DEFAULT_RECALL_LIMIT = 5;
7
+ /** User scoping mode descriptions */
8
+ const SCOPING_DESCRIPTIONS = {
9
+ agent: 'Memories are scoped by agent ID. One agent = one user. All sessions for this agent share the same memories.',
10
+ identity: 'Memories are scoped by canonical identity from identity links. Useful when a single user may interact through multiple agents.',
11
+ session: 'Memories are scoped by full session key. Most isolated mode - each session has separate memories.',
12
+ };
13
+ /**
14
+ * Creates the status command handler.
15
+ * Tests API connectivity and displays health information.
16
+ */
17
+ export function createStatusCommand(ctx) {
18
+ const { client, logger, config } = ctx;
19
+ return async () => {
20
+ logger.info('CLI status command invoked', { userId: ctx.userId });
21
+ try {
22
+ const response = await client.healthCheck();
23
+ if (response.healthy) {
24
+ return {
25
+ success: true,
26
+ message: `API is healthy (latency: ${response.latencyMs}ms)`,
27
+ data: {
28
+ healthy: true,
29
+ latencyMs: response.latencyMs,
30
+ apiUrl: config.apiUrl,
31
+ },
32
+ };
33
+ }
34
+ else {
35
+ return {
36
+ success: false,
37
+ message: 'API is unhealthy',
38
+ data: {
39
+ healthy: false,
40
+ latencyMs: response.latencyMs,
41
+ apiUrl: config.apiUrl,
42
+ },
43
+ };
44
+ }
45
+ }
46
+ catch (error) {
47
+ logger.error('CLI status command error', {
48
+ error: error instanceof Error ? error.message : String(error),
49
+ });
50
+ return {
51
+ success: false,
52
+ message: `Connection error: ${error instanceof Error ? error.message : 'Unknown error'}`,
53
+ };
54
+ }
55
+ };
56
+ }
57
+ /**
58
+ * Creates the users command handler.
59
+ * Displays current user scoping configuration.
60
+ */
61
+ export function createUsersCommand(ctx) {
62
+ const { logger, config, userId } = ctx;
63
+ return async () => {
64
+ logger.info('CLI users command invoked', { userId });
65
+ const scopingMode = config.userScoping;
66
+ const description = SCOPING_DESCRIPTIONS[scopingMode] ?? 'Unknown scoping mode';
67
+ return {
68
+ success: true,
69
+ message: `User scoping mode: ${scopingMode}`,
70
+ data: {
71
+ scopingMode,
72
+ description,
73
+ currentUserId: userId,
74
+ },
75
+ };
76
+ };
77
+ }
78
+ /**
79
+ * Creates the recall command handler.
80
+ * Searches memories from the command line.
81
+ */
82
+ export function createRecallCommand(ctx) {
83
+ const { client, logger, config, userId } = ctx;
84
+ return async (options) => {
85
+ const { query, limit = config.maxRecallMemories ?? DEFAULT_RECALL_LIMIT } = options;
86
+ // Log without query content for privacy
87
+ logger.info('CLI recall command invoked', {
88
+ userId,
89
+ queryLength: query?.length ?? 0,
90
+ limit,
91
+ });
92
+ if (!query || query.trim() === '') {
93
+ return {
94
+ success: false,
95
+ message: 'Error: query is required',
96
+ };
97
+ }
98
+ try {
99
+ const queryParams = new URLSearchParams({
100
+ query: query.substring(0, 500), // Limit query length
101
+ limit: String(limit),
102
+ });
103
+ const response = await client.get(`/api/memory/recall?${queryParams.toString()}`, { userId });
104
+ if (!response.success) {
105
+ logger.error('CLI recall command API error', {
106
+ userId,
107
+ status: response.error.status,
108
+ code: response.error.code,
109
+ });
110
+ return {
111
+ success: false,
112
+ message: `API error: ${response.error.message}`,
113
+ };
114
+ }
115
+ const memories = response.data.memories ?? [];
116
+ return {
117
+ success: true,
118
+ message: `Found ${memories.length} memories`,
119
+ data: {
120
+ memories,
121
+ query,
122
+ limit,
123
+ },
124
+ };
125
+ }
126
+ catch (error) {
127
+ logger.error('CLI recall command error', {
128
+ userId,
129
+ error: error instanceof Error ? error.message : String(error),
130
+ });
131
+ return {
132
+ success: false,
133
+ message: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
134
+ };
135
+ }
136
+ };
137
+ }
138
+ /**
139
+ * Creates the stats command handler.
140
+ * Displays memory statistics.
141
+ */
142
+ export function createStatsCommand(ctx) {
143
+ const { client, logger, userId } = ctx;
144
+ return async () => {
145
+ logger.info('CLI stats command invoked', { userId });
146
+ try {
147
+ const response = await client.get('/api/memory/stats', { userId });
148
+ if (!response.success) {
149
+ logger.error('CLI stats command API error', {
150
+ userId,
151
+ status: response.error.status,
152
+ code: response.error.code,
153
+ });
154
+ return {
155
+ success: false,
156
+ message: `API error: ${response.error.message}`,
157
+ };
158
+ }
159
+ return {
160
+ success: true,
161
+ message: `Total memories: ${response.data.totalMemories}`,
162
+ data: response.data,
163
+ };
164
+ }
165
+ catch (error) {
166
+ logger.error('CLI stats command error', {
167
+ userId,
168
+ error: error instanceof Error ? error.message : String(error),
169
+ });
170
+ return {
171
+ success: false,
172
+ message: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
173
+ };
174
+ }
175
+ };
176
+ }
177
+ /**
178
+ * Creates the export command handler.
179
+ * Exports all memories for GDPR data portability.
180
+ */
181
+ export function createExportCommand(ctx) {
182
+ const { client, logger, userId } = ctx;
183
+ return async (options) => {
184
+ logger.info('CLI export command invoked', { userId });
185
+ try {
186
+ const response = await client.get('/api/memory/export', { userId });
187
+ if (!response.success) {
188
+ logger.error('CLI export command API error', {
189
+ userId,
190
+ status: response.error.status,
191
+ code: response.error.code,
192
+ });
193
+ return {
194
+ success: false,
195
+ message: `API error: ${response.error.message}`,
196
+ };
197
+ }
198
+ return {
199
+ success: true,
200
+ message: `Exported ${response.data.memories.length} memories`,
201
+ data: {
202
+ memories: response.data.memories,
203
+ exportedAt: response.data.exportedAt,
204
+ userId,
205
+ suggestedPath: options?.output,
206
+ },
207
+ };
208
+ }
209
+ catch (error) {
210
+ logger.error('CLI export command error', {
211
+ userId,
212
+ error: error instanceof Error ? error.message : String(error),
213
+ });
214
+ return {
215
+ success: false,
216
+ message: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
217
+ };
218
+ }
219
+ };
220
+ }
221
+ /**
222
+ * Creates all CLI command handlers.
223
+ */
224
+ export function createCliCommands(ctx) {
225
+ return {
226
+ status: createStatusCommand(ctx),
227
+ users: createUsersCommand(ctx),
228
+ recall: createRecallCommand(ctx),
229
+ stats: createStatsCommand(ctx),
230
+ export: createExportCommand(ctx),
231
+ };
232
+ }
233
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AA+E9B,qCAAqC;AACrC,MAAM,oBAAoB,GAA2B;IACnD,KAAK,EAAE,6GAA6G;IACpH,QAAQ,EAAE,gIAAgI;IAC1I,OAAO,EAAE,mGAAmG;CAC7G,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe;IAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAEtC,OAAO,KAAK,IAAwC,EAAE;QACpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAEjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;YAE3C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,4BAA4B,QAAQ,CAAC,SAAS,KAAK;oBAC5D,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,kBAAkB;oBAC3B,IAAI,EAAE;wBACJ,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aACzF,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAe;IAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAEtC,OAAO,KAAK,IAAuC,EAAE;QACnD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACtC,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,sBAAsB,CAAA;QAE/E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,sBAAsB,WAAW,EAAE;YAC5C,IAAI,EAAE;gBACJ,WAAW;gBACX,WAAW;gBACX,aAAa,EAAE,MAAM;aACtB;SACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe;IAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAE9C,OAAO,KAAK,EAAE,OAAsB,EAAsC,EAAE;QAC1E,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,iBAAiB,IAAI,oBAAoB,EAAE,GAAG,OAAO,CAAA;QAEnF,wCAAwC;QACxC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,MAAM;YACN,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;YAC/B,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,0BAA0B;aACpC,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,qBAAqB;gBACrD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,sBAAsB,WAAW,CAAC,QAAQ,EAAE,EAAE,EAC9C,EAAE,MAAM,EAAE,CACX,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,MAAM;oBACN,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;iBAC1B,CAAC,CAAA;gBAEF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;iBAChD,CAAA;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;YAE7C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,WAAW;gBAC5C,IAAI,EAAE;oBACJ,QAAQ;oBACR,KAAK;oBACL,KAAK;iBACN;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC9E,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAe;IAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAEtC,OAAO,KAAK,IAAuC,EAAE;QACnD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,mBAAmB,EACnB,EAAE,MAAM,EAAE,CACX,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBAC1C,MAAM;oBACN,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;iBAC1B,CAAC,CAAA;gBAEF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;iBAChD,CAAA;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mBAAmB,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBACzD,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC9E,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe;IAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAEtC,OAAO,KAAK,EAAE,OAAuB,EAAsC,EAAE;QAC3E,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAI/B,oBAAoB,EACpB,EAAE,MAAM,EAAE,CACX,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,MAAM;oBACN,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;iBAC1B,CAAC,CAAA;gBAEF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;iBAChD,CAAA;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,YAAY,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,WAAW;gBAC7D,IAAI,EAAE;oBACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;oBAChC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;oBACpC,MAAM;oBACN,aAAa,EAAE,OAAO,EAAE,MAAM;iBAC/B;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAA;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC9E,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAe;IAC/C,OAAO;QACL,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC9B,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC9B,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;KACjC,CAAA;AACH,CAAC"}