managed-deepagents 0.10.0-dev.6 → 0.10.0-dev.7
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/README.md +69 -58
- package/dist/channels/github/connections.d.ts.map +1 -1
- package/dist/channels/github/connections.js +2 -2
- package/dist/channels/github/connections.js.map +1 -1
- package/dist/channels/github/index.d.ts +1 -1
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +42 -89
- package/dist/channels/github/index.js.map +1 -1
- package/dist/channels/github/schema.d.ts.map +1 -1
- package/dist/channels/github/schema.js +1 -3
- package/dist/channels/github/schema.js.map +1 -1
- package/dist/channels/github/types.d.ts +18 -10
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +92 -95
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +1 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +9 -0
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +26 -11
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +19 -34
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/provider.d.ts +68 -0
- package/dist/channels/http/provider.d.ts.map +1 -0
- package/dist/channels/http/provider.js +149 -0
- package/dist/channels/http/provider.js.map +1 -0
- package/dist/channels/http/studio.d.ts +7 -5
- package/dist/channels/http/studio.d.ts.map +1 -1
- package/dist/channels/http/studio.js +12 -12
- package/dist/channels/http/studio.js.map +1 -1
- package/dist/channels/http/types.d.ts +27 -15
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/linear/connections.d.ts.map +1 -1
- package/dist/channels/linear/connections.js +2 -2
- package/dist/channels/linear/connections.js.map +1 -1
- package/dist/channels/linear/graphql.d.ts +5 -17
- package/dist/channels/linear/graphql.d.ts.map +1 -1
- package/dist/channels/linear/graphql.js +55 -57
- package/dist/channels/linear/graphql.js.map +1 -1
- package/dist/channels/linear/index.d.ts +1 -1
- package/dist/channels/linear/index.d.ts.map +1 -1
- package/dist/channels/linear/index.js +133 -146
- package/dist/channels/linear/index.js.map +1 -1
- package/dist/channels/linear/schema.d.ts +173 -144
- package/dist/channels/linear/schema.d.ts.map +1 -1
- package/dist/channels/linear/schema.js +45 -12
- package/dist/channels/linear/schema.js.map +1 -1
- package/dist/channels/linear/types.d.ts +21 -21
- package/dist/channels/linear/types.d.ts.map +1 -1
- package/dist/channels/message-schema.d.ts +2 -0
- package/dist/channels/message-schema.d.ts.map +1 -1
- package/dist/channels/message-schema.js +4 -0
- package/dist/channels/message-schema.js.map +1 -1
- package/dist/channels/run-input.d.ts +3 -9
- package/dist/channels/run-input.d.ts.map +1 -1
- package/dist/channels/run-input.js +7 -17
- package/dist/channels/run-input.js.map +1 -1
- package/dist/channels/trigger/client.js +7 -3
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +6 -3
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/tracing-project.d.ts +16 -0
- package/dist/channels/trigger/tracing-project.d.ts.map +1 -0
- package/dist/channels/trigger/tracing-project.js +54 -0
- package/dist/channels/trigger/tracing-project.js.map +1 -0
- package/dist/channels/trigger/types.d.ts +6 -0
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/connections.d.ts +6 -0
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +27 -0
- package/dist/connections.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +52 -2
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +13 -3
- package/dist/credential-gate.js.map +1 -1
- package/dist/identity/options.d.ts +0 -9
- package/dist/identity/options.d.ts.map +1 -1
- package/dist/identity/options.js +1 -6
- package/dist/identity/options.js.map +1 -1
- package/dist/identity/types.d.ts +0 -6
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ingress/runs.d.ts +2 -4
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +5 -6
- package/dist/ingress/runs.js.map +1 -1
- package/dist/runtime/auth.d.ts +0 -9
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +2 -55
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +1 -1
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +12 -4
- package/dist/runtime/schedule-auth.js.map +1 -1
- package/dist/runtime-schedules.js +6 -6
- package/dist/runtime-schedules.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/graphql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB,6DAA6D;AAC7D,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,cAGC;CACF;AAQD,8CAA8C;AAC9C,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAWD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAoBD,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAahE,wBAAgB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAEtD;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAYD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKxC;AAWD,8DAA8D;AAC9D,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,6CAA6C;AAC7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAYF;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAS1B;AASD,2EAA2E;AAC3E,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
import { connections } from "../../connections.js";
|
|
3
|
+
import { CachedRead } from "../http/provider.js";
|
|
4
|
+
import { nonblankStringSchema } from "../message-schema.js";
|
|
2
5
|
import { LINEAR_TOKEN_SLUG } from "./connections.js";
|
|
3
6
|
const LINEAR_GRAPHQL_URL = "https://api.linear.app/graphql";
|
|
4
7
|
const LINEAR_API_TIMEOUT_MS = 10_000;
|
|
@@ -6,7 +9,11 @@ const LINEAR_API_TIMEOUT_MS = 10_000;
|
|
|
6
9
|
const LINEAR_RESPONSE_MAX_CHARS = 1_000_000;
|
|
7
10
|
/** How long the app token read from Agent Auth is reused. */
|
|
8
11
|
const TOKEN_TTL_MS = 5 * 60_000;
|
|
9
|
-
|
|
12
|
+
/**
|
|
13
|
+
* How long the app's user is reused. It changes only when the app is
|
|
14
|
+
* installed anew, which a long-lived process should notice too.
|
|
15
|
+
*/
|
|
16
|
+
const APP_USER_TTL_MS = 60 * 60_000;
|
|
10
17
|
/**
|
|
11
18
|
* Where GraphQL requests go: Linear's API, or under `mda dev`
|
|
12
19
|
* (`MDA_LOCAL_DEV=1`) the stand-in `MDA_LINEAR_API_URL` names, so local
|
|
@@ -29,23 +36,10 @@ export class LinearRateLimitError extends Error {
|
|
|
29
36
|
}
|
|
30
37
|
}
|
|
31
38
|
/** The app's access token, read from Agent Auth at most every few minutes. */
|
|
32
|
-
|
|
33
|
-
if (appToken && appToken.expiresAt > Date.now())
|
|
34
|
-
return appToken.value;
|
|
35
|
-
const entry = {
|
|
36
|
-
value: connections.resolveDeploymentSecret(LINEAR_TOKEN_SLUG),
|
|
37
|
-
expiresAt: Date.now() + TOKEN_TTL_MS,
|
|
38
|
-
};
|
|
39
|
-
entry.value.catch(() => {
|
|
40
|
-
if (appToken === entry)
|
|
41
|
-
appToken = undefined;
|
|
42
|
-
});
|
|
43
|
-
appToken = entry;
|
|
44
|
-
return entry.value;
|
|
45
|
-
}
|
|
39
|
+
const appToken = new CachedRead(() => connections.resolveDeploymentSecret(LINEAR_TOKEN_SLUG), () => TOKEN_TTL_MS);
|
|
46
40
|
/** Forget the cached app token; for tests. */
|
|
47
41
|
export function resetLinearToken() {
|
|
48
|
-
appToken
|
|
42
|
+
appToken.reset();
|
|
49
43
|
}
|
|
50
44
|
function errorCodes(body) {
|
|
51
45
|
return (body.errors ?? []).flatMap((error) => typeof error.extensions?.code === "string" ? [error.extensions.code] : []);
|
|
@@ -53,13 +47,13 @@ function errorCodes(body) {
|
|
|
53
47
|
/**
|
|
54
48
|
* Run a GraphQL operation as the app. `query` is a constant; everything that
|
|
55
49
|
* varies goes in `variables`. A rejected token is read again once. Returns
|
|
56
|
-
* the response's `data`.
|
|
50
|
+
* the response's `data`, checked against `schema`.
|
|
57
51
|
*/
|
|
58
|
-
export async function linearRequest(query, variables
|
|
52
|
+
export async function linearRequest(query, variables, schema) {
|
|
59
53
|
const send = async () => fetch(graphqlUrl(), {
|
|
60
54
|
method: "POST",
|
|
61
55
|
headers: {
|
|
62
|
-
Authorization: `Bearer ${await
|
|
56
|
+
Authorization: `Bearer ${await appToken.get()}`,
|
|
63
57
|
"Content-Type": "application/json",
|
|
64
58
|
},
|
|
65
59
|
body: JSON.stringify({ query, variables }),
|
|
@@ -69,7 +63,7 @@ export async function linearRequest(query, variables = {}) {
|
|
|
69
63
|
let body = await readBody(response);
|
|
70
64
|
if (response.status === 401 ||
|
|
71
65
|
errorCodes(body).includes("AUTHENTICATION_ERROR")) {
|
|
72
|
-
appToken
|
|
66
|
+
appToken.reset();
|
|
73
67
|
response = await send();
|
|
74
68
|
body = await readBody(response);
|
|
75
69
|
}
|
|
@@ -77,7 +71,10 @@ export async function linearRequest(query, variables = {}) {
|
|
|
77
71
|
throw new LinearRateLimitError();
|
|
78
72
|
if (!response.ok || body.errors?.length || body.data === undefined)
|
|
79
73
|
throw new Error(`Linear refused the request (HTTP ${response.status})`);
|
|
80
|
-
|
|
74
|
+
const data = schema.safeParse(body.data);
|
|
75
|
+
if (!data.success)
|
|
76
|
+
throw new Error("Linear answered in an unexpected shape");
|
|
77
|
+
return data.data;
|
|
81
78
|
}
|
|
82
79
|
async function readBody(response) {
|
|
83
80
|
const text = await response.text();
|
|
@@ -94,76 +91,77 @@ async function readBody(response) {
|
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
93
|
const VIEWER_QUERY = "query MdaLinearViewer { viewer { id displayName } }";
|
|
97
|
-
|
|
94
|
+
const viewerSchema = z.object({
|
|
95
|
+
viewer: z.object({ id: nonblankStringSchema, displayName: z.string() }),
|
|
96
|
+
});
|
|
98
97
|
/**
|
|
99
|
-
* The Linear user the app acts as, read
|
|
100
|
-
*
|
|
101
|
-
*
|
|
98
|
+
* The Linear user the app acts as, read at most hourly: its own comments and
|
|
99
|
+
* changes are ignored, and a comment mentioning its `displayName` starts an
|
|
100
|
+
* agent session.
|
|
102
101
|
*/
|
|
102
|
+
const appUser = new CachedRead(async () => (await linearRequest(VIEWER_QUERY, {}, viewerSchema)).viewer, () => APP_USER_TTL_MS);
|
|
103
103
|
export function linearAppUser() {
|
|
104
|
-
appUser
|
|
105
|
-
if (typeof viewer?.id !== "string" ||
|
|
106
|
-
!viewer.id ||
|
|
107
|
-
typeof viewer.displayName !== "string")
|
|
108
|
-
throw new Error("Linear did not report the app's user");
|
|
109
|
-
return { id: viewer.id, displayName: viewer.displayName };
|
|
110
|
-
});
|
|
111
|
-
appUser.catch(() => {
|
|
112
|
-
appUser = undefined;
|
|
113
|
-
});
|
|
114
|
-
return appUser;
|
|
104
|
+
return appUser.get();
|
|
115
105
|
}
|
|
116
106
|
/** Forget the cached app user; for tests. */
|
|
117
107
|
export function resetLinearAppUser() {
|
|
118
|
-
appUser
|
|
108
|
+
appUser.reset();
|
|
119
109
|
}
|
|
120
110
|
const COMMENT_CREATE_MUTATION = `mutation MdaLinearCommentCreate($input: CommentCreateInput!) {
|
|
121
111
|
commentCreate(input: $input) { success comment { id url } }
|
|
122
112
|
}`;
|
|
113
|
+
const commentCreateSchema = z.object({
|
|
114
|
+
commentCreate: z.object({
|
|
115
|
+
success: z.literal(true),
|
|
116
|
+
comment: z.object({ id: nonblankStringSchema, url: z.string().nullish() }),
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
123
119
|
/**
|
|
124
120
|
* Comment on an issue as the app, threaded under `parentId` when given.
|
|
125
121
|
* Returns the comment's id and URL.
|
|
126
122
|
*/
|
|
127
123
|
export async function createLinearComment(input) {
|
|
128
|
-
const
|
|
129
|
-
const comment = data.commentCreate?.comment;
|
|
130
|
-
if (!data.commentCreate?.success || !comment?.id)
|
|
131
|
-
throw new Error("Linear did not create the comment");
|
|
124
|
+
const { comment } = (await linearRequest(COMMENT_CREATE_MUTATION, { input }, commentCreateSchema)).commentCreate;
|
|
132
125
|
return { id: comment.id, ...(comment.url && { url: comment.url }) };
|
|
133
126
|
}
|
|
134
127
|
const COMMENT_SESSION_QUERY = `query MdaLinearCommentSession($id: String!) {
|
|
135
128
|
comment(id: $id) { agentSession { id } }
|
|
136
129
|
}`;
|
|
130
|
+
const commentSessionSchema = z.object({
|
|
131
|
+
comment: z
|
|
132
|
+
.object({ agentSession: z.object({ id: nonblankStringSchema }).nullable() })
|
|
133
|
+
.nullable(),
|
|
134
|
+
});
|
|
137
135
|
/** Whether a comment belongs to an agent session's thread. */
|
|
138
136
|
export async function commentInAgentSession(commentId) {
|
|
139
|
-
const
|
|
140
|
-
return Boolean(
|
|
137
|
+
const { comment } = await linearRequest(COMMENT_SESSION_QUERY, { id: commentId }, commentSessionSchema);
|
|
138
|
+
return Boolean(comment?.agentSession);
|
|
141
139
|
}
|
|
142
140
|
const ACTIVITY_CREATE_MUTATION = `mutation MdaLinearActivityCreate($input: AgentActivityCreateInput!) {
|
|
143
141
|
agentActivityCreate(input: $input) { success agentActivity { id } }
|
|
144
142
|
}`;
|
|
143
|
+
const activityCreateSchema = z.object({
|
|
144
|
+
agentActivityCreate: z.object({
|
|
145
|
+
success: z.literal(true),
|
|
146
|
+
agentActivity: z.object({ id: nonblankStringSchema }),
|
|
147
|
+
}),
|
|
148
|
+
});
|
|
145
149
|
/**
|
|
146
|
-
* Post an activity to an agent session as the app. `ephemeral`
|
|
147
|
-
*
|
|
148
|
-
* options to choose from.
|
|
150
|
+
* Post an activity to an agent session as the app. An `ephemeral` thought is
|
|
151
|
+
* replaced by the next activity.
|
|
149
152
|
*/
|
|
150
153
|
export async function createLinearActivity(input) {
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
if (!data.agentActivityCreate?.success || !activity?.id)
|
|
154
|
-
throw new Error("Linear did not create the activity");
|
|
155
|
-
return { id: activity.id };
|
|
154
|
+
const { agentActivity } = (await linearRequest(ACTIVITY_CREATE_MUTATION, { input }, activityCreateSchema)).agentActivityCreate;
|
|
155
|
+
return { id: agentActivity.id };
|
|
156
156
|
}
|
|
157
157
|
const SESSION_UPDATE_MUTATION = `mutation MdaLinearSessionUpdate($id: String!, $input: AgentSessionUpdateInput!) {
|
|
158
158
|
agentSessionUpdate(id: $id, input: $input) { success }
|
|
159
159
|
}`;
|
|
160
|
+
const sessionUpdateSchema = z.object({
|
|
161
|
+
agentSessionUpdate: z.object({ success: z.literal(true) }),
|
|
162
|
+
});
|
|
160
163
|
/** Link an agent session to a page about it, such as its Studio thread. */
|
|
161
164
|
export async function addLinearSessionUrl(agentSessionId, link) {
|
|
162
|
-
|
|
163
|
-
id: agentSessionId,
|
|
164
|
-
input: { addedExternalUrls: [link] },
|
|
165
|
-
});
|
|
166
|
-
if (!data.agentSessionUpdate?.success)
|
|
167
|
-
throw new Error("Linear did not update the session");
|
|
165
|
+
await linearRequest(SESSION_UPDATE_MUTATION, { id: agentSessionId, input: { addedExternalUrls: [link] } }, sessionUpdateSchema);
|
|
168
166
|
}
|
|
169
167
|
//# sourceMappingURL=graphql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/channels/linear/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,6CAA6C;AAC7C,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAC5C,6DAA6D;AAC7D,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/channels/linear/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type HttpChannel } from "../http/index.js";
|
|
2
2
|
import type { LinearChannelOptions } from "./types.js";
|
|
3
|
-
export type { LinearAppOptions, LinearChannelOptions,
|
|
3
|
+
export type { LinearAppOptions, LinearChannelOptions, LinearChannelThread, LinearEvent, LinearEventCallback, LinearEventKey, LinearEventResult, LinearPayloadFor, } from "./types.js";
|
|
4
4
|
export { LinearRateLimitError } from "./graphql.js";
|
|
5
5
|
/** Adapt verified Linear webhooks into HTTP channel messages or skips. */
|
|
6
6
|
export declare function linearChannel(options?: LinearChannelOptions): HttpChannel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAOjB,MAAM,kBAAkB,CAAC;AAgC1B,OAAO,KAAK,EAEV,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAiBpD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,WAAW,CA+D7E;AA+CD,mDAAmD;AACnD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|