terse-cli 0.3.7 → 0.4.0
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/commands/auth.js +3 -3
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/authOrg.js +3 -3
- package/dist/commands/authOrg.js.map +1 -1
- package/dist/commands/authStatus.d.ts.map +1 -1
- package/dist/commands/authStatus.js +2 -3
- package/dist/commands/authStatus.js.map +1 -1
- package/dist/commands/deploy.js +1 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +2 -2
- package/dist/commands/install.js.map +1 -1
- package/dist/providers/typescript/TypeScriptProvider.js +1 -1
- package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
- package/package.json +3 -3
- package/dist/attach.d.ts +0 -3
- package/dist/attach.d.ts.map +0 -1
- package/dist/attach.js +0 -61
- package/dist/attach.js.map +0 -1
- package/dist/auth.d.ts +0 -15
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -169
- package/dist/auth.js.map +0 -1
- package/dist/codegen.d.ts +0 -120
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -811
- package/dist/codegen.js.map +0 -1
- package/dist/deploy.d.ts +0 -2
- package/dist/deploy.d.ts.map +0 -1
- package/dist/deploy.js +0 -101
- package/dist/deploy.js.map +0 -1
- package/dist/generate.d.ts +0 -2
- package/dist/generate.d.ts.map +0 -1
- package/dist/generate.js +0 -284
- package/dist/generate.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -149
- package/dist/init.js.map +0 -1
- package/dist/integrate.d.ts +0 -2
- package/dist/integrate.d.ts.map +0 -1
- package/dist/integrate.js +0 -34
- package/dist/integrate.js.map +0 -1
- package/dist/jsonOutput.d.ts +0 -19
- package/dist/jsonOutput.d.ts.map +0 -1
- package/dist/jsonOutput.js +0 -25
- package/dist/jsonOutput.js.map +0 -1
- package/dist/nonInteractive.d.ts +0 -18
- package/dist/nonInteractive.d.ts.map +0 -1
- package/dist/nonInteractive.js +0 -57
- package/dist/nonInteractive.js.map +0 -1
- package/dist/providers/python/PythonProvider.d.ts +0 -51
- package/dist/providers/python/PythonProvider.d.ts.map +0 -1
- package/dist/providers/python/PythonProvider.js +0 -413
- package/dist/providers/python/PythonProvider.js.map +0 -1
- package/dist/providers/python/preparePythonCodegenData.d.ts +0 -139
- package/dist/providers/python/preparePythonCodegenData.d.ts.map +0 -1
- package/dist/providers/python/preparePythonCodegenData.js +0 -452
- package/dist/providers/python/preparePythonCodegenData.js.map +0 -1
- package/dist/providers/python/pythonTemplateEngine.d.ts +0 -3
- package/dist/providers/python/pythonTemplateEngine.d.ts.map +0 -1
- package/dist/providers/python/pythonTemplateEngine.js +0 -30
- package/dist/providers/python/pythonTemplateEngine.js.map +0 -1
- package/dist/providers/shared/shellUtils.d.ts +0 -2
- package/dist/providers/shared/shellUtils.d.ts.map +0 -1
- package/dist/providers/shared/shellUtils.js +0 -25
- package/dist/providers/shared/shellUtils.js.map +0 -1
- package/dist/providers/typescript/parkSignals.d.ts +0 -7
- package/dist/providers/typescript/parkSignals.d.ts.map +0 -1
- package/dist/providers/typescript/parkSignals.js +0 -45
- package/dist/providers/typescript/parkSignals.js.map +0 -1
- package/dist/providers/typescript/prepareCodegenData.d.ts +0 -166
- package/dist/providers/typescript/prepareCodegenData.d.ts.map +0 -1
- package/dist/providers/typescript/prepareCodegenData.js +0 -1431
- package/dist/providers/typescript/prepareCodegenData.js.map +0 -1
- package/dist/replay.d.ts +0 -3
- package/dist/replay.d.ts.map +0 -1
- package/dist/replay.js +0 -20
- package/dist/replay.js.map +0 -1
- package/dist/run.d.ts +0 -12
- package/dist/run.d.ts.map +0 -1
- package/dist/run.js +0 -183
- package/dist/run.js.map +0 -1
- package/dist/sampleEventCache.d.ts +0 -9
- package/dist/sampleEventCache.d.ts.map +0 -1
- package/dist/sampleEventCache.js +0 -47
- package/dist/sampleEventCache.js.map +0 -1
- package/dist/sampleEventId.d.ts +0 -13
- package/dist/sampleEventId.d.ts.map +0 -1
- package/dist/sampleEventId.js +0 -20
- package/dist/sampleEventId.js.map +0 -1
- package/dist/shared/ApiRoutes.d.ts +0 -329
- package/dist/shared/ApiRoutes.d.ts.map +0 -1
- package/dist/shared/ApiRoutes.js +0 -309
- package/dist/shared/ApiRoutes.js.map +0 -1
- package/dist/shared/ApprovalTypes.d.ts +0 -29
- package/dist/shared/ApprovalTypes.d.ts.map +0 -1
- package/dist/shared/ApprovalTypes.js +0 -8
- package/dist/shared/ApprovalTypes.js.map +0 -1
- package/dist/shared/ClientBoundTools.d.ts +0 -37
- package/dist/shared/ClientBoundTools.d.ts.map +0 -1
- package/dist/shared/ClientBoundTools.js +0 -37
- package/dist/shared/ClientBoundTools.js.map +0 -1
- package/dist/shared/Configs.d.ts +0 -466
- package/dist/shared/Configs.d.ts.map +0 -1
- package/dist/shared/Configs.js +0 -755
- package/dist/shared/Configs.js.map +0 -1
- package/dist/shared/DonatedState.d.ts +0 -5
- package/dist/shared/DonatedState.d.ts.map +0 -1
- package/dist/shared/DonatedState.js +0 -13
- package/dist/shared/DonatedState.js.map +0 -1
- package/dist/shared/Entities.d.ts +0 -8
- package/dist/shared/Entities.d.ts.map +0 -1
- package/dist/shared/Entities.js +0 -9
- package/dist/shared/Entities.js.map +0 -1
- package/dist/shared/FrontendRoutes.d.ts +0 -54
- package/dist/shared/FrontendRoutes.d.ts.map +0 -1
- package/dist/shared/FrontendRoutes.js +0 -54
- package/dist/shared/FrontendRoutes.js.map +0 -1
- package/dist/shared/Integrations.d.ts +0 -218
- package/dist/shared/Integrations.d.ts.map +0 -1
- package/dist/shared/Integrations.js +0 -134
- package/dist/shared/Integrations.js.map +0 -1
- package/dist/shared/InvalidationKeys.d.ts +0 -52
- package/dist/shared/InvalidationKeys.d.ts.map +0 -1
- package/dist/shared/InvalidationKeys.js +0 -163
- package/dist/shared/InvalidationKeys.js.map +0 -1
- package/dist/shared/ModelEvents.d.ts +0 -167
- package/dist/shared/ModelEvents.d.ts.map +0 -1
- package/dist/shared/ModelEvents.js +0 -14
- package/dist/shared/ModelEvents.js.map +0 -1
- package/dist/shared/Notifications.d.ts +0 -43
- package/dist/shared/Notifications.d.ts.map +0 -1
- package/dist/shared/Notifications.js +0 -6
- package/dist/shared/Notifications.js.map +0 -1
- package/dist/shared/RunHistoryTypes.d.ts +0 -95
- package/dist/shared/RunHistoryTypes.d.ts.map +0 -1
- package/dist/shared/RunHistoryTypes.js +0 -11
- package/dist/shared/RunHistoryTypes.js.map +0 -1
- package/dist/shared/SentNotifications.d.ts +0 -30
- package/dist/shared/SentNotifications.d.ts.map +0 -1
- package/dist/shared/SentNotifications.js +0 -13
- package/dist/shared/SentNotifications.js.map +0 -1
- package/dist/shared/SocketEvents.d.ts +0 -49
- package/dist/shared/SocketEvents.d.ts.map +0 -1
- package/dist/shared/SocketEvents.js +0 -53
- package/dist/shared/SocketEvents.js.map +0 -1
- package/dist/shared/Survey.d.ts +0 -10
- package/dist/shared/Survey.d.ts.map +0 -1
- package/dist/shared/Survey.js +0 -2
- package/dist/shared/Survey.js.map +0 -1
- package/dist/shared/TicketSystem.d.ts +0 -154
- package/dist/shared/TicketSystem.d.ts.map +0 -1
- package/dist/shared/TicketSystem.js +0 -21
- package/dist/shared/TicketSystem.js.map +0 -1
- package/dist/shared/ToolDisplayUtils.d.ts +0 -30
- package/dist/shared/ToolDisplayUtils.d.ts.map +0 -1
- package/dist/shared/ToolDisplayUtils.js +0 -1067
- package/dist/shared/ToolDisplayUtils.js.map +0 -1
- package/dist/shared/ToolsTypes.d.ts +0 -18
- package/dist/shared/ToolsTypes.d.ts.map +0 -1
- package/dist/shared/ToolsTypes.js +0 -2
- package/dist/shared/ToolsTypes.js.map +0 -1
- package/dist/shared/types.d.ts +0 -827
- package/dist/shared/types.d.ts.map +0 -1
- package/dist/shared/types.js +0 -17
- package/dist/shared/types.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -62
- package/dist/test.js.map +0 -1
- package/dist/testRelay.d.ts +0 -6
- package/dist/testRelay.d.ts.map +0 -1
- package/dist/testRelay.js +0 -91
- package/dist/testRelay.js.map +0 -1
- package/dist/urls.d.ts +0 -3
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.js +0 -27
- package/dist/urls.js.map +0 -1
- package/dist/util.d.ts +0 -4
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -5
- package/dist/util.js.map +0 -1
package/dist/init.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { exec, execSync } from "node:child_process";
|
|
4
|
-
import { promisify } from "node:util";
|
|
5
|
-
import { fileURLToPath } from "node:url";
|
|
6
|
-
import ora from "ora";
|
|
7
|
-
import chalk from "chalk";
|
|
8
|
-
import { input } from "@inquirer/prompts";
|
|
9
|
-
import { generate } from "./generate.js";
|
|
10
|
-
import { FRONTEND_URL, BACKEND_URL } from "./config.js";
|
|
11
|
-
const execAsync = promisify(exec);
|
|
12
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
-
const __dirname = path.dirname(__filename);
|
|
14
|
-
export async function init(projectName) {
|
|
15
|
-
const targetDir = projectName ? path.resolve(process.cwd(), projectName) : process.cwd();
|
|
16
|
-
const resolvedName = projectName ?? path.basename(process.cwd());
|
|
17
|
-
console.log(`\n Creating Terse project ${chalk.bold(resolvedName)}\n`);
|
|
18
|
-
// Create target directory if it doesn't exist
|
|
19
|
-
if (projectName) {
|
|
20
|
-
if (fs.existsSync(targetDir)) {
|
|
21
|
-
console.error(chalk.red(`Error: Directory "${projectName}" already exists.`));
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
fs.mkdirSync(targetDir, { recursive: true });
|
|
25
|
-
}
|
|
26
|
-
// Create src directory
|
|
27
|
-
fs.mkdirSync(path.join(targetDir, "src"), { recursive: true });
|
|
28
|
-
const templatesDir = getTemplatesDir();
|
|
29
|
-
const replacements = { PROJECT_NAME: resolvedName };
|
|
30
|
-
// Write files from templates
|
|
31
|
-
const files = [
|
|
32
|
-
{ template: "package.json.tmpl", output: "package.json" },
|
|
33
|
-
{ template: "tsconfig.json.tmpl", output: "tsconfig.json" },
|
|
34
|
-
{ template: "src/index.ts.tmpl", output: "src/index.ts" },
|
|
35
|
-
{ template: "env.example.tmpl", output: ".env.example" },
|
|
36
|
-
{ template: "gitignore.tmpl", output: ".gitignore" },
|
|
37
|
-
];
|
|
38
|
-
for (const file of files) {
|
|
39
|
-
const content = readTemplate(templatesDir, file.template);
|
|
40
|
-
const rendered = applyReplacements(content, replacements);
|
|
41
|
-
const outputPath = path.join(targetDir, file.output);
|
|
42
|
-
fs.writeFileSync(outputPath, rendered);
|
|
43
|
-
console.log(` ${chalk.green("+")} ${file.output}`);
|
|
44
|
-
}
|
|
45
|
-
// Install dependencies
|
|
46
|
-
const pm = detectPackageManager();
|
|
47
|
-
const spinner = ora(`Installing dependencies with ${pm}`).start();
|
|
48
|
-
try {
|
|
49
|
-
await execAsync(`${pm} install`, { cwd: targetDir });
|
|
50
|
-
spinner.succeed(`Dependencies installed with ${pm}`);
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
spinner.warn(`Failed to install dependencies. Run ${chalk.cyan(`${pm} install`)} manually.`);
|
|
54
|
-
}
|
|
55
|
-
// Prompt for API key and write .env
|
|
56
|
-
await promptForApiKey(targetDir);
|
|
57
|
-
const envExists = fs.existsSync(path.join(targetDir, ".env"));
|
|
58
|
-
try {
|
|
59
|
-
await generate();
|
|
60
|
-
spinner.succeed(`Generated code`);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
spinner.warn(`Failed to generate code. Run ${chalk.cyan(`$terse generate`)} manually.`);
|
|
64
|
-
}
|
|
65
|
-
console.log(`\n ${chalk.green.bold("Done!")} Your Terse project is ready.\n`);
|
|
66
|
-
console.log(" Next steps:\n");
|
|
67
|
-
let step = 1;
|
|
68
|
-
if (projectName) {
|
|
69
|
-
console.log(` ${step}. cd ${projectName}`);
|
|
70
|
-
step++;
|
|
71
|
-
}
|
|
72
|
-
if (!envExists) {
|
|
73
|
-
console.log(` ${step}. Copy .env.example to .env and add your TERSE_API_KEY`);
|
|
74
|
-
step++;
|
|
75
|
-
}
|
|
76
|
-
console.log(` ${step}. Edit src/index.ts to define your job`);
|
|
77
|
-
step++;
|
|
78
|
-
console.log(` ${step}. ${pm} run build Build the project`);
|
|
79
|
-
step++;
|
|
80
|
-
console.log(` ${step}. ${pm} run dev Run in development mode\n`);
|
|
81
|
-
}
|
|
82
|
-
async function promptForApiKey(targetDir) {
|
|
83
|
-
console.log(`\n Create an API key at: ${chalk.cyan(`${FRONTEND_URL}/app/profile?tab=api-tokens`)}\n`);
|
|
84
|
-
try {
|
|
85
|
-
const key = (await input({ message: "Paste your API key (or press Enter to skip):" })).trim();
|
|
86
|
-
if (!key) {
|
|
87
|
-
fs.writeFileSync(path.join(targetDir, ".env"), "TERSE_API_KEY=\n");
|
|
88
|
-
console.log(chalk.dim(" Skipped — you can add TERSE_API_KEY to .env later."));
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
// Validate the key against the backend
|
|
92
|
-
const spinner = ora("Verifying API key").start();
|
|
93
|
-
try {
|
|
94
|
-
const res = await fetch(`${BACKEND_URL}/sdk/me`, {
|
|
95
|
-
headers: { Authorization: `Bearer ${key}` },
|
|
96
|
-
});
|
|
97
|
-
if (res.ok) {
|
|
98
|
-
const data = await res.json();
|
|
99
|
-
const name = data.firstName || data.displayName || data.email || "there";
|
|
100
|
-
spinner.succeed(`Hello, ${name}! API key verified.`);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
spinner.warn("Could not verify API key (invalid or server error). Saving it anyway.");
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
spinner.warn("Could not reach the server to verify your API key. Saving it anyway.");
|
|
108
|
-
}
|
|
109
|
-
fs.writeFileSync(path.join(targetDir, ".env"), `TERSE_API_KEY=${key}\n`);
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
if (error instanceof Error && error.name === "ExitPromptError") {
|
|
113
|
-
console.log("\n");
|
|
114
|
-
process.exit(0);
|
|
115
|
-
}
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
function getTemplatesDir() {
|
|
120
|
-
// In dist/, templates are at ../templates relative to the compiled file
|
|
121
|
-
const fromDist = path.resolve(__dirname, "..", "templates");
|
|
122
|
-
if (fs.existsSync(fromDist))
|
|
123
|
-
return fromDist;
|
|
124
|
-
// Fallback for development
|
|
125
|
-
const fromSrc = path.resolve(__dirname, "..", "..", "templates");
|
|
126
|
-
if (fs.existsSync(fromSrc))
|
|
127
|
-
return fromSrc;
|
|
128
|
-
throw new Error("Could not find templates directory");
|
|
129
|
-
}
|
|
130
|
-
function readTemplate(templatesDir, templatePath) {
|
|
131
|
-
return fs.readFileSync(path.join(templatesDir, templatePath), "utf-8");
|
|
132
|
-
}
|
|
133
|
-
function applyReplacements(content, replacements) {
|
|
134
|
-
let result = content;
|
|
135
|
-
for (const [token, value] of Object.entries(replacements)) {
|
|
136
|
-
result = result.replaceAll(`{{${token}}}`, value);
|
|
137
|
-
}
|
|
138
|
-
return result;
|
|
139
|
-
}
|
|
140
|
-
function detectPackageManager() {
|
|
141
|
-
try {
|
|
142
|
-
execSync("pnpm --version", { stdio: "ignore" });
|
|
143
|
-
return "pnpm";
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
return "npm";
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/integrate.d.ts
DELETED
package/dist/integrate.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../src/integrate.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAa/C"}
|
package/dist/integrate.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import chalk from "chalk";
|
|
3
|
-
import { FRONTEND_URL } from "./config.js";
|
|
4
|
-
const INTEGRATIONS_URL = `${FRONTEND_URL}/app/integrations`;
|
|
5
|
-
export async function integrate() {
|
|
6
|
-
console.log("");
|
|
7
|
-
console.log(` Open integrations in the Web UI: ${chalk.cyan(INTEGRATIONS_URL)}`);
|
|
8
|
-
console.log("");
|
|
9
|
-
const opened = openInBrowser(INTEGRATIONS_URL);
|
|
10
|
-
if (opened) {
|
|
11
|
-
console.log(chalk.green(" Opened in your default browser."));
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
console.log(chalk.yellow(" Could not open browser automatically."));
|
|
15
|
-
console.log(` Open manually: ${chalk.cyan(INTEGRATIONS_URL)}`);
|
|
16
|
-
}
|
|
17
|
-
function openInBrowser(url) {
|
|
18
|
-
try {
|
|
19
|
-
if (process.platform === "darwin") {
|
|
20
|
-
spawn("open", [url], { detached: true, stdio: "ignore" }).unref();
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
if (process.platform === "win32") {
|
|
24
|
-
spawn("cmd", ["/c", "start", "", url], { detached: true, stdio: "ignore" }).unref();
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
spawn("xdg-open", [url], { detached: true, stdio: "ignore" }).unref();
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=integrate.js.map
|
package/dist/integrate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../src/integrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,MAAM,gBAAgB,GAAG,GAAG,YAAY,mBAAmB,CAAA;AAE3D,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAC9C,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAA;QAC7D,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAA;IACpE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAC9B,IAAI,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;YACjE,OAAO,IAAI,CAAA;QACf,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;YACnF,OAAO,IAAI,CAAA;QACf,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QACrE,OAAO,IAAI,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC"}
|
package/dist/jsonOutput.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Ora } from "ora";
|
|
2
|
-
export type JsonErrorPayload = {
|
|
3
|
-
error: {
|
|
4
|
-
code: string;
|
|
5
|
-
message: string;
|
|
6
|
-
[key: string]: unknown;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
export declare function emitJsonError(code: string, message: string, details?: Record<string, unknown>): void;
|
|
10
|
-
export declare function bailJsonError(code: string, message: string, details?: Record<string, unknown>, exitCode?: number): never;
|
|
11
|
-
export type GuardOptions = {
|
|
12
|
-
spinner?: Ora | null;
|
|
13
|
-
json?: boolean;
|
|
14
|
-
failMessage: string;
|
|
15
|
-
code: string;
|
|
16
|
-
details?: Record<string, unknown>;
|
|
17
|
-
};
|
|
18
|
-
export declare function withJsonError<T>(fn: () => Promise<T>, opts: GuardOptions): Promise<T>;
|
|
19
|
-
//# sourceMappingURL=jsonOutput.d.ts.map
|
package/dist/jsonOutput.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonOutput.d.ts","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACzB,CAAA;CACJ,CAAA;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAGxG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,KAAK,CAG/H;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAKD,wBAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAU3F"}
|
package/dist/jsonOutput.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
export function emitJsonError(code, message, details = {}) {
|
|
3
|
-
const payload = { error: { code, message, ...details } };
|
|
4
|
-
process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
|
|
5
|
-
}
|
|
6
|
-
export function bailJsonError(code, message, details = {}, exitCode = 1) {
|
|
7
|
-
emitJsonError(code, message, details);
|
|
8
|
-
process.exit(exitCode);
|
|
9
|
-
}
|
|
10
|
-
// Wraps an async call so that failures (a) stop the spinner with a red label in TTY mode,
|
|
11
|
-
// (b) emit a structured JSON error and exit 1 in --json mode, and (c) re-throw otherwise so
|
|
12
|
-
// the top-level error handler can surface the trace.
|
|
13
|
-
export async function withJsonError(fn, opts) {
|
|
14
|
-
try {
|
|
15
|
-
return await fn();
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
opts.spinner?.fail(chalk.red(opts.failMessage));
|
|
19
|
-
if (opts.json) {
|
|
20
|
-
bailJsonError(opts.code, error instanceof Error ? error.message : String(error), opts.details);
|
|
21
|
-
}
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=jsonOutput.js.map
|
package/dist/jsonOutput.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonOutput.js","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE;IAC9F,MAAM,OAAO,GAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAA;IAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,EAAE,WAAmB,CAAC;IACpH,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC1B,CAAC;AAUD,0FAA0F;AAC1F,4FAA4F;AAC5F,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,EAAoB,EAAE,IAAkB;IAC3E,IAAI,CAAC;QACD,OAAO,MAAM,EAAE,EAAE,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
|
package/dist/nonInteractive.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type NonInteractiveOpts = {
|
|
2
|
-
yes?: boolean;
|
|
3
|
-
nonInteractive?: boolean;
|
|
4
|
-
};
|
|
5
|
-
/**
|
|
6
|
-
* True when the CLI should avoid any interactive prompt. Honors the explicit
|
|
7
|
-
* flag first, falls back to TTY detection so subprocess / piped invocations
|
|
8
|
-
* behave non-interactively without the caller needing to pass `--yes`.
|
|
9
|
-
*/
|
|
10
|
-
export declare function isNonInteractive(opts?: NonInteractiveOpts): boolean;
|
|
11
|
-
export declare function parseKeyValueFlags(values: string[] | undefined): Record<string, string>;
|
|
12
|
-
/**
|
|
13
|
-
* Read a JSON object from stdin and return it as a string map. Used by
|
|
14
|
-
* `terse integrate connect --fields-stdin` so passwords and tokens never touch
|
|
15
|
-
* argv.
|
|
16
|
-
*/
|
|
17
|
-
export declare function readFieldsFromStdin(): Promise<Record<string, string>>;
|
|
18
|
-
//# sourceMappingURL=nonInteractive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nonInteractive.d.ts","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAGnE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6B3E"}
|
package/dist/nonInteractive.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { CliError } from "./cliError.js";
|
|
2
|
-
/**
|
|
3
|
-
* True when the CLI should avoid any interactive prompt. Honors the explicit
|
|
4
|
-
* flag first, falls back to TTY detection so subprocess / piped invocations
|
|
5
|
-
* behave non-interactively without the caller needing to pass `--yes`.
|
|
6
|
-
*/
|
|
7
|
-
export function isNonInteractive(opts) {
|
|
8
|
-
if (opts?.yes || opts?.nonInteractive)
|
|
9
|
-
return true;
|
|
10
|
-
return !process.stdin.isTTY || !process.stdout.isTTY;
|
|
11
|
-
}
|
|
12
|
-
export function parseKeyValueFlags(values) {
|
|
13
|
-
const out = {};
|
|
14
|
-
for (const raw of values ?? []) {
|
|
15
|
-
const eq = raw.indexOf("=");
|
|
16
|
-
if (eq <= 0) {
|
|
17
|
-
throw new CliError("invalid_field", `Invalid --field value "${raw}"`, { detail: "Expected key=value" });
|
|
18
|
-
}
|
|
19
|
-
out[raw.slice(0, eq)] = raw.slice(eq + 1);
|
|
20
|
-
}
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Read a JSON object from stdin and return it as a string map. Used by
|
|
25
|
-
* `terse integrate connect --fields-stdin` so passwords and tokens never touch
|
|
26
|
-
* argv.
|
|
27
|
-
*/
|
|
28
|
-
export async function readFieldsFromStdin() {
|
|
29
|
-
const chunks = [];
|
|
30
|
-
for await (const chunk of process.stdin) {
|
|
31
|
-
chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
|
|
32
|
-
}
|
|
33
|
-
const raw = Buffer.concat(chunks).toString("utf-8").trim();
|
|
34
|
-
if (!raw)
|
|
35
|
-
return {};
|
|
36
|
-
let parsed;
|
|
37
|
-
try {
|
|
38
|
-
parsed = JSON.parse(raw);
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
throw new CliError("invalid_fields_stdin", "Could not parse JSON from stdin", {
|
|
42
|
-
detail: err instanceof Error ? err.message : String(err)
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
46
|
-
throw new CliError("invalid_fields_stdin", "Expected a JSON object on stdin", { detail: 'Example: {"password":"..."}' });
|
|
47
|
-
}
|
|
48
|
-
const out = {};
|
|
49
|
-
for (const [k, v] of Object.entries(parsed)) {
|
|
50
|
-
if (typeof v !== "string") {
|
|
51
|
-
throw new CliError("invalid_fields_stdin", `Field "${k}" must be a string`);
|
|
52
|
-
}
|
|
53
|
-
out[k] = v;
|
|
54
|
-
}
|
|
55
|
-
return out;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=nonInteractive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nonInteractive.js","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACtD,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,cAAc;QAAE,OAAO,IAAI,CAAA;IAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA4B;IAC3D,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAC3G,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE;YAC1E,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3D,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAC/E,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { CreateJobParameters } from "terse-sdk";
|
|
2
|
-
import type { SerializedEvent } from "terse-types";
|
|
3
|
-
import type { LanguageProvider } from "../LanguageProvider.js";
|
|
4
|
-
import type { CodegenInput } from "../codegenTypes.js";
|
|
5
|
-
export declare class PythonProvider implements LanguageProvider {
|
|
6
|
-
readonly language: "python";
|
|
7
|
-
readonly displayName = "Python";
|
|
8
|
-
readonly detectionMarkers: {
|
|
9
|
-
requiredFiles: string[];
|
|
10
|
-
description: string;
|
|
11
|
-
};
|
|
12
|
-
readonly projectMarkers: {
|
|
13
|
-
requiredFiles: string[];
|
|
14
|
-
description: string;
|
|
15
|
-
};
|
|
16
|
-
readonly entryFile = "src/main.py";
|
|
17
|
-
readonly generatedCodePath = "src/terse_generated.py";
|
|
18
|
-
readonly deployExclusions: {
|
|
19
|
-
dirs: Set<string>;
|
|
20
|
-
files: Set<string>;
|
|
21
|
-
};
|
|
22
|
-
scaffoldFiles(): Array<{
|
|
23
|
-
template: string;
|
|
24
|
-
output: string;
|
|
25
|
-
}>;
|
|
26
|
-
buildInitTemplateContext(projectName: string, sdkVersion: string): Record<string, unknown>;
|
|
27
|
-
getPostInitSteps(_packageManager: string): string[];
|
|
28
|
-
detectPackageManager(): string;
|
|
29
|
-
installDependencies(targetDir: string): Promise<void>;
|
|
30
|
-
resolveGeneratedCodePath(cwd: string): string;
|
|
31
|
-
renderGeneratedCode(input: CodegenInput): string;
|
|
32
|
-
loadJobRegistry(entryFile?: string): Promise<Map<string, CreateJobParameters>>;
|
|
33
|
-
executeJob(job: CreateJobParameters, runId: string | null, event: SerializedEvent, opts?: {
|
|
34
|
-
verbose?: boolean;
|
|
35
|
-
entryFile?: string;
|
|
36
|
-
}): Promise<void>;
|
|
37
|
-
protected buildPythonEnv(cwd: string): NodeJS.ProcessEnv;
|
|
38
|
-
protected execUvCommand(args: string[], opts: {
|
|
39
|
-
cwd: string;
|
|
40
|
-
env?: NodeJS.ProcessEnv;
|
|
41
|
-
}): Promise<{
|
|
42
|
-
stdout: string;
|
|
43
|
-
stderr: string;
|
|
44
|
-
}>;
|
|
45
|
-
protected withTempPythonScript<T>(source: string, fn: (scriptPath: string) => Promise<T>): Promise<T>;
|
|
46
|
-
protected ensureUvAvailable(cwd: string): Promise<void>;
|
|
47
|
-
protected buildLoadRegistryScript(entryFile: string): string;
|
|
48
|
-
protected buildExecuteJobScript(entryFile: string): string;
|
|
49
|
-
}
|
|
50
|
-
export declare const pythonProvider: PythonProvider;
|
|
51
|
-
//# sourceMappingURL=PythonProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PythonProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/python/PythonProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,WAAW,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA+BtD,qBAAa,cAAe,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAS;IACrC,QAAQ,CAAC,WAAW,YAAW;IAC/B,QAAQ,CAAC,gBAAgB;;;MAGxB;IACD,QAAQ,CAAC,cAAc;;;MAGtB;IACD,QAAQ,CAAC,SAAS,iBAAgB;IAClC,QAAQ,CAAC,iBAAiB,4BAA2B;IACrD,QAAQ,CAAC,gBAAgB;;;MAGxB;IAED,aAAa,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5D,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO1F,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD,oBAAoB,IAAI,MAAM;IAIxB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI7C,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAM1C,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IA+C9E,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCzJ,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU;cAexC,aAAa,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAC1B,GACF,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;cAI9B,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;cAI3F,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5D,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAG7D;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
|