@agentworkforce/sage 1.2.2 → 1.2.4
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/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/nango.d.ts +0 -1
- package/dist/nango.d.ts.map +1 -1
- package/dist/nango.js +36 -92
- package/dist/proactive/scheduler.d.ts +7 -1
- package/dist/proactive/scheduler.d.ts.map +1 -1
- package/dist/proactive/scheduler.js +25 -12
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,CAAC;;mBAKZ,OAAO,OAAO,YAAY,OAAO,gBAAgB;;AADlE,wBAoBE"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,25 @@
|
|
|
2
2
|
* NPM package entry consumed by the cloud worker runtime.
|
|
3
3
|
*/
|
|
4
4
|
import { createSageApp } from "./app.js";
|
|
5
|
+
import { registerProactiveSchedules } from "./proactive/scheduler.js";
|
|
5
6
|
export { createSageApp };
|
|
7
|
+
let schedulesRegistered = false;
|
|
6
8
|
export default {
|
|
7
9
|
fetch(request, env, ctx) {
|
|
10
|
+
if (!schedulesRegistered) {
|
|
11
|
+
schedulesRegistered = true;
|
|
12
|
+
ctx.waitUntil(registerProactiveSchedules(env)
|
|
13
|
+
.then((success) => {
|
|
14
|
+
if (!success) {
|
|
15
|
+
schedulesRegistered = false;
|
|
16
|
+
console.error("[sage] Proactive schedule registration failed; will retry on next request");
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
.catch((error) => {
|
|
20
|
+
schedulesRegistered = false;
|
|
21
|
+
console.error("[sage] Failed to register proactive schedules:", error);
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
8
24
|
return createSageApp().fetch(request, env, ctx);
|
|
9
25
|
},
|
|
10
26
|
};
|
package/dist/nango.d.ts
CHANGED
|
@@ -38,6 +38,5 @@ export declare class NangoClient {
|
|
|
38
38
|
proxy<T>(config: ProxyConfig): Promise<T>;
|
|
39
39
|
getConnection(connectionId: string, providerConfigKey: string): Promise<NangoConnection | null>;
|
|
40
40
|
discoverGitHubOrgs(connectionId: string, providerConfigKey: string): Promise<GitHubOrgDiscovery>;
|
|
41
|
-
private listGitHubInstallationRepos;
|
|
42
41
|
}
|
|
43
42
|
//# sourceMappingURL=nango.d.ts.map
|
package/dist/nango.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nango.d.ts","sourceRoot":"","sources":["../src/nango.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"nango.d.ts","sourceRoot":"","sources":["../src/nango.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9B;AAgBD,qBAAa,UAAW,SAAQ,KAAK;aAEjB,SAAS,EAAE,MAAM;aACjB,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,OAAO;gBAFd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO;CAKjC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;IAC7F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IAIhD,OAAO,CAAC,SAAS;IAIX,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAQzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQ/F,kBAAkB,CACtB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,kBAAkB,CAAC;CAgF/B"}
|
package/dist/nango.js
CHANGED
|
@@ -45,31 +45,50 @@ export class NangoClient {
|
|
|
45
45
|
if (cached && cached.expiresAt > Date.now()) {
|
|
46
46
|
return cloneGitHubOrgDiscovery(cached.value);
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
// https://docs.github.com/en/rest/apps/installations?apiVersion=2022-11-28#list-repositories-accessible-to-the-app-installation
|
|
49
|
+
const allRepos = [];
|
|
50
|
+
let page = 1;
|
|
51
|
+
const perPage = 100;
|
|
52
|
+
while (true) {
|
|
53
|
+
const response = await this.proxy({
|
|
54
|
+
connectionId,
|
|
55
|
+
providerConfigKey: resolvedProviderConfigKey,
|
|
56
|
+
method: 'GET',
|
|
57
|
+
endpoint: `/installation/repositories?per_page=${perPage}&page=${page}`,
|
|
58
|
+
});
|
|
59
|
+
const repos = response.repositories ?? [];
|
|
60
|
+
allRepos.push(...repos);
|
|
61
|
+
if (repos.length < perPage) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
page++;
|
|
65
|
+
if (page > 10) {
|
|
66
|
+
break; // Safety limit
|
|
67
|
+
}
|
|
68
|
+
}
|
|
54
69
|
const orgs = new Set();
|
|
55
70
|
const reposByOrg = new Map();
|
|
56
|
-
for (const
|
|
57
|
-
const
|
|
58
|
-
if (!
|
|
71
|
+
for (const repo of allRepos) {
|
|
72
|
+
const fullName = repo.full_name?.trim();
|
|
73
|
+
if (!fullName) {
|
|
59
74
|
continue;
|
|
60
75
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
reposByOrg.set(org, new Set());
|
|
76
|
+
const slashIndex = fullName.indexOf('/');
|
|
77
|
+
if (slashIndex <= 0) {
|
|
78
|
+
continue;
|
|
65
79
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
80
|
+
const org = fullName.slice(0, slashIndex);
|
|
81
|
+
const repoName = fullName.slice(slashIndex + 1);
|
|
82
|
+
if (!org || !repoName) {
|
|
68
83
|
continue;
|
|
69
84
|
}
|
|
70
|
-
|
|
71
|
-
|
|
85
|
+
orgs.add(org);
|
|
86
|
+
let orgRepos = reposByOrg.get(org);
|
|
87
|
+
if (!orgRepos) {
|
|
88
|
+
orgRepos = new Set();
|
|
89
|
+
reposByOrg.set(org, orgRepos);
|
|
72
90
|
}
|
|
91
|
+
orgRepos.add(repoName);
|
|
73
92
|
}
|
|
74
93
|
const value = {
|
|
75
94
|
orgs: [...orgs].sort((left, right) => left.localeCompare(right)),
|
|
@@ -83,81 +102,6 @@ export class NangoClient {
|
|
|
83
102
|
});
|
|
84
103
|
return cloneGitHubOrgDiscovery(value);
|
|
85
104
|
}
|
|
86
|
-
async listGitHubInstallationRepos(connectionId, providerConfigKey, installation) {
|
|
87
|
-
const endpoints = buildGitHubInstallationRepoEndpoints(installation);
|
|
88
|
-
if (endpoints.length === 0) {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
let lastError;
|
|
92
|
-
for (const endpoint of endpoints) {
|
|
93
|
-
try {
|
|
94
|
-
// Paginate through all pages (GitHub returns max 30 per page)
|
|
95
|
-
const allRepos = [];
|
|
96
|
-
let page = 1;
|
|
97
|
-
const perPage = 100;
|
|
98
|
-
while (true) {
|
|
99
|
-
const separator = endpoint.includes('?') ? '&' : '?';
|
|
100
|
-
const pagedEndpoint = `${endpoint}${separator}per_page=${perPage}&page=${page}`;
|
|
101
|
-
const response = await this.proxy({
|
|
102
|
-
connectionId,
|
|
103
|
-
providerConfigKey,
|
|
104
|
-
method: 'GET',
|
|
105
|
-
endpoint: pagedEndpoint,
|
|
106
|
-
});
|
|
107
|
-
const repos = response.repositories ?? [];
|
|
108
|
-
allRepos.push(...normalizeGitHubRepoNames(repos));
|
|
109
|
-
if (repos.length < perPage) {
|
|
110
|
-
break; // Last page
|
|
111
|
-
}
|
|
112
|
-
page++;
|
|
113
|
-
if (page > 10) {
|
|
114
|
-
break; // Safety limit
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return allRepos;
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
lastError = error;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
throw new NangoError('discoverGitHubOrgs', installation.account?.login?.trim() || connectionId, lastError ?? new Error('GitHub installation repositories request failed'));
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
function buildGitHubInstallationRepoEndpoints(installation) {
|
|
127
|
-
const endpoints = new Set();
|
|
128
|
-
if (typeof installation.id === 'number') {
|
|
129
|
-
endpoints.add(`/user/installations/${installation.id}/repositories`);
|
|
130
|
-
}
|
|
131
|
-
const repositoriesPath = extractGitHubApiPath(installation.repositories_url);
|
|
132
|
-
if (repositoriesPath) {
|
|
133
|
-
endpoints.add(repositoriesPath);
|
|
134
|
-
}
|
|
135
|
-
return [...endpoints];
|
|
136
|
-
}
|
|
137
|
-
function extractGitHubApiPath(url) {
|
|
138
|
-
if (!url) {
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
if (url.startsWith('/')) {
|
|
142
|
-
return url;
|
|
143
|
-
}
|
|
144
|
-
try {
|
|
145
|
-
const parsed = new URL(url);
|
|
146
|
-
return `${parsed.pathname}${parsed.search}`;
|
|
147
|
-
}
|
|
148
|
-
catch {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
function normalizeGitHubRepoNames(repositories) {
|
|
153
|
-
const names = new Set();
|
|
154
|
-
for (const repository of repositories) {
|
|
155
|
-
const repoName = repository.name?.trim() || repository.full_name?.split('/').pop()?.trim();
|
|
156
|
-
if (repoName) {
|
|
157
|
-
names.add(repoName);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return [...names].sort((left, right) => left.localeCompare(right));
|
|
161
105
|
}
|
|
162
106
|
function cloneGitHubOrgDiscovery(discovery) {
|
|
163
107
|
return {
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
interface SchedulerBindings {
|
|
2
|
+
AGENTCRON_API_KEY?: string;
|
|
3
|
+
AGENTCRON_URL?: string;
|
|
4
|
+
SAGE_PUBLIC_URL?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function registerProactiveSchedules(bindings?: SchedulerBindings): Promise<boolean>;
|
|
7
|
+
export {};
|
|
2
8
|
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/proactive/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/proactive/scheduler.ts"],"names":[],"mappings":"AAyOA,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiDD,wBAAsB,0BAA0B,CAC9C,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAiFlB"}
|
|
@@ -27,7 +27,7 @@ class AgentCron {
|
|
|
27
27
|
baseUrl;
|
|
28
28
|
constructor(options) {
|
|
29
29
|
this.apiKey = options.apiKey;
|
|
30
|
-
this.baseUrl = (options.baseUrl ?? "https://api.
|
|
30
|
+
this.baseUrl = (options.baseUrl ?? "https://api.relaycron.dev").replace(/\/$/, "");
|
|
31
31
|
}
|
|
32
32
|
async createSchedule(params) {
|
|
33
33
|
return this.request("POST", "/v1/schedules", params);
|
|
@@ -96,7 +96,7 @@ class AgentCron {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
const SCHEDULE_NAME_PREFIX = "sage-";
|
|
99
|
-
const DEFAULT_AGENTCRON_URL = "https://api.
|
|
99
|
+
const DEFAULT_AGENTCRON_URL = "https://api.relaycron.dev";
|
|
100
100
|
const DEFAULT_TIMEZONE = "UTC";
|
|
101
101
|
const AGENTCRON_REQUEST_TIMEOUT_MS = 15_000;
|
|
102
102
|
const WEBHOOK_TIMEOUT_MS = 10_000;
|
|
@@ -127,14 +127,22 @@ function requireTrimmedEnv(name) {
|
|
|
127
127
|
}
|
|
128
128
|
return value;
|
|
129
129
|
}
|
|
130
|
-
function
|
|
130
|
+
function bindingValue(bindings, name) {
|
|
131
|
+
return bindings?.[name]?.trim() || undefined;
|
|
132
|
+
}
|
|
133
|
+
function createClient(bindings) {
|
|
131
134
|
return new AgentCron({
|
|
132
|
-
apiKey:
|
|
133
|
-
|
|
135
|
+
apiKey: bindingValue(bindings, "AGENTCRON_API_KEY") ||
|
|
136
|
+
requireTrimmedEnv("AGENTCRON_API_KEY"),
|
|
137
|
+
baseUrl: bindingValue(bindings, "AGENTCRON_URL") ||
|
|
138
|
+
env.AGENTCRON_URL?.trim() ||
|
|
139
|
+
DEFAULT_AGENTCRON_URL,
|
|
134
140
|
});
|
|
135
141
|
}
|
|
136
|
-
function getPublicUrl() {
|
|
137
|
-
|
|
142
|
+
function getPublicUrl(bindings) {
|
|
143
|
+
const value = bindingValue(bindings, "SAGE_PUBLIC_URL") ||
|
|
144
|
+
requireTrimmedEnv("SAGE_PUBLIC_URL");
|
|
145
|
+
return value.replace(/\/$/, "");
|
|
138
146
|
}
|
|
139
147
|
function buildWebhookUrl(publicUrl, path) {
|
|
140
148
|
return `${publicUrl}${path.startsWith("/") ? path : `/${path}`}`;
|
|
@@ -153,16 +161,17 @@ async function listExistingScheduleIds(client) {
|
|
|
153
161
|
} while (cursor);
|
|
154
162
|
return schedules;
|
|
155
163
|
}
|
|
156
|
-
export async function registerProactiveSchedules() {
|
|
164
|
+
export async function registerProactiveSchedules(bindings) {
|
|
157
165
|
let client;
|
|
158
166
|
let publicUrl;
|
|
159
167
|
try {
|
|
160
|
-
client = createClient();
|
|
161
|
-
publicUrl = getPublicUrl();
|
|
168
|
+
client = createClient(bindings);
|
|
169
|
+
publicUrl = getPublicUrl(bindings);
|
|
162
170
|
}
|
|
163
171
|
catch (error) {
|
|
164
172
|
console.warn("[proactive/scheduler] Skipping schedule registration:", error instanceof Error ? error.message : String(error));
|
|
165
|
-
|
|
173
|
+
// Missing config is permanent — no point retrying.
|
|
174
|
+
return true;
|
|
166
175
|
}
|
|
167
176
|
let existingScheduleIds;
|
|
168
177
|
try {
|
|
@@ -170,8 +179,10 @@ export async function registerProactiveSchedules() {
|
|
|
170
179
|
}
|
|
171
180
|
catch (error) {
|
|
172
181
|
console.warn("[proactive/scheduler] Failed to load existing schedules; skipping registration to avoid duplicates:", error instanceof Error ? error.message : String(error));
|
|
173
|
-
|
|
182
|
+
// Transient API failure — caller should retry.
|
|
183
|
+
return false;
|
|
174
184
|
}
|
|
185
|
+
let failed = false;
|
|
175
186
|
for (const definition of PROACTIVE_SCHEDULES) {
|
|
176
187
|
const transport = {
|
|
177
188
|
type: "webhook",
|
|
@@ -218,6 +229,8 @@ export async function registerProactiveSchedules() {
|
|
|
218
229
|
}
|
|
219
230
|
catch (error) {
|
|
220
231
|
console.error(`[proactive/scheduler] Failed to register ${definition.name}:`, error instanceof Error ? error.message : String(error));
|
|
232
|
+
failed = true;
|
|
221
233
|
}
|
|
222
234
|
}
|
|
235
|
+
return !failed;
|
|
223
236
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -18,6 +18,9 @@ export interface SageBindings {
|
|
|
18
18
|
SLACK_BOT_USER_ID?: string;
|
|
19
19
|
SLACK_SIGNING_SECRET?: string;
|
|
20
20
|
SAGE_NOTIFY_CHANNEL?: string;
|
|
21
|
+
AGENTCRON_API_KEY?: string;
|
|
22
|
+
AGENTCRON_URL?: string;
|
|
23
|
+
SAGE_PUBLIC_URL?: string;
|
|
21
24
|
DEDUP: KVNamespace;
|
|
22
25
|
THREADS: KVNamespace;
|
|
23
26
|
RATE_LIMIT?: {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI/E;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAClF"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI/E;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAClF"}
|