@prostgles/app 2.3.6-dev.1788986038 → 2.3.6-dev.1789046358

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.
Files changed (47) hide show
  1. package/client/build/js/298.bundle.js +1 -1
  2. package/client/build/js/main.bundle.js +2 -2
  3. package/dist/common/managedTableSchema.d.ts +1 -0
  4. package/dist/common/managedTableSchema.d.ts.map +1 -1
  5. package/dist/common/managedTableSchema.js +7 -1
  6. package/dist/common/managedTableSchema.js.map +1 -1
  7. package/dist/common/mcp/ui.mcp.schema.js +1 -1
  8. package/dist/common/prostglesApiTypes.d.ts +1 -1
  9. package/dist/common/prostglesApiTypes.d.ts.map +1 -1
  10. package/dist/common/prostglesApiTypes.js +5 -5
  11. package/dist/server/package.json +2 -2
  12. package/dist/server/src/ConnectionManager/getTableAuditConfig.d.ts +1 -1
  13. package/dist/server/src/ConnectionManager/getTableAuditConfig.d.ts.map +1 -1
  14. package/dist/server/src/ConnectionManager/getTableAuditConfig.js +3 -0
  15. package/dist/server/src/ConnectionManager/getTableAuditConfig.js.map +1 -1
  16. package/dist/server/src/McpHub/DockerSandbox/createContainer.spec.js +1 -1
  17. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSetup/getAgenticWorkflowDockerCoreFiles.d.ts +1 -1
  18. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSetup/getAgenticWorkflowDockerCoreFiles.d.ts.map +1 -1
  19. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/Prostgles/agenticWorkflow/runtimeSetup/getAgenticWorkflowDockerCoreFiles.js +1 -1
  20. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/utils.js +1 -1
  21. package/dist/server/src/McpHub/ProstglesMcpHub/ProstglesMCPServers/WebDev/tools/utils.js.map +1 -1
  22. package/dist/server/src/ServiceManager/ServiceManagerTypes.d.ts +3 -3
  23. package/dist/server/src/ServiceManager/getServiceManager.d.ts +3 -3
  24. package/dist/server/src/ServiceManager/services/documents/documents.service.d.ts +2 -2
  25. package/dist/server/src/ServiceManager/services/documents/documents.service.js +2 -2
  26. package/dist/server/src/ServiceManager/services/speechToText/speechToText.service.d.ts +1 -1
  27. package/dist/server/src/ServiceManager/services/speechToText/speechToText.service.js +1 -1
  28. package/dist/server/src/ServiceManager/services/speechToText/speechToText.service.js.map +1 -1
  29. package/dist/server/src/cli/Dockerfile +1 -1
  30. package/dist/server/src/cli/cli.js +91 -22
  31. package/dist/server/src/cli/cli.js.map +1 -1
  32. package/dist/server/src/cli/cliTemplateFiles.js +9 -1
  33. package/dist/server/src/cli/cliTemplateFiles.js.map +1 -1
  34. package/dist/server/src/cli/startTemporaryDatabases.d.ts +18 -0
  35. package/dist/server/src/cli/startTemporaryDatabases.d.ts.map +1 -0
  36. package/dist/server/src/cli/startTemporaryDatabases.js +198 -0
  37. package/dist/server/src/cli/startTemporaryDatabases.js.map +1 -0
  38. package/dist/server/src/cli/testing/createTestDeployment.d.ts +2 -0
  39. package/dist/server/src/cli/testing/createTestDeployment.d.ts.map +1 -1
  40. package/dist/server/src/cli/testing/createTestDeployment.js +6 -157
  41. package/dist/server/src/cli/testing/createTestDeployment.js.map +1 -1
  42. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/buildWebApp.js +1 -1
  43. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/buildWebApp.js.map +1 -1
  44. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/runDockerForWebApp.d.ts +1 -1
  45. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/runDockerForWebApp.d.ts.map +1 -1
  46. package/dist/server/src/serverFunctions/adminServerFunctions/webApp/testWebApp.js +1 -1
  47. package/package.json +2 -2
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("tslib");
5
5
  const child_process_1 = require("child_process");
6
+ const node_crypto_1 = require("node:crypto");
7
+ const startTemporaryDatabases_1 = require("./startTemporaryDatabases");
6
8
  const dotenv_1 = require("dotenv");
7
9
  const fs_1 = require("fs");
8
10
  const path_1 = tslib_1.__importDefault(require("path"));
@@ -14,8 +16,8 @@ const usage = `Usage:
14
16
  prostgles create <directory> [--skip-install]
15
17
  prostgles upgrade [--config <directory>]
16
18
  prostgles compose init [--config <directory>]
17
- prostgles dev [--config <directory>]
18
- prostgles start [--config <directory>]`;
19
+ prostgles dev [--config <directory>] [--temp-db]
20
+ prostgles start [--config <directory>] [--temp-db]`;
19
21
  const getConfigPath = (args) => {
20
22
  const configIndex = args.indexOf("--config");
21
23
  if (configIndex === -1)
@@ -88,12 +90,11 @@ const validateEnvironmentSetup = (configPath) => {
88
90
  return environment;
89
91
  };
90
92
  const serverEntryPath = path_1.default.join(__dirname, "..", "cliServer.js");
91
- const runServer = (configPath, mode) => (0, child_process_1.spawn)(process.execPath, [serverEntryPath], {
93
+ const runServer = (configPath, mode, environment) => (0, child_process_1.spawn)(process.execPath, [serverEntryPath], {
92
94
  cwd: configPath,
93
95
  stdio: "inherit",
94
96
  env: {
95
- ...getConfigEnvironment(configPath),
96
- ...process.env,
97
+ ...environment,
97
98
  NODE_ENV: mode,
98
99
  PROSTGLES_UI_CONFIG: configPath,
99
100
  },
@@ -109,39 +110,98 @@ const watchConfig = (configPath, onChange) => {
109
110
  visit(path_1.default.join(configPath, cliTemplateFiles_1.srcFolderName));
110
111
  return () => watchers.forEach((watcher) => watcher.close());
111
112
  };
112
- const run = async (configPath, isDev) => {
113
- const environment = validateEnvironmentSetup(configPath);
113
+ const run = async (configPath, isDev, temporary) => {
114
+ const configuredEnvironment = temporary ? undefined : validateEnvironmentSetup(configPath);
115
+ const environment = configuredEnvironment ?? {
116
+ ...getConfigEnvironment(configPath),
117
+ ...process.env,
118
+ };
114
119
  (0, fs_1.mkdirSync)(path_1.default.join(configPath, cliTemplateFiles_1.generatedFolderName), { recursive: true });
115
120
  await (0, compileSchemaConfigProject_1.compileSchemaConfigProject)(configPath);
116
- await (0, ensureCliDatabases_1.ensureCliDatabases)(environment);
121
+ const shutdown = new AbortController();
122
+ const onSignal = () => shutdown.abort();
123
+ process.once("SIGINT", onSignal);
124
+ process.once("SIGTERM", onSignal);
125
+ const databases = temporary ?
126
+ await (0, startTemporaryDatabases_1.startTemporaryDatabases)({
127
+ configPath,
128
+ configId: getExistingConfigId(configPath),
129
+ logPath: path_1.default.join(configPath, ".prostgles/test-logs", `${Date.now()}-${(0, node_crypto_1.randomBytes)(4).toString("hex")}.postgres.log`),
130
+ })
131
+ : undefined;
132
+ if (databases) {
133
+ environment.PROSTGLES_STATE_DATABASE_URL = databases.state.url;
134
+ environment.PROSTGLES_DATABASE_URL = databases.project.url;
135
+ environment.PROSTGLES_UI_HOST = "127.0.0.1";
136
+ environment.PRGL_USERNAME ||= "admin";
137
+ if (!environment.PRGL_PASSWORD) {
138
+ environment.PRGL_PASSWORD = (0, node_crypto_1.randomBytes)(24).toString("base64url");
139
+ console.log(`Temporary admin login: ${environment.PRGL_USERNAME} / ${environment.PRGL_PASSWORD}`);
140
+ }
141
+ console.log("Using temporary databases. Data is deleted when this command stops.");
142
+ }
143
+ else if (configuredEnvironment) {
144
+ await (0, ensureCliDatabases_1.ensureCliDatabases)(configuredEnvironment);
145
+ }
117
146
  let server;
118
147
  let restarting = false;
148
+ let stopping = false;
149
+ const isStopping = () => stopping;
150
+ let timer;
151
+ let closeWatchers;
119
152
  const start = () => {
120
- server = runServer(configPath, isDev ? "development" : "production");
153
+ server = runServer(configPath, isDev ? "development" : "production", environment);
154
+ server.once("error", (error) => {
155
+ console.error(error);
156
+ void cleanup(1);
157
+ });
121
158
  server.once("exit", (code, signal) => {
122
- if (!restarting && (code || signal))
123
- process.exit(code || 1);
159
+ if (!restarting && !stopping)
160
+ void cleanup(code ?? (signal ? 1 : 0));
124
161
  });
125
162
  };
126
163
  const stop = async () => {
127
164
  const currentServer = server;
128
165
  server = undefined;
129
- if (!currentServer || currentServer.killed)
166
+ if (!currentServer ||
167
+ currentServer.exitCode !== null ||
168
+ currentServer.signalCode !== null ||
169
+ !currentServer.pid)
130
170
  return;
131
171
  currentServer.kill("SIGTERM");
132
172
  await new Promise((resolve) => currentServer.once("exit", resolve));
133
173
  };
134
- start();
135
- let closeWatchers = undefined;
136
- const cleanup = () => {
174
+ const cleanup = async (exitCode = 0) => {
175
+ if (isStopping())
176
+ return;
177
+ stopping = true;
178
+ if (timer)
179
+ clearTimeout(timer);
137
180
  closeWatchers?.();
138
- void stop();
181
+ try {
182
+ await stop();
183
+ }
184
+ finally {
185
+ try {
186
+ await databases?.dispose();
187
+ }
188
+ catch (error) {
189
+ console.error(error);
190
+ exitCode = 1;
191
+ }
192
+ process.exitCode = exitCode;
193
+ }
139
194
  };
140
- process.once("SIGINT", cleanup);
141
- process.once("SIGTERM", cleanup);
195
+ shutdown.signal.addEventListener("abort", () => void cleanup(), {
196
+ once: true,
197
+ });
198
+ if (shutdown.signal.aborted) {
199
+ await cleanup();
200
+ return;
201
+ }
202
+ start();
142
203
  if (!isDev)
143
204
  return;
144
- let timer;
145
205
  const rebuild = () => {
146
206
  if (timer)
147
207
  clearTimeout(timer);
@@ -149,10 +209,13 @@ const run = async (configPath, isDev) => {
149
209
  void (async () => {
150
210
  try {
151
211
  await (0, compileSchemaConfigProject_1.compileSchemaConfigProject)(configPath);
212
+ if (isStopping())
213
+ return;
152
214
  restarting = true;
153
215
  await stop();
154
216
  restarting = false;
155
- start();
217
+ if (!isStopping())
218
+ start();
156
219
  }
157
220
  catch (error) {
158
221
  console.error(error);
@@ -160,7 +223,13 @@ const run = async (configPath, isDev) => {
160
223
  })();
161
224
  }, 100);
162
225
  };
163
- closeWatchers = watchConfig(configPath, rebuild);
226
+ try {
227
+ closeWatchers = watchConfig(configPath, rebuild);
228
+ }
229
+ catch (error) {
230
+ await cleanup(1);
231
+ throw error;
232
+ }
164
233
  };
165
234
  const main = async () => {
166
235
  const [command, ...args] = process.argv.slice(2);
@@ -182,7 +251,7 @@ const main = async () => {
182
251
  return;
183
252
  }
184
253
  if (command === "dev" || command === "start") {
185
- await run(getConfigPath(args), command === "dev");
254
+ await run(getConfigPath(args), command === "dev", args.includes("--temp-db"));
186
255
  return;
187
256
  }
188
257
  throw new Error(usage);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -231,7 +231,7 @@ const getCliTemplateFiles = ({ configId, environmentDefaults, }) => ({
231
231
  PROSTGLES_DOCKER_DB_PASSWORD=${environmentDefaults?.PROSTGLES_DOCKER_DB_PASSWORD ?? (0, crypto_1.randomBytes)(24).toString("base64url")}
232
232
 
233
233
  # Optional test-only override. By default npm test builds DB.Dockerfile.
234
- # PROSTGLES_TEST_POSTGRES_IMAGE=postgis/postgis:17-3.4`,
234
+ # PROSTGLES_TEST_POSTGRES_IMAGE=postgis/postgis:17-3.6-alpine`,
235
235
  });
236
236
  const readCliAsset = (filename) => {
237
237
  const filePath = (0, path_1.join)(__dirname, filename);
@@ -541,11 +541,19 @@ const getCliAgentsFile = () => `
541
541
  - Use semantic names ending in \`*.function.ts\`, \`*.tableConfig.ts\`, \`*.tableOptions.ts\`, and \`*.tableHooks.ts\`. Examples: \`deployProject.function.ts\`, \`orders.tableConfig.ts\`, \`customers.tableOptions.ts\`, and \`users.tableHooks.ts\`.
542
542
  - The generated ESLint config enforces these suffixes inside their corresponding folders. Run \`npm run lint\` before committing.
543
543
 
544
+ ## Local development
545
+
546
+ - For disposable development or UI checks, use \`npm run dev -- --temp-db\` or \`npm start -- --temp-db\`. The CLI manages PostgreSQL using the same helper as tests; no database URLs or manual Docker commands are needed. Docker must be available.
547
+ - Each command creates fresh state and project databases, overrides database URLs from the environment, and removes its container on exit. Dev reloads keep the databases until the command stops. Use normal dev/start with configured URLs only when persistent data is required.
548
+ - PostgreSQL logs are saved under \`.prostgles/test-logs/\`; the CLI prints the exact path. Logs remain after cleanup. Inspect these logs when database setup fails instead of starting another container.
549
+
544
550
  ## Tests
545
551
 
552
+ - Do not manually start PostgreSQL containers or supply database credentials for tests. Run the existing \`npm test\` workflow directly; it provisions and cleans up its own databases. Build and lint commands do not need a database.
546
553
  - Run \`npm test\` before committing. Tests use \`@prostgles/app/testing\` to start the real app against fresh state and project databases without opening the UI.
547
554
  - Keep deployment tests in \`tests/\`. Each call to \`createTestDeployment\` uses the current app directory and its \`DB.Dockerfile\` when present, starts a disposable PostgreSQL Docker container bound only to \`127.0.0.1\`, creates fresh state and project databases, and removes the container during cleanup. Set \`PROSTGLES_TEST_POSTGRES_IMAGE\` only to override the Dockerfile.
548
555
  - \`npm test\` automatically saves each test deployment's stdout and stderr to \`.prostgles/test-logs/<timestamp>-<random>.log\` relative to the app root. Logs remain after cleanup; the exact file is returned as \`deployment.logPath\` and included in deployment startup errors. No custom logging command or output redirection is needed to capture deployment logs.
556
+ - PostgreSQL stdout and stderr are also saved to \`deployment.databaseLogPath\` (the app log path plus \`.postgres.log\`), including database startup failures. These logs remain after cleanup.
549
557
  - After a test failure, inspect the existing logs before rerunning tests or requesting custom commands. Use \`ls -t .prostgles/test-logs/\` to find recent logs, then \`tail -n 200 .prostgles/test-logs/<filename>\` or \`rg -n -i 'error|failed' .prostgles/test-logs/<filename>\`. Logs may be large; do not read an entire log unless its size is known to be small.
550
558
  - These files contain deployment output, not the npm/build/test-runner output. Check the test command's terminal output for lint, TypeScript, assertion, or Docker setup failures. Failures before the deployment starts may not create a log file.
551
559
  - If the deployment fixture blocks a valid scenario, inspect \`deployment.logPath\` and report the issue against \`@prostgles/app\`; do not weaken the app or its assertions to work around the fixture.
@@ -1 +1 @@
1
- {"version":3,"file":"cliTemplateFiles.js","sourceRoot":"","sources":["../../../../src/cli/cliTemplateFiles.ts"],"names":[],"mappings":";;;;AAAA,yCAA0C;AAC1C,mCAAqC;AAErC,8EAA6C;AAC7C,qDAAwD;AACxD,+BAA8C;AAC9C,2BAAwE;AAEjE,MAAM,oBAAoB,GAAG,CAAC,EACnC,QAAQ,EACR,UAAU,EACV,mBAAmB,GAQpB,EAAE,EAAE;IACH,eAAe,CACb,UAAU,EACV,mBAAmB,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CACvD,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,UAAU,GAIX,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3D,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACvC,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,oDAAoD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEW,QAAA,aAAa,GAAG,KAAK,CAAC;AACtB,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AACzB,QAAA,iBAAiB,GAAG;IAC/B,WAAW;IACX,cAAc;IACd,cAAc;IACd,YAAY;IACZ,kBAAkB;CACV,CAAC;AAMX,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,WAAwB,EAAE,EAAE;IACvE,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAA,cAAS,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAA,cAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,EAC3B,QAAQ,EACR,mBAAmB,GAOpB,EAAE,EAAE,CACH,CAAC;IACC,GAAG,IAAA,0BAAkB,EAAC,EAAE,QAAQ,EAAE,CAAC;IACnC,WAAW,EAAE;UACP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+JAkC6I;IAC3J,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;IACxE,eAAe,EACb,IAAI,CAAC,SAAS,CACZ;QACE,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,QAAQ;YAC1B,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,OAAO;YACf,eAAe,EAAE,IAAI;YACrB,gCAAgC,EAAE,IAAI;YACtC,aAAa,EAAE,IAAI;YACnB,wBAAwB,EAAE,IAAI;YAC9B,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,IAAI;SAC1B;QACD,OAAO,EAAE,CAAC,qBAAa,EAAE,2BAAmB,EAAE,eAAe,CAAC;QAC9D,OAAO,EAAE,CAAC,GAAG,qBAAa,kBAAkB,CAAC;KAC9C,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI;IACV,WAAW,EAAE,gBAAgB,EAAE;IAC/B,CAAC,2BAAmB,CAAC,EAAE;QACrB,sBAAsB,EACpB,wFAAwF;KAC3F;IACD,CAAC,qBAAa,CAAC,EAAE;QACf,GAAG,IAAA,6BAAW,EAAC,yBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,UAAU,EAAE;;qDAEmC,2BAAmB;;;;;;gBAMxD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;YAM5B;QACN,CAAC,kBAAkB,CAAC,EAAE;YACpB,SAAS,EAAE;gBACT,sBAAsB,EAAE;;;;;;;;;;;;;;;;;mDAiBiB;gBACzC,GAAG,EAAE;oBACH,UAAU,EAAE;;;;;;;;;+EASuD;iBACpE;aACF;SACF;QACD,mBAAmB,EAAE;;;;;;;;;;2DAUgC;KACtD;IACD,CAAC,eAAe,CAAC,EAAE;QACjB,oBAAoB,EAAE;;;;;;;;wBAQJ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;YAqBpC;KACP;IACD,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC;IAC1C,iBAAiB,EAAE;;;QAGf,2BAAmB;;YAEf,kBAAkB,SAAS;IACnC,YAAY,EAAE;;;;;YAKN;IACR,cAAc,EAAE;;;sBAGE,mBAAmB,EAAE,aAAa,IAAI,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;;;;;;uEAM1B,QAAQ;;;qCAG1C,mBAAmB,EAAE,4BAA4B,IAAI,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;;;6DAGlE;CAC1D,CAAU,CAAC;AAEd,MAAM,YAAY,GAAG,CACnB,QAAwD,EACxD,EAAE;IACF,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE,CACvE,CAAC;IACC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;IAC9C,UAAU,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC;;;;;;;;;;;2BAWlB;IACvB,cAAc,EAAE;cACN,QAAQ;;;;;;;;;;;;;;;;;;6IAkBuH,QAAQ;qEAChF,QAAQ;+DACd,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAmCxB,QAAQ;yBAC9B;IACrB,eAAe,EAAE;;;;;;YAMT;CACT,CAAU,CAAC;AAhFD,QAAA,kBAAkB,sBAgFjB;AAEd,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,6CAA6C;QACpD,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,oBAAoB;QAC5B,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,mFAAmF;KAC1F;IACD,YAAY,EAAE;QACZ,CAAC,sBAAW,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE;KAC3C;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,QAAQ;QAClB,GAAG,IAAA,0BAAQ,EAAC,sBAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC;QACrD,GAAG,IAAA,0BAAQ,EAAC,sBAAW,CAAC,eAAe,EAAE;YACvC,YAAY;YACZ,QAAQ;YACR,wBAAwB;YACxB,mBAAmB;YACnB,aAAa;SACd,CAAC;KACH;IACD,OAAO,EAAE;QACP,aAAa,EAAE;YACb,KAAK,EAAE,8BAA8B;YACrC,OAAO,EAAE,4BAA4B;SACtC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtD,8DAA8D;IAC9D,OAAO,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpD,QAAQ,WAAW,EAAE;QACvB,CAAC,CAAC,IAAI,sBAAW,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgCL,qBAAa;;;;;;;;;;WAUlB,2BAAmB;;;eAGf,kBAAkB;;;;;;;;iBAQhB,qBAAa,eAAe,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BtD,yBAAiB;KAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC;KAC/B,GAAG,CACF,CAAC,UAAU,EAAE,EAAE,CACb,uBAAuB,UAAU,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1E;KACA,IAAI,CAAC,SAAS,CAAC;KACjB,CAAC;AAUN;;;GAGG;AACH,MAAM,oBAAoB,GAAG;IAC3B,cAAc,EACZ,iGAAiG;IACnG,KAAK,EACH,6xBAA6xB;IAC/xB,UAAU,EACR,mGAAmG;IACrG,cAAc,EACZ,+FAA+F;IACjG,SAAS,EACP,oOAAoO;IACtO,EAAE,EAAE,oEAAoE;IACxE,KAAK,EACH,wlBAAwlB;IAC1lB,SAAS,EACP,wFAAwF;IAC1F,OAAO,EACL,gGAAgG;IAClG,QAAQ,EACN,2FAA2F;IAC7F,WAAW,EACT,gFAAgF;IAClF,qBAAqB,EACnB,iHAAiH;IACnH,UAAU,EACR,wLAAwL;IAC1L,eAAe,EACb,+EAA+E;IACjF,UAAU,EACR,0FAA0F;CAC9D,CAAC;AAEjC,MAAM,kBAAkB,GAAG;IACzB,gBAAgB,EACd,gFAAgF;IAClF,eAAe,EACb,wEAAwE;IAC1E,aAAa,EACX,yPAAyP;CAC/N,CAAC;AAE/B,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;MAczB,oBAAoB,CAAC,EAAE;MACvB,oBAAoB,CAAC,UAAU,IAAI,kBAAkB,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,eAAe;MAC5G,oBAAoB,CAAC,cAAc;MACnC,oBAAoB,CAAC,KAAK;MAC1B,oBAAoB,CAAC,cAAc;MACnC,oBAAoB,CAAC,eAAe;MACpC,oBAAoB,CAAC,SAAS,IAAI,oBAAoB,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8D9D,oBAAoB,CAAC,WAAW,IAAI,oBAAoB,CAAC,qBAAqB;MAC9E,oBAAoB,CAAC,UAAU;;;MAG/B,kBAAkB,CAAC,aAAa;;;MAGhC,oBAAoB,CAAC,KAAK;;;;;;;;;;MAU1B,oBAAoB,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAkB/B,oBAAoB,CAAC,SAAS;;;;;oFAKgD,CAAC"}
1
+ {"version":3,"file":"cliTemplateFiles.js","sourceRoot":"","sources":["../../../../src/cli/cliTemplateFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare const startTemporaryDatabases: ({ configPath, configId, postgresImage, startupTimeoutMs, logPath, }: {
2
+ logPath: string;
3
+ configPath: string;
4
+ configId: string;
5
+ postgresImage?: string;
6
+ startupTimeoutMs?: number;
7
+ }) => Promise<{
8
+ dispose: () => Promise<void>;
9
+ project: {
10
+ name: string;
11
+ url: string;
12
+ };
13
+ state: {
14
+ name: string;
15
+ url: string;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=startTemporaryDatabases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startTemporaryDatabases.d.ts","sourceRoot":"","sources":["../../../../src/cli/startTemporaryDatabases.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,uBAAuB,GAAU,qEAM3C;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;;;;;;;;;;EAkJA,CAAC"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startTemporaryDatabases = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_child_process_1 = require("node:child_process");
6
+ const node_crypto_1 = require("node:crypto");
7
+ const node_fs_1 = require("node:fs");
8
+ const promises_1 = require("node:fs/promises");
9
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
10
+ const pg_1 = require("pg");
11
+ const TEST_DATABASE_NAMESPACE = "prostgles_test_";
12
+ const DEFAULT_POSTGRES_IMAGE = "postgis/postgis:17-3.6-alpine";
13
+ const START_TIMEOUT_MS = 60_000;
14
+ const startTemporaryDatabases = async ({ configPath, configId, postgresImage, startupTimeoutMs, logPath, }) => {
15
+ await (0, promises_1.mkdir)(node_path_1.default.dirname(logPath), { recursive: true });
16
+ const configuredImage = postgresImage ?? process.env.PROSTGLES_TEST_POSTGRES_IMAGE;
17
+ const dbDockerfile = node_path_1.default.join(configPath, "DB.Dockerfile");
18
+ let image = configuredImage;
19
+ if (!image && (0, node_fs_1.existsSync)(dbDockerfile)) {
20
+ const imageTag = `prostgles-test-${validatePrefix(configId).replaceAll("_", "-") || "app"}-db`;
21
+ const buildArgs = [
22
+ "build",
23
+ "--quiet",
24
+ "--file",
25
+ dbDockerfile,
26
+ "--tag",
27
+ imageTag,
28
+ configPath,
29
+ ];
30
+ const buildResult = await runDocker(buildArgs);
31
+ if (buildResult.exitCode !== 0) {
32
+ throw getDockerError(buildArgs, buildResult);
33
+ }
34
+ image = imageTag;
35
+ }
36
+ image ??= DEFAULT_POSTGRES_IMAGE;
37
+ const prefix = validatePrefix(configId);
38
+ const runId = (0, node_crypto_1.randomBytes)(6).toString("hex");
39
+ const baseName = `${TEST_DATABASE_NAMESPACE}${prefix ? `${prefix}_` : ""}${runId}`;
40
+ const stateName = `${baseName}_state`;
41
+ const projectName = `${baseName}_project`;
42
+ const username = "prostgles_test";
43
+ const password = (0, node_crypto_1.randomBytes)(24).toString("base64url");
44
+ const containerName = `prostgles-test-${prefix ? `${prefix.replaceAll("_", "-")}-` : ""}${runId}`;
45
+ const runArgs = [
46
+ "run",
47
+ "--detach",
48
+ "--name",
49
+ containerName,
50
+ "--label",
51
+ "prostgles.test-deployment=true",
52
+ "--publish",
53
+ "127.0.0.1::5432",
54
+ "--env",
55
+ `POSTGRES_USER=${username}`,
56
+ "--env",
57
+ `POSTGRES_PASSWORD=${password}`,
58
+ "--env",
59
+ "POSTGRES_DB=postgres",
60
+ image,
61
+ ];
62
+ const runResult = await runDocker(runArgs);
63
+ if (runResult.exitCode !== 0)
64
+ throw getDockerError(runArgs, runResult);
65
+ const logFile = await (0, promises_1.open)(logPath, "w").catch(async (error) => {
66
+ await runDocker(["rm", "--force", containerName]);
67
+ throw error;
68
+ });
69
+ const logProcess = (0, node_child_process_1.spawn)("docker", ["logs", "--follow", containerName], {
70
+ stdio: ["ignore", logFile.fd, logFile.fd],
71
+ });
72
+ const logsClosed = new Promise((resolve) => {
73
+ logProcess.once("close", () => resolve());
74
+ });
75
+ logProcess.on("error", console.error);
76
+ await logFile.close();
77
+ console.log(`PostgreSQL log file: ${logPath}`);
78
+ const dispose = async () => {
79
+ // Stop before collecting the final logs so shutdown messages are retained.
80
+ try {
81
+ await runDocker(["stop", "--time", "5", containerName]);
82
+ logProcess.kill();
83
+ await logsClosed;
84
+ const logs = await runDocker(["logs", containerName]);
85
+ if (logs.exitCode !== 0)
86
+ throw getDockerError(["logs"], logs);
87
+ await (0, promises_1.writeFile)(logPath, logs.stdout + logs.stderr);
88
+ }
89
+ finally {
90
+ logProcess.kill();
91
+ await removeContainer(containerName);
92
+ }
93
+ };
94
+ try {
95
+ const portArgs = ["port", containerName, "5432/tcp"];
96
+ const portResult = await runDocker(portArgs);
97
+ if (portResult.exitCode !== 0)
98
+ throw getDockerError(portArgs, portResult);
99
+ const portText = portResult.stdout.trim();
100
+ if (!portText.startsWith("127.0.0.1:") || portText.includes("\n")) {
101
+ throw new Error(`Refusing a PostgreSQL test container not bound exclusively to 127.0.0.1: ${portText}`);
102
+ }
103
+ const separatorIndex = portText.lastIndexOf(":");
104
+ const port = Number(portText.slice(separatorIndex + 1));
105
+ if (!Number.isInteger(port) || port <= 0) {
106
+ throw new Error(`Docker returned an invalid PostgreSQL port: ${portText}`);
107
+ }
108
+ const maintenanceUrl = getDatabaseUrl(port, username, password, "postgres");
109
+ const startedAt = Date.now();
110
+ let lastConnectionError;
111
+ let maintenance;
112
+ while (Date.now() - startedAt < (startupTimeoutMs ?? START_TIMEOUT_MS)) {
113
+ const candidate = new pg_1.Client({ connectionString: maintenanceUrl });
114
+ try {
115
+ await candidate.connect();
116
+ maintenance = candidate;
117
+ break;
118
+ }
119
+ catch (error) {
120
+ lastConnectionError = error;
121
+ await candidate.end().catch(() => undefined);
122
+ await delay(200);
123
+ }
124
+ }
125
+ if (!maintenance) {
126
+ const logs = await runDocker(["logs", containerName]);
127
+ throw new Error(`Timed out waiting for the test PostgreSQL container.\n${logs.stdout}${logs.stderr}`, { cause: lastConnectionError });
128
+ }
129
+ try {
130
+ await maintenance.query(`CREATE DATABASE "${stateName}"`);
131
+ await maintenance.query(`CREATE DATABASE "${projectName}"`);
132
+ }
133
+ finally {
134
+ await maintenance.end();
135
+ }
136
+ return {
137
+ dispose,
138
+ project: {
139
+ name: projectName,
140
+ url: getDatabaseUrl(port, username, password, projectName),
141
+ },
142
+ state: {
143
+ name: stateName,
144
+ url: getDatabaseUrl(port, username, password, stateName),
145
+ },
146
+ };
147
+ }
148
+ catch (error) {
149
+ await dispose().catch(() => undefined);
150
+ throw new Error(`Temporary PostgreSQL setup failed. Log file: ${logPath}`, {
151
+ cause: error,
152
+ });
153
+ }
154
+ };
155
+ exports.startTemporaryDatabases = startTemporaryDatabases;
156
+ const runCommand = async (command, args) => await new Promise((resolve, reject) => {
157
+ const child = (0, node_child_process_1.spawn)(command, args, { stdio: "pipe" });
158
+ let stdout = "";
159
+ let stderr = "";
160
+ child.stdout.on("data", (chunk) => {
161
+ stdout += chunk.toString();
162
+ });
163
+ child.stderr.on("data", (chunk) => {
164
+ stderr += chunk.toString();
165
+ });
166
+ child.once("error", reject);
167
+ child.once("close", (exitCode) => {
168
+ resolve({ exitCode: exitCode ?? 1, stderr, stdout });
169
+ });
170
+ });
171
+ const runDocker = async (args) => {
172
+ const result = await runCommand("docker", args).catch((error) => {
173
+ throw new Error("Docker is required for Prostgles temporary databases. Install Docker and ensure its daemon is running.", { cause: error });
174
+ });
175
+ return result;
176
+ };
177
+ const getDockerError = (args, result) => new Error(`docker ${args[0] ?? "command"} failed with exit code ${result.exitCode}: ${result.stderr.trim() || result.stdout.trim()}`);
178
+ const validatePrefix = (configId) => configId
179
+ .toLowerCase()
180
+ .replace(/[^a-z0-9_]/g, "_")
181
+ .slice(0, 20);
182
+ const getDatabaseUrl = (port, username, password, databaseName) => {
183
+ const url = new URL("postgresql://127.0.0.1");
184
+ url.username = username;
185
+ url.password = password;
186
+ url.port = String(port);
187
+ url.pathname = `/${databaseName}`;
188
+ return url.toString();
189
+ };
190
+ const delay = async (milliseconds) => await new Promise((resolve) => setTimeout(resolve, milliseconds));
191
+ const removeContainer = async (containerName) => {
192
+ const args = ["rm", "--force", containerName];
193
+ const result = await runDocker(args);
194
+ if (result.exitCode !== 0 && !result.stderr.includes("No such container")) {
195
+ throw getDockerError(args, result);
196
+ }
197
+ };
198
+ //# sourceMappingURL=startTemporaryDatabases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startTemporaryDatabases.js","sourceRoot":"","sources":["../../../../src/cli/startTemporaryDatabases.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ export type TestDeployment<Schema = void, Functions extends ClientFunctionHandle
33
33
  projectDatabaseName: string;
34
34
  /** File containing deployment stdout and stderr. */
35
35
  logPath: string;
36
+ /** PostgreSQL output, retained after cleanup. */
37
+ databaseLogPath: string;
36
38
  connectStateAs: (userKey: string) => Promise<TestDeploymentClient<void, ClientFunctionHandler, UserLike>>;
37
39
  connectProjectAs: (userKey: string) => Promise<TestDeploymentClient<Schema, Functions, User>>;
38
40
  dispose: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"createTestDeployment.d.ts","sourceRoot":"","sources":["../../../../../src/cli/testing/createTestDeployment.ts"],"names":[],"mappings":"AAMA,OAAkB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAO5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAkTF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,kFAQC,2BAA2B,KAAG,OAAO,CACtC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAoNxC,CAAC"}
1
+ {"version":3,"file":"createTestDeployment.d.ts","sourceRoot":"","sources":["../../../../../src/cli/testing/createTestDeployment.ts"],"names":[],"mappings":"AAKA,OAAkB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAM5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAC9B;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,CACd,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAgHF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,GAAG,IAAI,EACb,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,EAC/D,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,kFAQC,2BAA2B,KAAG,OAAO,CACtC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAsNxC,CAAC"}