@hasna/todos 0.11.29 → 0.11.30
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.
- package/dist/cli/index.js +25237 -27283
- package/dist/db/checkpoints.d.ts +55 -0
- package/dist/db/checkpoints.d.ts.map +1 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/migrations.d.ts +2 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts.map +1 -1
- package/dist/db/schema.d.ts +0 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/task-crud.d.ts +13 -0
- package/dist/db/task-crud.d.ts.map +1 -0
- package/dist/db/task-graph.d.ts +27 -0
- package/dist/db/task-graph.d.ts.map +1 -0
- package/dist/db/task-lifecycle.d.ts +80 -0
- package/dist/db/task-lifecycle.d.ts.map +1 -0
- package/dist/db/task-relations.d.ts +86 -0
- package/dist/db/task-relations.d.ts.map +1 -0
- package/dist/db/task-status.d.ts +65 -0
- package/dist/db/task-status.d.ts.map +1 -0
- package/dist/db/tasks.d.ts +10 -255
- package/dist/db/tasks.d.ts.map +1 -1
- package/dist/db/webhooks.d.ts +6 -1
- package/dist/db/webhooks.d.ts.map +1 -1
- package/dist/index.js +2381 -1788
- package/dist/lib/github.d.ts +1 -1
- package/dist/lib/github.d.ts.map +1 -1
- package/dist/lib/north-star.d.ts +33 -0
- package/dist/lib/north-star.d.ts.map +1 -0
- package/dist/lib/task-runner.d.ts +101 -0
- package/dist/lib/task-runner.d.ts.map +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +21955 -25937
- package/dist/mcp/tools/cloud.d.ts.map +1 -1
- package/dist/mcp/tools/code-tools.d.ts +15 -0
- package/dist/mcp/tools/code-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-adv-tools.d.ts +20 -0
- package/dist/mcp/tools/task-adv-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-auto-tools.d.ts +20 -0
- package/dist/mcp/tools/task-auto-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-crud.d.ts +20 -0
- package/dist/mcp/tools/task-crud.d.ts.map +1 -0
- package/dist/mcp/tools/task-meta-tools.d.ts +12 -0
- package/dist/mcp/tools/task-meta-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-project-tools.d.ts +20 -0
- package/dist/mcp/tools/task-project-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-rel-tools.d.ts +19 -0
- package/dist/mcp/tools/task-rel-tools.d.ts.map +1 -0
- package/dist/mcp/tools/task-resources.d.ts +13 -0
- package/dist/mcp/tools/task-resources.d.ts.map +1 -0
- package/dist/mcp/tools/task-workflow-tools.d.ts +20 -0
- package/dist/mcp/tools/task-workflow-tools.d.ts.map +1 -0
- package/dist/sdk/client.d.ts +361 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/index.d.ts +14 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/types.d.ts +167 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk.d.ts +15 -182
- package/dist/sdk.d.ts.map +1 -1
- package/dist/server/index.js +1961 -2803
- package/dist/server/routes.d.ts +85 -0
- package/dist/server/routes.d.ts.map +1 -0
- package/dist/server/serve.d.ts +29 -0
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/types/index.d.ts +77 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK-specific types — error classes, pagination, response wrappers.
|
|
3
|
+
*/
|
|
4
|
+
import type { Task, Agent, Plan, TaskComment, StatusSummaryResponse } from "../types/index.js";
|
|
5
|
+
export declare class TodosAPIError extends Error {
|
|
6
|
+
status: number;
|
|
7
|
+
statusText: string;
|
|
8
|
+
body: unknown;
|
|
9
|
+
constructor(message: string, status: number, statusText: string, body: unknown);
|
|
10
|
+
}
|
|
11
|
+
export declare class TodosNotFoundError extends TodosAPIError {
|
|
12
|
+
constructor(message: string, body?: unknown);
|
|
13
|
+
}
|
|
14
|
+
export declare class TodosConflictError extends TodosAPIError {
|
|
15
|
+
constructor(message: string, body?: unknown);
|
|
16
|
+
}
|
|
17
|
+
export declare class TodosUnauthorizedError extends TodosAPIError {
|
|
18
|
+
constructor(message: string, body?: unknown);
|
|
19
|
+
}
|
|
20
|
+
export declare class TodosRateLimitError extends TodosAPIError {
|
|
21
|
+
retryAfter: number;
|
|
22
|
+
constructor(message: string, retryAfter: number, body?: unknown);
|
|
23
|
+
}
|
|
24
|
+
export declare class TodosTimeoutError extends Error {
|
|
25
|
+
ms: number;
|
|
26
|
+
constructor(ms: number);
|
|
27
|
+
}
|
|
28
|
+
export interface CursorPage<T> {
|
|
29
|
+
data: T[];
|
|
30
|
+
has_more: boolean;
|
|
31
|
+
next_cursor?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ListOptions {
|
|
34
|
+
limit?: number;
|
|
35
|
+
offset?: number;
|
|
36
|
+
cursor?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface TaskListResponse {
|
|
39
|
+
tasks: Task[];
|
|
40
|
+
count: number;
|
|
41
|
+
has_more?: boolean;
|
|
42
|
+
next_cursor?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface TaskStatusResponse extends StatusSummaryResponse {
|
|
45
|
+
}
|
|
46
|
+
export interface TaskNextResponse {
|
|
47
|
+
task: Task | null;
|
|
48
|
+
}
|
|
49
|
+
export interface TaskActiveResponse {
|
|
50
|
+
active: {
|
|
51
|
+
id: string;
|
|
52
|
+
short_id: string | null;
|
|
53
|
+
title: string;
|
|
54
|
+
priority: string;
|
|
55
|
+
assigned_to: string | null;
|
|
56
|
+
locked_by: string | null;
|
|
57
|
+
updated_at: string;
|
|
58
|
+
}[];
|
|
59
|
+
count: number;
|
|
60
|
+
}
|
|
61
|
+
export interface TaskStaleResponse {
|
|
62
|
+
tasks: Task[];
|
|
63
|
+
count: number;
|
|
64
|
+
}
|
|
65
|
+
export interface TaskChangedResponse {
|
|
66
|
+
tasks: Task[];
|
|
67
|
+
count: number;
|
|
68
|
+
since: string;
|
|
69
|
+
}
|
|
70
|
+
export interface TaskContextResponse {
|
|
71
|
+
status: StatusSummaryResponse;
|
|
72
|
+
next_task: Task | null;
|
|
73
|
+
}
|
|
74
|
+
export interface TaskExportResponse {
|
|
75
|
+
tasks: Task[];
|
|
76
|
+
}
|
|
77
|
+
export interface TaskBulkResponse {
|
|
78
|
+
results: {
|
|
79
|
+
id: string;
|
|
80
|
+
success: boolean;
|
|
81
|
+
error?: string;
|
|
82
|
+
}[];
|
|
83
|
+
succeeded: number;
|
|
84
|
+
failed: number;
|
|
85
|
+
}
|
|
86
|
+
export interface TaskProgressResponse {
|
|
87
|
+
task_id: string;
|
|
88
|
+
progress_entries: TaskComment[];
|
|
89
|
+
latest: TaskComment | null;
|
|
90
|
+
count: number;
|
|
91
|
+
}
|
|
92
|
+
export interface TaskAttachmentsResponse {
|
|
93
|
+
task_id: string;
|
|
94
|
+
short_id: string | null;
|
|
95
|
+
attachment_ids: string[];
|
|
96
|
+
count: number;
|
|
97
|
+
files_changed?: string[];
|
|
98
|
+
commit_hash?: string;
|
|
99
|
+
notes?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface TaskFailResponse {
|
|
102
|
+
task: Task;
|
|
103
|
+
retry_task: Task | null;
|
|
104
|
+
}
|
|
105
|
+
export interface AgentMeResponse {
|
|
106
|
+
agent: Agent;
|
|
107
|
+
pending_tasks: Task[];
|
|
108
|
+
in_progress_tasks: Task[];
|
|
109
|
+
stats: {
|
|
110
|
+
total: number;
|
|
111
|
+
pending: number;
|
|
112
|
+
in_progress: number;
|
|
113
|
+
completed: number;
|
|
114
|
+
completion_rate: number;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export interface AgentQueueResponse extends Array<Task> {
|
|
118
|
+
}
|
|
119
|
+
export interface OrgNode {
|
|
120
|
+
agent: Agent;
|
|
121
|
+
reports: OrgNode[];
|
|
122
|
+
}
|
|
123
|
+
export interface PlanWithTasks extends Plan {
|
|
124
|
+
tasks: Task[];
|
|
125
|
+
}
|
|
126
|
+
export interface ReportResponse {
|
|
127
|
+
days: number;
|
|
128
|
+
period_since: string;
|
|
129
|
+
total: number;
|
|
130
|
+
stats: Record<string, number>;
|
|
131
|
+
changed: number;
|
|
132
|
+
completed: number;
|
|
133
|
+
failed: number;
|
|
134
|
+
completion_rate: number;
|
|
135
|
+
by_day: Record<string, number>;
|
|
136
|
+
}
|
|
137
|
+
export interface DoctorIssue {
|
|
138
|
+
severity: "info" | "warn" | "error";
|
|
139
|
+
type: string;
|
|
140
|
+
message: string;
|
|
141
|
+
count?: number;
|
|
142
|
+
}
|
|
143
|
+
export interface DoctorResponse {
|
|
144
|
+
ok: boolean;
|
|
145
|
+
issues: DoctorIssue[];
|
|
146
|
+
}
|
|
147
|
+
export interface SSEEvent {
|
|
148
|
+
type: string;
|
|
149
|
+
action: string;
|
|
150
|
+
task_id?: string;
|
|
151
|
+
agent_id?: string | null;
|
|
152
|
+
project_id?: string | null;
|
|
153
|
+
timestamp: string;
|
|
154
|
+
}
|
|
155
|
+
export interface TodosClientOptions {
|
|
156
|
+
/** Base URL of the todos server. Default: http://localhost:19427 */
|
|
157
|
+
baseUrl?: string;
|
|
158
|
+
/** Request timeout in ms. Default: 10000 */
|
|
159
|
+
timeout?: number;
|
|
160
|
+
/** API key for auth (sent as x-api-key header). Default: TODOS_API_KEY env */
|
|
161
|
+
apiKey?: string;
|
|
162
|
+
/** Max retries on 5xx/429. Default: 0 */
|
|
163
|
+
maxRetries?: number;
|
|
164
|
+
/** Base delay for exponential backoff in ms. Default: 1000 */
|
|
165
|
+
retryDelay?: number;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk.d.ts
CHANGED
|
@@ -1,186 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @hasna/todos REST SDK Client
|
|
3
|
-
* Zero-dependency HTTP client for the todos REST API (todos serve).
|
|
4
|
-
* Use when you need to interact with todos from another machine or process.
|
|
2
|
+
* @hasna/todos REST SDK Client — Backward Compatibility Layer
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* This file re-exports the new SDK from src/sdk/client.ts.
|
|
5
|
+
* All old method signatures are preserved via deprecated aliases.
|
|
6
|
+
*
|
|
7
|
+
* New code should import from "@hasna/todos/sdk" for the namespaced API:
|
|
8
|
+
* const client = new TodosClient();
|
|
9
|
+
* await client.tasks.list({ status: "pending" });
|
|
10
|
+
*
|
|
11
|
+
* Old code continues to work unchanged:
|
|
12
|
+
* await client.listTasks({ status: "pending" });
|
|
8
13
|
*/
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
export
|
|
14
|
-
id: string;
|
|
15
|
-
short_id: string | null;
|
|
16
|
-
title: string;
|
|
17
|
-
description: string | null;
|
|
18
|
-
status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
|
|
19
|
-
priority: "low" | "medium" | "high" | "critical";
|
|
20
|
-
project_id: string | null;
|
|
21
|
-
plan_id: string | null;
|
|
22
|
-
task_list_id: string | null;
|
|
23
|
-
agent_id: string | null;
|
|
24
|
-
assigned_to: string | null;
|
|
25
|
-
locked_by: string | null;
|
|
26
|
-
tags: string[];
|
|
27
|
-
version: number;
|
|
28
|
-
created_at: string;
|
|
29
|
-
updated_at: string;
|
|
30
|
-
completed_at: string | null;
|
|
31
|
-
due_at: string | null;
|
|
32
|
-
recurrence_rule: string | null;
|
|
33
|
-
}
|
|
34
|
-
export interface StatusSummaryResponse {
|
|
35
|
-
pending: number;
|
|
36
|
-
in_progress: number;
|
|
37
|
-
completed: number;
|
|
38
|
-
total: number;
|
|
39
|
-
active_work: {
|
|
40
|
-
id: string;
|
|
41
|
-
short_id: string | null;
|
|
42
|
-
title: string;
|
|
43
|
-
priority: string;
|
|
44
|
-
assigned_to: string | null;
|
|
45
|
-
locked_by: string | null;
|
|
46
|
-
updated_at: string;
|
|
47
|
-
}[];
|
|
48
|
-
next_task: TaskSummary | null;
|
|
49
|
-
stale_count: number;
|
|
50
|
-
overdue_recurring: number;
|
|
51
|
-
}
|
|
52
|
-
export interface ProgressEntry {
|
|
53
|
-
id: string;
|
|
54
|
-
task_id: string;
|
|
55
|
-
content: string;
|
|
56
|
-
type: "comment" | "progress" | "note";
|
|
57
|
-
progress_pct: number | null;
|
|
58
|
-
agent_id: string | null;
|
|
59
|
-
created_at: string;
|
|
60
|
-
}
|
|
61
|
-
export interface DashboardStats {
|
|
62
|
-
total_tasks: number;
|
|
63
|
-
pending: number;
|
|
64
|
-
in_progress: number;
|
|
65
|
-
completed: number;
|
|
66
|
-
failed: number;
|
|
67
|
-
cancelled: number;
|
|
68
|
-
projects: number;
|
|
69
|
-
agents: number;
|
|
70
|
-
stale_count?: number;
|
|
71
|
-
overdue_recurring?: number;
|
|
72
|
-
recurring_tasks?: number;
|
|
73
|
-
}
|
|
74
|
-
export declare class TodosClient {
|
|
75
|
-
private baseUrl;
|
|
76
|
-
private timeout;
|
|
77
|
-
constructor(options?: TodosClientOptions);
|
|
78
|
-
static fromEnv(): TodosClient;
|
|
79
|
-
private fetch;
|
|
80
|
-
getHealth(): Promise<{
|
|
81
|
-
status: "ok" | "warn";
|
|
82
|
-
tasks: number;
|
|
83
|
-
stale: number;
|
|
84
|
-
overdue_recurring: number;
|
|
85
|
-
timestamp: string;
|
|
86
|
-
}>;
|
|
87
|
-
isAlive(): Promise<boolean>;
|
|
88
|
-
getStatus(projectId?: string, agentId?: string): Promise<StatusSummaryResponse>;
|
|
89
|
-
listTasks(filter?: {
|
|
90
|
-
status?: string;
|
|
91
|
-
project_id?: string;
|
|
92
|
-
assigned_to?: string;
|
|
93
|
-
limit?: number;
|
|
94
|
-
offset?: number;
|
|
95
|
-
session_id?: string;
|
|
96
|
-
due_today?: boolean;
|
|
97
|
-
overdue?: boolean;
|
|
98
|
-
}): Promise<TaskSummary[]>;
|
|
99
|
-
getTask(id: string): Promise<TaskSummary>;
|
|
100
|
-
getTaskAttachments(id: string): Promise<{
|
|
101
|
-
task_id: string;
|
|
102
|
-
short_id: string | null;
|
|
103
|
-
attachment_ids: string[];
|
|
104
|
-
count: number;
|
|
105
|
-
files_changed?: string[];
|
|
106
|
-
commit_hash?: string;
|
|
107
|
-
notes?: string;
|
|
108
|
-
}>;
|
|
109
|
-
getTaskHistory(id: string): Promise<any[]>;
|
|
110
|
-
getTaskProgress(id: string): Promise<any>;
|
|
111
|
-
claimNextTask(agentId: string, projectId?: string): Promise<any>;
|
|
112
|
-
completeTask(id: string, agentId?: string): Promise<any>;
|
|
113
|
-
createTask(data: {
|
|
114
|
-
title: string;
|
|
115
|
-
description?: string;
|
|
116
|
-
priority?: string;
|
|
117
|
-
project_id?: string;
|
|
118
|
-
assigned_to?: string;
|
|
119
|
-
tags?: string[];
|
|
120
|
-
recurrence_rule?: string;
|
|
121
|
-
due_at?: string;
|
|
122
|
-
}): Promise<any>;
|
|
123
|
-
updateTask(id: string, data: Record<string, unknown>): Promise<any>;
|
|
124
|
-
deleteTask(id: string): Promise<void>;
|
|
125
|
-
getStats(): Promise<DashboardStats>;
|
|
126
|
-
getActiveWork(projectId?: string): Promise<any[]>;
|
|
127
|
-
getTasksChangedSince(since: string, projectId?: string): Promise<any>;
|
|
128
|
-
startTask(id: string, agentId: string): Promise<any>;
|
|
129
|
-
failTask(id: string, options?: {
|
|
130
|
-
reason?: string;
|
|
131
|
-
agent_id?: string;
|
|
132
|
-
retry?: boolean;
|
|
133
|
-
error_code?: string;
|
|
134
|
-
}): Promise<{
|
|
135
|
-
task: TaskSummary;
|
|
136
|
-
retry_task: TaskSummary | null;
|
|
137
|
-
}>;
|
|
138
|
-
logProgress(taskId: string, message: string, pctComplete?: number, agentId?: string): Promise<any>;
|
|
139
|
-
exportTasks(filter?: {
|
|
140
|
-
status?: string;
|
|
141
|
-
project_id?: string;
|
|
142
|
-
format?: "json" | "csv";
|
|
143
|
-
}): Promise<any>;
|
|
144
|
-
getProjects(): Promise<any[]>;
|
|
145
|
-
getContext(options?: {
|
|
146
|
-
agentId?: string;
|
|
147
|
-
projectId?: string;
|
|
148
|
-
format?: "text" | "compact" | "json";
|
|
149
|
-
}): Promise<string | any>;
|
|
150
|
-
getReport(options?: {
|
|
151
|
-
days?: number;
|
|
152
|
-
projectId?: string;
|
|
153
|
-
}): Promise<{
|
|
154
|
-
days: number;
|
|
155
|
-
period_since: string;
|
|
156
|
-
total: number;
|
|
157
|
-
changed: number;
|
|
158
|
-
completed: number;
|
|
159
|
-
failed: number;
|
|
160
|
-
completion_rate: number;
|
|
161
|
-
stats: any;
|
|
162
|
-
by_day: Record<string, number>;
|
|
163
|
-
}>;
|
|
164
|
-
/**
|
|
165
|
-
* Subscribe to task events via SSE. Returns an AsyncGenerator that yields events.
|
|
166
|
-
* Events: task.created, task.started, task.completed, task.failed, task.assigned, task.status_changed
|
|
167
|
-
*
|
|
168
|
-
* @example
|
|
169
|
-
* for await (const event of client.subscribeToStream({ agentId: "aurelius" })) {
|
|
170
|
-
* console.log(event.action, event.task_id);
|
|
171
|
-
* }
|
|
172
|
-
*/
|
|
173
|
-
subscribeToStream(options?: {
|
|
174
|
-
agentId?: string;
|
|
175
|
-
projectId?: string;
|
|
176
|
-
events?: string[];
|
|
177
|
-
}): AsyncGenerator<{
|
|
178
|
-
type: string;
|
|
179
|
-
action: string;
|
|
180
|
-
task_id?: string;
|
|
181
|
-
agent_id?: string | null;
|
|
182
|
-
timestamp: string;
|
|
183
|
-
}, void, unknown>;
|
|
184
|
-
}
|
|
185
|
-
export declare function createClient(options?: TodosClientOptions): TodosClient;
|
|
14
|
+
export { TodosClient, createClient } from "./sdk/client.js";
|
|
15
|
+
export type { TodosClientOptions } from "./sdk/client.js";
|
|
16
|
+
export type { SSEEvent, CursorPage, TaskListResponse, TaskStatusResponse, TaskNextResponse, TaskActiveResponse, TaskStaleResponse, TaskChangedResponse, TaskContextResponse, TaskProgressResponse, TaskAttachmentsResponse, TaskFailResponse, TaskBulkResponse, AgentMeResponse, AgentQueueResponse, OrgNode, PlanWithTasks, ReportResponse, DoctorResponse, DoctorIssue, } from "./sdk/types.js";
|
|
17
|
+
export { TodosAPIError, TodosNotFoundError, TodosConflictError, TodosUnauthorizedError, TodosRateLimitError, TodosTimeoutError, } from "./sdk/types.js";
|
|
18
|
+
export type { TaskSummary, ProgressEntry, DashboardStats, StatusSummaryResponse, } from "./types/index.js";
|
|
186
19
|
//# sourceMappingURL=sdk.d.ts.map
|
package/dist/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,YAAY,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|