slapify 0.0.16 → 0.0.18
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 +38 -4
- package/dist/ai/interpreter.js +1 -331
- package/dist/browser/agent.js +1 -485
- package/dist/cli.js +1 -1553
- package/dist/config/loader.js +1 -305
- package/dist/index.js +1 -262
- package/dist/parser/flow.js +1 -117
- package/dist/perf/audit.js +1 -635
- package/dist/report/generator.js +1 -641
- package/dist/runner/index.js +1 -744
- package/dist/task/index.js +1 -4
- package/dist/task/report.js +1 -740
- package/dist/task/runner.js +1 -1362
- package/dist/task/session.js +1 -153
- package/dist/task/tools.d.ts +12 -0
- package/dist/task/tools.js +1 -258
- package/dist/task/types.d.ts +18 -0
- package/dist/task/types.js +1 -2
- package/dist/types.js +1 -2
- package/package.json +6 -3
- package/dist/ai/interpreter.d.ts.map +0 -1
- package/dist/ai/interpreter.js.map +0 -1
- package/dist/browser/agent.d.ts.map +0 -1
- package/dist/browser/agent.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/parser/flow.d.ts.map +0 -1
- package/dist/parser/flow.js.map +0 -1
- package/dist/perf/audit.d.ts.map +0 -1
- package/dist/perf/audit.js.map +0 -1
- package/dist/report/generator.d.ts.map +0 -1
- package/dist/report/generator.js.map +0 -1
- package/dist/runner/index.d.ts.map +0 -1
- package/dist/runner/index.js.map +0 -1
- package/dist/task/index.d.ts.map +0 -1
- package/dist/task/index.js.map +0 -1
- package/dist/task/report.d.ts.map +0 -1
- package/dist/task/report.js.map +0 -1
- package/dist/task/runner.d.ts.map +0 -1
- package/dist/task/runner.js.map +0 -1
- package/dist/task/session.d.ts.map +0 -1
- package/dist/task/session.js.map +0 -1
- package/dist/task/tools.d.ts.map +0 -1
- package/dist/task/tools.js.map +0 -1
- package/dist/task/types.d.ts.map +0 -1
- package/dist/task/types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
package/dist/task/session.js
CHANGED
|
@@ -1,153 +1 @@
|
|
|
1
|
-
import fs from "
|
|
2
|
-
import path from "path";
|
|
3
|
-
const SESSIONS_DIR_NAME = ".slapify/tasks";
|
|
4
|
-
function getSessionsDir() {
|
|
5
|
-
return path.join(process.cwd(), SESSIONS_DIR_NAME);
|
|
6
|
-
}
|
|
7
|
-
function ensureSessionsDir() {
|
|
8
|
-
const dir = getSessionsDir();
|
|
9
|
-
if (!fs.existsSync(dir)) {
|
|
10
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
11
|
-
}
|
|
12
|
-
return dir;
|
|
13
|
-
}
|
|
14
|
-
function sessionMetaPath(sessionId) {
|
|
15
|
-
return path.join(getSessionsDir(), `${sessionId}.json`);
|
|
16
|
-
}
|
|
17
|
-
function sessionEventsPath(sessionId) {
|
|
18
|
-
return path.join(getSessionsDir(), `${sessionId}.jsonl`);
|
|
19
|
-
}
|
|
20
|
-
export function generateSessionId() {
|
|
21
|
-
const now = new Date();
|
|
22
|
-
const datePart = now.toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
23
|
-
const rand = Math.random().toString(36).slice(2, 7);
|
|
24
|
-
return `task-${datePart}-${rand}`;
|
|
25
|
-
}
|
|
26
|
-
export function createSession(goal, sessionId) {
|
|
27
|
-
ensureSessionsDir();
|
|
28
|
-
const id = sessionId || generateSessionId();
|
|
29
|
-
const now = new Date().toISOString();
|
|
30
|
-
const session = {
|
|
31
|
-
id,
|
|
32
|
-
goal,
|
|
33
|
-
status: "running",
|
|
34
|
-
createdAt: now,
|
|
35
|
-
updatedAt: now,
|
|
36
|
-
iteration: 0,
|
|
37
|
-
memory: {},
|
|
38
|
-
scheduledJobs: [],
|
|
39
|
-
};
|
|
40
|
-
saveSessionMeta(session);
|
|
41
|
-
return session;
|
|
42
|
-
}
|
|
43
|
-
export function loadSession(sessionId) {
|
|
44
|
-
const metaPath = sessionMetaPath(sessionId);
|
|
45
|
-
if (!fs.existsSync(metaPath))
|
|
46
|
-
return null;
|
|
47
|
-
try {
|
|
48
|
-
return JSON.parse(fs.readFileSync(metaPath, "utf-8"));
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
export function saveSessionMeta(session) {
|
|
55
|
-
ensureSessionsDir();
|
|
56
|
-
session.updatedAt = new Date().toISOString();
|
|
57
|
-
fs.writeFileSync(sessionMetaPath(session.id), JSON.stringify(session, null, 2));
|
|
58
|
-
}
|
|
59
|
-
export function appendEvent(sessionId, event) {
|
|
60
|
-
ensureSessionsDir();
|
|
61
|
-
const line = JSON.stringify(event) + "\n";
|
|
62
|
-
fs.appendFileSync(sessionEventsPath(sessionId), line);
|
|
63
|
-
}
|
|
64
|
-
export function loadEvents(sessionId) {
|
|
65
|
-
const eventsPath = sessionEventsPath(sessionId);
|
|
66
|
-
if (!fs.existsSync(eventsPath))
|
|
67
|
-
return [];
|
|
68
|
-
const lines = fs
|
|
69
|
-
.readFileSync(eventsPath, "utf-8")
|
|
70
|
-
.trim()
|
|
71
|
-
.split("\n")
|
|
72
|
-
.filter(Boolean);
|
|
73
|
-
return lines
|
|
74
|
-
.map((l) => {
|
|
75
|
-
try {
|
|
76
|
-
return JSON.parse(l);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
})
|
|
82
|
-
.filter(Boolean);
|
|
83
|
-
}
|
|
84
|
-
export function listSessions() {
|
|
85
|
-
const dir = getSessionsDir();
|
|
86
|
-
if (!fs.existsSync(dir))
|
|
87
|
-
return [];
|
|
88
|
-
const files = fs.readdirSync(dir).filter((f) => f.endsWith(".json"));
|
|
89
|
-
return files
|
|
90
|
-
.map((f) => {
|
|
91
|
-
try {
|
|
92
|
-
return JSON.parse(fs.readFileSync(path.join(dir, f), "utf-8"));
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
})
|
|
98
|
-
.filter(Boolean)
|
|
99
|
-
.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
|
|
100
|
-
}
|
|
101
|
-
export function updateSessionStatus(session, status) {
|
|
102
|
-
session.status = status;
|
|
103
|
-
saveSessionMeta(session);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Rebuild the LLM message history from JSONL events.
|
|
107
|
-
* Used when resuming a session.
|
|
108
|
-
*/
|
|
109
|
-
export function rebuildMessages(events) {
|
|
110
|
-
const messages = [];
|
|
111
|
-
for (const event of events) {
|
|
112
|
-
if (event.type === "session_start") {
|
|
113
|
-
messages.push({ role: "user", content: event.goal });
|
|
114
|
-
}
|
|
115
|
-
else if (event.type === "llm_response") {
|
|
116
|
-
const content = [];
|
|
117
|
-
if (event.text) {
|
|
118
|
-
content.push({ type: "text", text: event.text });
|
|
119
|
-
}
|
|
120
|
-
for (const tc of event.toolCalls) {
|
|
121
|
-
content.push({
|
|
122
|
-
type: "tool-call",
|
|
123
|
-
toolCallId: tc.toolCallId,
|
|
124
|
-
toolName: tc.toolName,
|
|
125
|
-
args: tc.args,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
if (content.length > 0) {
|
|
129
|
-
messages.push({ role: "assistant", content });
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
else if (event.type === "tool_call" || event.type === "tool_error") {
|
|
133
|
-
// Collect consecutive tool results into one tool message
|
|
134
|
-
const last = messages[messages.length - 1];
|
|
135
|
-
const resultContent = {
|
|
136
|
-
type: "tool-result",
|
|
137
|
-
toolCallId: event.toolCallId || "",
|
|
138
|
-
toolName: event.toolName,
|
|
139
|
-
result: event.type === "tool_error"
|
|
140
|
-
? `ERROR: ${event.error}`
|
|
141
|
-
: JSON.stringify(event.result),
|
|
142
|
-
};
|
|
143
|
-
if (last && last.role === "tool" && Array.isArray(last.content)) {
|
|
144
|
-
last.content.push(resultContent);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
messages.push({ role: "tool", content: [resultContent] });
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return messages;
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=session.js.map
|
|
1
|
+
import t from"fs";import e from"path";function n(){return e.join(process.cwd(),".slapify/tasks")}function o(){const e=n();return t.existsSync(e)||t.mkdirSync(e,{recursive:!0}),e}function r(t){return e.join(n(),`${t}.json`)}function s(t){return e.join(n(),`${t}.jsonl`)}export function generateSessionId(){return`task-${(new Date).toISOString().replace(/[:.]/g,"-").slice(0,19)}-${Math.random().toString(36).slice(2,7)}`}export function createSession(t,e){o();const n=e||generateSessionId(),r=(new Date).toISOString(),s={id:n,goal:t,status:"running",createdAt:r,updatedAt:r,iteration:0,memory:{},scheduledJobs:[]};return saveSessionMeta(s),s}export function loadSession(e){const n=r(e);if(!t.existsSync(n))return null;try{return JSON.parse(t.readFileSync(n,"utf-8"))}catch{return null}}export function saveSessionMeta(e){o(),e.updatedAt=(new Date).toISOString(),t.writeFileSync(r(e.id),JSON.stringify(e,null,2))}export function appendEvent(e,n){o();const r=JSON.stringify(n)+"\n";t.appendFileSync(s(e),r)}export function loadEvents(e){const n=s(e);if(!t.existsSync(n))return[];return t.readFileSync(n,"utf-8").trim().split("\n").filter(Boolean).map(t=>{try{return JSON.parse(t)}catch{return null}}).filter(Boolean)}export function listSessions(){const o=n();if(!t.existsSync(o))return[];return t.readdirSync(o).filter(t=>t.endsWith(".json")).map(n=>{try{return JSON.parse(t.readFileSync(e.join(o,n),"utf-8"))}catch{return null}}).filter(Boolean).sort((t,e)=>new Date(e.updatedAt).getTime()-new Date(t.updatedAt).getTime())}export function updateSessionStatus(t,e){t.status=e,saveSessionMeta(t)}export function rebuildMessages(t){const e=[];for(const n of t)if("session_start"===n.type)e.push({role:"user",content:n.goal});else if("llm_response"===n.type){const t=[];n.text&&t.push({type:"text",text:n.text});for(const e of n.toolCalls)t.push({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,args:e.args});t.length>0&&e.push({role:"assistant",content:t})}else if("tool_call"===n.type||"tool_error"===n.type){const t=e[e.length-1],o={type:"tool-result",toolCallId:n.toolCallId||"",toolName:n.toolName,result:"tool_error"===n.type?`ERROR: ${n.error}`:JSON.stringify(n.result)};t&&"tool"===t.role&&Array.isArray(t.content)?t.content.push(o):e.push({role:"tool",content:[o]})}return e}
|
package/dist/task/tools.d.ts
CHANGED
|
@@ -236,6 +236,18 @@ export declare const taskTools: {
|
|
|
236
236
|
}>, unknown> & {
|
|
237
237
|
execute: undefined;
|
|
238
238
|
};
|
|
239
|
+
write_output: import("ai").CoreTool<z.ZodObject<{
|
|
240
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
241
|
+
mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["append", "overwrite"]>>>;
|
|
242
|
+
}, "strip", z.ZodTypeAny, {
|
|
243
|
+
data: Record<string, unknown>;
|
|
244
|
+
mode: "append" | "overwrite";
|
|
245
|
+
}, {
|
|
246
|
+
data: Record<string, unknown>;
|
|
247
|
+
mode?: "append" | "overwrite" | undefined;
|
|
248
|
+
}>, unknown> & {
|
|
249
|
+
execute: undefined;
|
|
250
|
+
};
|
|
239
251
|
done: import("ai").CoreTool<z.ZodObject<{
|
|
240
252
|
summary: z.ZodString;
|
|
241
253
|
save_flow: z.ZodOptional<z.ZodBoolean>;
|
package/dist/task/tools.js
CHANGED
|
@@ -1,258 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
/**
|
|
4
|
-
* All tools available to the task agent.
|
|
5
|
-
* The LLM decides which tools to call and when — including scheduling,
|
|
6
|
-
* sleeping, credential injection, and signalling completion.
|
|
7
|
-
*/
|
|
8
|
-
export const taskTools = {
|
|
9
|
-
// ── Browser ──────────────────────────────────────────────────────────────
|
|
10
|
-
navigate: tool({
|
|
11
|
-
description: "Navigate the browser to a URL. Always call get_page_state() afterwards to see the result.",
|
|
12
|
-
parameters: z.object({
|
|
13
|
-
url: z.string().describe("Full URL including https://"),
|
|
14
|
-
}),
|
|
15
|
-
}),
|
|
16
|
-
get_page_state: tool({
|
|
17
|
-
description: "Get the current browser state: URL, page title, and an accessibility snapshot of all interactive elements with their ref IDs. Use ref IDs with click/type tools.",
|
|
18
|
-
parameters: z.object({}),
|
|
19
|
-
}),
|
|
20
|
-
click: tool({
|
|
21
|
-
description: "Click an element identified by its ref ID from get_page_state(). Use for buttons, links, checkboxes, etc.",
|
|
22
|
-
parameters: z.object({
|
|
23
|
-
ref: z.string().describe("The ref ID of the element to click"),
|
|
24
|
-
description: z
|
|
25
|
-
.string()
|
|
26
|
-
.optional()
|
|
27
|
-
.describe("Human-readable description of what you're clicking"),
|
|
28
|
-
}),
|
|
29
|
-
}),
|
|
30
|
-
type: tool({
|
|
31
|
-
description: "Type text into an input field identified by its ref ID. Clears the field first unless append is true.",
|
|
32
|
-
parameters: z.object({
|
|
33
|
-
ref: z.string().describe("The ref ID of the input element"),
|
|
34
|
-
text: z.string().describe("The text to type"),
|
|
35
|
-
append: z
|
|
36
|
-
.boolean()
|
|
37
|
-
.optional()
|
|
38
|
-
.describe("If true, append to existing text instead of replacing"),
|
|
39
|
-
}),
|
|
40
|
-
}),
|
|
41
|
-
press: tool({
|
|
42
|
-
description: "Press a keyboard key or key combination (e.g. Enter, Tab, Escape, Control+A, ArrowDown).",
|
|
43
|
-
parameters: z.object({
|
|
44
|
-
key: z.string().describe("Key or key combo to press"),
|
|
45
|
-
}),
|
|
46
|
-
}),
|
|
47
|
-
scroll: tool({
|
|
48
|
-
description: "Scroll the page in a direction.",
|
|
49
|
-
parameters: z.object({
|
|
50
|
-
direction: z.enum(["up", "down", "left", "right"]),
|
|
51
|
-
amount: z.number().optional().describe("Pixels to scroll (default 300)"),
|
|
52
|
-
}),
|
|
53
|
-
}),
|
|
54
|
-
wait: tool({
|
|
55
|
-
description: "Wait for a specified number of seconds. Use when waiting for page loads, animations, or time-sensitive operations.",
|
|
56
|
-
parameters: z.object({
|
|
57
|
-
seconds: z.number().min(0.1).max(60).describe("Seconds to wait"),
|
|
58
|
-
}),
|
|
59
|
-
}),
|
|
60
|
-
screenshot: tool({
|
|
61
|
-
description: "Take a screenshot of the current browser state and return a description of what is visible.",
|
|
62
|
-
parameters: z.object({
|
|
63
|
-
description: z
|
|
64
|
-
.string()
|
|
65
|
-
.optional()
|
|
66
|
-
.describe("Why you are taking this screenshot"),
|
|
67
|
-
}),
|
|
68
|
-
}),
|
|
69
|
-
reload: tool({
|
|
70
|
-
description: "Reload the current page.",
|
|
71
|
-
parameters: z.object({}),
|
|
72
|
-
}),
|
|
73
|
-
go_back: tool({
|
|
74
|
-
description: "Navigate back to the previous page.",
|
|
75
|
-
parameters: z.object({}),
|
|
76
|
-
}),
|
|
77
|
-
// ── Credentials ──────────────────────────────────────────────────────────
|
|
78
|
-
list_credential_profiles: tool({
|
|
79
|
-
description: "List all available credential profiles and their types (e.g. login-form, inject, oauth). " +
|
|
80
|
-
"Call this when you reach a login page or need to authenticate — the agent picks the right profile automatically.",
|
|
81
|
-
parameters: z.object({}),
|
|
82
|
-
}),
|
|
83
|
-
inject_credentials: tool({
|
|
84
|
-
description: "Inject a credential profile into the browser (sets cookies, localStorage, sessionStorage) and reload. " +
|
|
85
|
-
"Use for 'inject' type profiles. After injection call get_page_state() to verify login status. " +
|
|
86
|
-
"If the injected session is expired (redirected to login page), fall back to fill_login_form.",
|
|
87
|
-
parameters: z.object({
|
|
88
|
-
profile_name: z
|
|
89
|
-
.string()
|
|
90
|
-
.describe("The name of the credential profile to inject"),
|
|
91
|
-
}),
|
|
92
|
-
}),
|
|
93
|
-
fill_login_form: tool({
|
|
94
|
-
description: "Fill and submit a login form using credentials from a profile. " +
|
|
95
|
-
"Use for 'login-form' type profiles. " +
|
|
96
|
-
"After verifying login succeeded, call save_credentials(capture_from_browser: true) to save the session.",
|
|
97
|
-
parameters: z.object({
|
|
98
|
-
profile_name: z
|
|
99
|
-
.string()
|
|
100
|
-
.describe("The name of the credential profile to use"),
|
|
101
|
-
}),
|
|
102
|
-
}),
|
|
103
|
-
// ── Memory ────────────────────────────────────────────────────────────────
|
|
104
|
-
remember: tool({
|
|
105
|
-
description: "Store a piece of information in persistent memory that survives across iterations and sessions. " +
|
|
106
|
-
"Use for important findings, extracted data, or state you'll need later.",
|
|
107
|
-
parameters: z.object({
|
|
108
|
-
key: z.string().describe("Unique key for this memory"),
|
|
109
|
-
value: z
|
|
110
|
-
.string()
|
|
111
|
-
.describe("Value to store (use JSON string for structured data)"),
|
|
112
|
-
}),
|
|
113
|
-
}),
|
|
114
|
-
recall: tool({
|
|
115
|
-
description: "Retrieve a previously stored memory value by key.",
|
|
116
|
-
parameters: z.object({
|
|
117
|
-
key: z.string().describe("The memory key to retrieve"),
|
|
118
|
-
}),
|
|
119
|
-
}),
|
|
120
|
-
list_memories: tool({
|
|
121
|
-
description: "List all keys currently stored in memory.",
|
|
122
|
-
parameters: z.object({}),
|
|
123
|
-
}),
|
|
124
|
-
// ── Scheduling / Time ─────────────────────────────────────────────────────
|
|
125
|
-
schedule: tool({
|
|
126
|
-
description: "Schedule this task (or a sub-task) to run on a recurring cron schedule. " +
|
|
127
|
-
"For example: monitor every 30 minutes, check daily at 9am, etc. " +
|
|
128
|
-
"The process will stay alive and re-run the goal at each interval. " +
|
|
129
|
-
"Examples: '*/30 * * * *' every 30 min, '0 9 * * *' every day at 9am.",
|
|
130
|
-
parameters: z.object({
|
|
131
|
-
cron: z
|
|
132
|
-
.string()
|
|
133
|
-
.describe("Standard cron expression (5 fields: min hour dom month dow)"),
|
|
134
|
-
task_description: z
|
|
135
|
-
.string()
|
|
136
|
-
.describe("What to do when this schedule fires (can be same as main goal)"),
|
|
137
|
-
}),
|
|
138
|
-
}),
|
|
139
|
-
sleep_until: tool({
|
|
140
|
-
description: "Pause the agent until a specific time or after a duration, then continue. " +
|
|
141
|
-
"Use when you need to wait before doing something (e.g. 'try again in 5 minutes', 'wait until 2pm'). " +
|
|
142
|
-
"Provide an ISO datetime string or a natural phrase like '5 minutes', '1 hour', 'tomorrow 9am'.",
|
|
143
|
-
parameters: z.object({
|
|
144
|
-
until: z
|
|
145
|
-
.string()
|
|
146
|
-
.describe("ISO datetime string OR duration phrase like '5 minutes', '2 hours', 'tomorrow 9am'"),
|
|
147
|
-
reason: z.string().optional().describe("Why the agent is sleeping"),
|
|
148
|
-
}),
|
|
149
|
-
}),
|
|
150
|
-
// ── CAPTCHA ───────────────────────────────────────────────────────────────
|
|
151
|
-
solve_captcha: tool({
|
|
152
|
-
description: "Attempt to automatically solve a CAPTCHA on the current page. " +
|
|
153
|
-
"Tries: reCAPTCHA v2 checkbox click, audio challenge fallback. " +
|
|
154
|
-
"Call get_page_state() first to confirm a CAPTCHA is present. " +
|
|
155
|
-
"Returns whether it succeeded and the updated page state.",
|
|
156
|
-
parameters: z.object({
|
|
157
|
-
type: z
|
|
158
|
-
.enum(["recaptcha_v2", "image", "text", "auto"])
|
|
159
|
-
.optional()
|
|
160
|
-
.describe("CAPTCHA type hint — use 'auto' if unsure"),
|
|
161
|
-
}),
|
|
162
|
-
}),
|
|
163
|
-
// ── HTTP / Data ───────────────────────────────────────────────────────────
|
|
164
|
-
fetch_url: tool({
|
|
165
|
-
description: "Make a direct HTTP GET request and return the response text or JSON. " +
|
|
166
|
-
"Uses Chrome TLS fingerprint impersonation (wreq-js) to bypass Cloudflare and bot detection. " +
|
|
167
|
-
"Much faster than browser navigation. Try this first for any data lookup — " +
|
|
168
|
-
"public APIs for prices, weather, news, finance, etc. usually return JSON directly.",
|
|
169
|
-
parameters: z.object({
|
|
170
|
-
url: z.string().describe("URL to fetch"),
|
|
171
|
-
headers: z
|
|
172
|
-
.record(z.string())
|
|
173
|
-
.optional()
|
|
174
|
-
.describe("Optional HTTP headers as key-value pairs"),
|
|
175
|
-
}),
|
|
176
|
-
}),
|
|
177
|
-
// ── Control ───────────────────────────────────────────────────────────────
|
|
178
|
-
status_update: tool({
|
|
179
|
-
description: "Post a visible status message to the user. Use this for long-running tasks to keep " +
|
|
180
|
-
"the user informed — e.g. when starting a scheduled check, when something interesting " +
|
|
181
|
-
"is found, or when waiting before the next run. This always shows regardless of debug mode.",
|
|
182
|
-
parameters: z.object({
|
|
183
|
-
message: z.string().describe("The message to show the user"),
|
|
184
|
-
}),
|
|
185
|
-
}),
|
|
186
|
-
ask_user: tool({
|
|
187
|
-
description: "Ask the user a question and wait for their response. Use when you need information " +
|
|
188
|
-
"that is not available elsewhere — e.g. an OTP, a 2FA code, a missing password, " +
|
|
189
|
-
"a clarification about what to do next, or confirmation before a destructive action. " +
|
|
190
|
-
"The task pauses until the user replies. Returns the user's answer as a string.",
|
|
191
|
-
parameters: z.object({
|
|
192
|
-
question: z.string().describe("The question to ask the user"),
|
|
193
|
-
hint: z
|
|
194
|
-
.string()
|
|
195
|
-
.optional()
|
|
196
|
-
.describe("Optional hint shown below the question, e.g. 'Check your phone for the OTP'"),
|
|
197
|
-
}),
|
|
198
|
-
}),
|
|
199
|
-
save_credentials: tool({
|
|
200
|
-
description: "Save credentials or session cookies to the .slapify/credentials.yaml file so they can " +
|
|
201
|
-
"be reused in future sessions. Call this after successfully authenticating, or after the " +
|
|
202
|
-
"user confirms they want to save. " +
|
|
203
|
-
"Use type='inject' for cookies/localStorage/sessionStorage. " +
|
|
204
|
-
"Use type='login-form' for username+password.",
|
|
205
|
-
parameters: z.object({
|
|
206
|
-
profile_name: z
|
|
207
|
-
.string()
|
|
208
|
-
.describe("Name for this credential profile, e.g. 'linkedin', 'gmail'"),
|
|
209
|
-
type: z.enum(["inject", "login-form"]),
|
|
210
|
-
username: z
|
|
211
|
-
.string()
|
|
212
|
-
.optional()
|
|
213
|
-
.describe("Username or email (for login-form type)"),
|
|
214
|
-
password: z
|
|
215
|
-
.string()
|
|
216
|
-
.optional()
|
|
217
|
-
.describe("Password (for login-form type)"),
|
|
218
|
-
capture_from_browser: z
|
|
219
|
-
.boolean()
|
|
220
|
-
.optional()
|
|
221
|
-
.describe("If true, capture current browser cookies + localStorage + sessionStorage automatically"),
|
|
222
|
-
}),
|
|
223
|
-
}),
|
|
224
|
-
perf_audit: tool({
|
|
225
|
-
description: "Run a full performance audit on a URL. Returns: " +
|
|
226
|
-
"real-user metrics (FCP, LCP, CLS, TTFB), " +
|
|
227
|
-
"scores (Performance, Accessibility, SEO, Best Practices 0-100), " +
|
|
228
|
-
"framework detection, and re-render analysis — including simulated user interactions " +
|
|
229
|
-
"that click buttons/tabs to measure how much DOM activity each interaction triggers. " +
|
|
230
|
-
"Use when the user asks about performance, speed, scores, or page health. " +
|
|
231
|
-
"The deep audit runs in an isolated browser so the current session is not affected.",
|
|
232
|
-
parameters: z.object({
|
|
233
|
-
url: z.string().describe("URL to audit"),
|
|
234
|
-
lighthouse: z
|
|
235
|
-
.boolean()
|
|
236
|
-
.optional()
|
|
237
|
-
.default(true)
|
|
238
|
-
.describe("Run deep performance scoring (default: true)"),
|
|
239
|
-
react_scan: z
|
|
240
|
-
.boolean()
|
|
241
|
-
.optional()
|
|
242
|
-
.default(true)
|
|
243
|
-
.describe("Run framework & re-render analysis including interaction tests (default: true)"),
|
|
244
|
-
}),
|
|
245
|
-
}),
|
|
246
|
-
done: tool({
|
|
247
|
-
description: "Signal that the task is complete. Provide a clear summary of everything that was accomplished. " +
|
|
248
|
-
"If save_flow is true, the agent's action history will be saved as a .flow file.",
|
|
249
|
-
parameters: z.object({
|
|
250
|
-
summary: z.string().describe("Detailed summary of what was accomplished"),
|
|
251
|
-
save_flow: z
|
|
252
|
-
.boolean()
|
|
253
|
-
.optional()
|
|
254
|
-
.describe("If true, save the action history as a reusable .flow file"),
|
|
255
|
-
}),
|
|
256
|
-
}),
|
|
257
|
-
};
|
|
258
|
-
//# sourceMappingURL=tools.js.map
|
|
1
|
+
import{tool as e}from"ai";import{z as t}from"zod";export const taskTools={navigate:e({description:"Navigate the browser to a URL. Always call get_page_state() afterwards to see the result.",parameters:t.object({url:t.string().describe("Full URL including https://")})}),get_page_state:e({description:"Get the current browser state: URL, page title, and an accessibility snapshot of all interactive elements with their ref IDs. Use ref IDs with click/type tools.",parameters:t.object({})}),click:e({description:"Click an element identified by its ref ID from get_page_state(). Use for buttons, links, checkboxes, etc.",parameters:t.object({ref:t.string().describe("The ref ID of the element to click"),description:t.string().optional().describe("Human-readable description of what you're clicking")})}),type:e({description:"Type text into an input field identified by its ref ID. Clears the field first unless append is true.",parameters:t.object({ref:t.string().describe("The ref ID of the input element"),text:t.string().describe("The text to type"),append:t.boolean().optional().describe("If true, append to existing text instead of replacing")})}),press:e({description:"Press a keyboard key or key combination (e.g. Enter, Tab, Escape, Control+A, ArrowDown).",parameters:t.object({key:t.string().describe("Key or key combo to press")})}),scroll:e({description:"Scroll the page in a direction.",parameters:t.object({direction:t.enum(["up","down","left","right"]),amount:t.number().optional().describe("Pixels to scroll (default 300)")})}),wait:e({description:"Wait for a specified number of seconds. Use when waiting for page loads, animations, or time-sensitive operations.",parameters:t.object({seconds:t.number().min(.1).max(60).describe("Seconds to wait")})}),screenshot:e({description:"Take a screenshot of the current browser state and return a description of what is visible.",parameters:t.object({description:t.string().optional().describe("Why you are taking this screenshot")})}),reload:e({description:"Reload the current page.",parameters:t.object({})}),go_back:e({description:"Navigate back to the previous page.",parameters:t.object({})}),list_credential_profiles:e({description:"List all available credential profiles and their types (e.g. login-form, inject, oauth). Call this when you reach a login page or need to authenticate — the agent picks the right profile automatically.",parameters:t.object({})}),inject_credentials:e({description:"Inject a credential profile into the browser (sets cookies, localStorage, sessionStorage) and reload. Use for 'inject' type profiles. After injection call get_page_state() to verify login status. If the injected session is expired (redirected to login page), fall back to fill_login_form.",parameters:t.object({profile_name:t.string().describe("The name of the credential profile to inject")})}),fill_login_form:e({description:"Fill and submit a login form using credentials from a profile. Use for 'login-form' type profiles. After verifying login succeeded, call save_credentials(capture_from_browser: true) to save the session.",parameters:t.object({profile_name:t.string().describe("The name of the credential profile to use")})}),remember:e({description:"Store a piece of information in persistent memory that survives across iterations and sessions. Use for important findings, extracted data, or state you'll need later.",parameters:t.object({key:t.string().describe("Unique key for this memory"),value:t.string().describe("Value to store (use JSON string for structured data)")})}),recall:e({description:"Retrieve a previously stored memory value by key.",parameters:t.object({key:t.string().describe("The memory key to retrieve")})}),list_memories:e({description:"List all keys currently stored in memory.",parameters:t.object({})}),schedule:e({description:"Schedule this task (or a sub-task) to run on a recurring cron schedule. For example: monitor every 30 minutes, check daily at 9am, etc. The process will stay alive and re-run the goal at each interval. Examples: '*/30 * * * *' every 30 min, '0 9 * * *' every day at 9am.",parameters:t.object({cron:t.string().describe("Standard cron expression (5 fields: min hour dom month dow)"),task_description:t.string().describe("What to do when this schedule fires (can be same as main goal)")})}),sleep_until:e({description:"Pause the agent until a specific time or after a duration, then continue. Use when you need to wait before doing something (e.g. 'try again in 5 minutes', 'wait until 2pm'). Provide an ISO datetime string or a natural phrase like '5 minutes', '1 hour', 'tomorrow 9am'.",parameters:t.object({until:t.string().describe("ISO datetime string OR duration phrase like '5 minutes', '2 hours', 'tomorrow 9am'"),reason:t.string().optional().describe("Why the agent is sleeping")})}),solve_captcha:e({description:"Attempt to automatically solve a CAPTCHA on the current page. Tries: reCAPTCHA v2 checkbox click, audio challenge fallback. Call get_page_state() first to confirm a CAPTCHA is present. Returns whether it succeeded and the updated page state.",parameters:t.object({type:t.enum(["recaptcha_v2","image","text","auto"]).optional().describe("CAPTCHA type hint — use 'auto' if unsure")})}),fetch_url:e({description:"Make a direct HTTP GET request and return the response text or JSON. Uses Chrome TLS fingerprint impersonation (wreq-js) to bypass Cloudflare and bot detection. Much faster than browser navigation. Try this first for any data lookup — public APIs for prices, weather, news, finance, etc. usually return JSON directly.",parameters:t.object({url:t.string().describe("URL to fetch"),headers:t.record(t.string()).optional().describe("Optional HTTP headers as key-value pairs")})}),status_update:e({description:"Post a visible status message to the user. Use this for long-running tasks to keep the user informed — e.g. when starting a scheduled check, when something interesting is found, or when waiting before the next run. This always shows regardless of debug mode.",parameters:t.object({message:t.string().describe("The message to show the user")})}),ask_user:e({description:"Ask the user a question and wait for their response. Use when you need information that is not available elsewhere — e.g. an OTP, a 2FA code, a missing password, a clarification about what to do next, or confirmation before a destructive action. The task pauses until the user replies. Returns the user's answer as a string.",parameters:t.object({question:t.string().describe("The question to ask the user"),hint:t.string().optional().describe("Optional hint shown below the question, e.g. 'Check your phone for the OTP'")})}),save_credentials:e({description:"Save credentials or session cookies to the .slapify/credentials.yaml file so they can be reused in future sessions. Call this after successfully authenticating, or after the user confirms they want to save. Use type='inject' for cookies/localStorage/sessionStorage. Use type='login-form' for username+password.",parameters:t.object({profile_name:t.string().describe("Name for this credential profile, e.g. 'linkedin', 'gmail'"),type:t.enum(["inject","login-form"]),username:t.string().optional().describe("Username or email (for login-form type)"),password:t.string().optional().describe("Password (for login-form type)"),capture_from_browser:t.boolean().optional().describe("If true, capture current browser cookies + localStorage + sessionStorage automatically")})}),perf_audit:e({description:"Run a full performance audit on a URL. Returns: real-user metrics (FCP, LCP, CLS, TTFB), scores (Performance, Accessibility, SEO, Best Practices 0-100), framework detection, and re-render analysis — including simulated user interactions that click buttons/tabs to measure how much DOM activity each interaction triggers. Use when the user asks about performance, speed, scores, or page health. The deep audit runs in an isolated browser so the current session is not affected.",parameters:t.object({url:t.string().describe("URL to audit"),lighthouse:t.boolean().optional().default(!0).describe("Run deep performance scoring (default: true)"),react_scan:t.boolean().optional().default(!0).describe("Run framework & re-render analysis including interaction tests (default: true)")})}),write_output:e({description:"Write structured data that matches the user-provided JSON schema to the output file. Call this whenever you have new data to record — after each scheduled run, after collecting results, or at the end of a task. For array schemas (e.g. list of news items), each call APPENDS new entries. For object schemas, each call MERGES/UPDATES the existing object. This tool is a no-op if no schema or output file was provided by the user.",parameters:t.object({data:t.record(t.unknown()).describe("The structured data to write, conforming to the user-provided JSON schema"),mode:t.enum(["append","overwrite"]).optional().default("append").describe("append: add to existing file (good for recurring tasks); overwrite: replace file contents (good for single snapshots)")})}),done:e({description:"Signal that the task is complete. Provide a clear summary of everything that was accomplished. If save_flow is true, the agent's action history will be saved as a .flow file.",parameters:t.object({summary:t.string().describe("Detailed summary of what was accomplished"),save_flow:t.boolean().optional().describe("If true, save the action history as a reusable .flow file")})})};
|
package/dist/task/types.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface TaskSession {
|
|
|
17
17
|
perfAudits?: import("../perf/audit.js").PerfAuditResult[];
|
|
18
18
|
/** @deprecated use perfAudits[0] — kept for backwards compat with old reports */
|
|
19
19
|
perfAudit?: import("../perf/audit.js").PerfAuditResult;
|
|
20
|
+
/** Accumulated structured output written by the agent via write_output */
|
|
21
|
+
structuredOutput?: unknown;
|
|
20
22
|
}
|
|
21
23
|
export interface ScheduledJob {
|
|
22
24
|
id: string;
|
|
@@ -94,6 +96,18 @@ export interface TaskRunOptions {
|
|
|
94
96
|
onSessionUpdate?: (session: TaskSession) => void;
|
|
95
97
|
/** Called when the agent needs input from the user. Must resolve with the user's answer. */
|
|
96
98
|
onHumanInput?: (question: string, hint?: string) => Promise<string>;
|
|
99
|
+
/**
|
|
100
|
+
* JSON Schema the agent should use to structure its output.
|
|
101
|
+
* Injected into the system prompt; the agent uses write_output to produce
|
|
102
|
+
* conforming data at any point (e.g. after each scheduled run).
|
|
103
|
+
*/
|
|
104
|
+
schema?: Record<string, unknown>;
|
|
105
|
+
/**
|
|
106
|
+
* File path to write structured JSON output to.
|
|
107
|
+
* For recurring tasks the agent appends entries; for one-shot tasks it overwrites.
|
|
108
|
+
* If omitted, structured output is only available on the returned session object.
|
|
109
|
+
*/
|
|
110
|
+
outputFile?: string;
|
|
97
111
|
/**
|
|
98
112
|
* When true this is a scheduled sub-run spawned by a cron job.
|
|
99
113
|
* The agent must NOT call schedule() again — it would create runaway duplicates.
|
|
@@ -146,6 +160,10 @@ export type TaskEvent = {
|
|
|
146
160
|
} | {
|
|
147
161
|
type: "flow_saved";
|
|
148
162
|
path: string;
|
|
163
|
+
} | {
|
|
164
|
+
type: "output_written";
|
|
165
|
+
path: string;
|
|
166
|
+
data: unknown;
|
|
149
167
|
} | {
|
|
150
168
|
type: "error";
|
|
151
169
|
error: string;
|
package/dist/task/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
export{};
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
export{};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slapify",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"description": "AI-powered browser automation — autonomous task agent, performance auditing, and E2E test flows in plain English",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"slapify": "./bin/slapify.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
-
"dist",
|
|
12
|
+
"dist/**/*.js",
|
|
13
|
+
"dist/**/*.d.ts",
|
|
13
14
|
"bin"
|
|
14
15
|
],
|
|
15
16
|
"scripts": {
|
|
@@ -17,7 +18,8 @@
|
|
|
17
18
|
"dev": "tsc --watch",
|
|
18
19
|
"start": "node dist/index.js",
|
|
19
20
|
"lint": "tsc --noEmit",
|
|
20
|
-
"
|
|
21
|
+
"minify": "find dist -name '*.js' | xargs -P4 -I{} terser {} --compress --mangle --module -o {}",
|
|
22
|
+
"prepublishOnly": "npm run build && npm run minify"
|
|
21
23
|
},
|
|
22
24
|
"keywords": [
|
|
23
25
|
"ai",
|
|
@@ -63,6 +65,7 @@
|
|
|
63
65
|
},
|
|
64
66
|
"devDependencies": {
|
|
65
67
|
"@types/node": "^20.10.0",
|
|
68
|
+
"terser": "^5.46.0",
|
|
66
69
|
"typescript": "^5.3.0"
|
|
67
70
|
}
|
|
68
71
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/ai/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAMlC,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,GAChB,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CA2C7C;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAI7B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC9C,OAAO,CAAC,eAAe,CAAC;IAsG3B;;OAEG;IACG,eAAe,CACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAoD9B;;OAEG;IACG,aAAa,CACjB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA+ChC;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAmD9B;;;OAGG;IACG,iBAAiB,CACrB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAkCxD;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/ai/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/browser/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/browser/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,eAAe,CAAC;AAG9D,uDAAuD;AACvD,MAAM,gBAAgB,GAAG;IACvB,iCAAiC;IACjC,eAAe;IACf,wBAAwB;IACxB,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,oBAAoB;IACpB,qBAAqB;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAgB;IACtB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,SAAwB,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YACtC,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,YAAoB;QAC3C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,IAAI,CACV,OAAe,EACf,OAAiB,EAAE,EACnB,UAAkB,CAAC;QAEnB,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElE,wDAAwD;QACxD,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,GAAG,CAAC,6BAA6B,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACjE,CAAC;QAED,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC5B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC/B,GAAG;iBACJ,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAE/D,uCAAuC;gBACvC,MAAM,aAAa,GACjB,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBAC3C,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBAEjD,gFAAgF;gBAChF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9C,2DAA2D;oBAC3D,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;wBAC5B,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,mDAAmD;oBACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnC,OAAO,MAAM,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,oDAAoD;gBACpD,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;oBACzD,+CAA+C;oBAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;gBAED,SAAS,GAAG,IAAI,KAAK,CACnB,2BAA2B,WAAW,KAAK,QAAQ,EAAE,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC;YACH,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,QAAQ,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,cAAc,GAAG,KAAK,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,wEAAwE;QACxE,qEAAqE;QACrE,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAC9D,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACvB,uDAAuD;gBACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAEvD,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,IACE,UAAU;oBACV,UAAU,KAAK,aAAa;oBAC5B,UAAU,KAAK,cAAc,EAC7B,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,kDAAkD;gBAClD,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM;YACR,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,UAAU;gBACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,cAAuB,IAAI;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAIhB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE;aAC9B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAa;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAa;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,KAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,SAA2C,EAC3C,MAAe;QAEf,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,SAA0B;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,WAAoB,KAAK;QACvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,KAAa;QACzC,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,oFAAoF;QACpF,MAAM,OAAO,GAA2C,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC;QAEpD,gCAAgC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;oBACnC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,oEAAoE;QACpE,MAAM,MAAM,GAAG,qJAAqJ,CAAC;QACrK,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,iEAAiE;YACjE,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,MAAM,GAAG,2JAA2J,CAAC;QAC3K,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,iEAAiE;YACjE,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,KAAa;QAC9C,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,KAAa;QAChD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,uDAAuD;QACvD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAA6B,EAAE,CAAC;QAEzE,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;YACjC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5C,YAAY,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,EAAE,QAAQ,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO;YACL,GAAG;YACH,KAAK;YACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB,IAAI;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;oBAC3D,4CAA4C;oBAC5C,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|