@auto-engineer/cli 0.9.9 → 0.9.10
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/CHANGELOG.md +9 -0
- package/dist/src/dsl/index.d.ts +2 -2
- package/dist/src/dsl/index.d.ts.map +1 -1
- package/dist/src/dsl/index.js.map +1 -1
- package/dist/src/dsl/types.d.ts +0 -20
- package/dist/src/dsl/types.d.ts.map +1 -1
- package/dist/src/dsl-exports.js +1 -1
- package/dist/src/index.js +8 -8
- package/dist/src/server/config-loader.js +2 -2
- package/dist/src/server/file-syncer/discovery/dts.js +1 -1
- package/dist/src/server/file-syncer/index.js +4 -4
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.d.ts.map +1 -1
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js +31 -21
- package/dist/src/server/file-syncer/sync/resolveSyncFileSet.js.map +1 -1
- package/dist/src/server/sandbox-landing-page.html +342 -0
- package/dist/src/server/server.js +6 -6
- package/dist/src/utils/analytics.js +1 -1
- package/dist/src/utils/config.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -6
package/CHANGELOG.md
CHANGED
package/dist/src/dsl/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Command, Event } from '@auto-engineer/message-bus';
|
|
2
|
-
import type { EventRegistration, DispatchAction, FoldRegistration, DslRegistration, ConfigDefinition, SettledRegistration
|
|
2
|
+
import type { EventRegistration, DispatchAction, FoldRegistration, DslRegistration, ConfigDefinition, SettledRegistration } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Register an event handler that will execute when the specified event occurs
|
|
5
5
|
*/
|
|
6
6
|
export declare function on<T extends Event>(eventType: string | ((event: T) => void), handler?: (event: T) => Command | Command[] | DispatchAction | void): EventRegistration | void;
|
|
7
7
|
export declare namespace on {
|
|
8
|
-
var settled: <T extends Command, U extends Command = never, V extends Command = never, W extends Command = never, X extends Command = never>(commandTypes: [T, U, V, W, X] extends [Command, never, never, never, never] ? [T["type"]] : [T, U, V, W, X] extends [Command, Command, never, never, never] ? [T["type"], U["type"]] : [T, U, V, W, X] extends [Command, Command, Command, never, never] ? [T["type"], U["type"], V["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, never] ? [T["type"], U["type"], V["type"], W["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, Command] ? [T["type"], U["type"], V["type"], W["type"], X["type"]] : never, callback: (events:
|
|
8
|
+
var settled: <T extends Command, U extends Command = never, V extends Command = never, W extends Command = never, X extends Command = never>(commandTypes: [T, U, V, W, X] extends [Command, never, never, never, never] ? [T["type"]] : [T, U, V, W, X] extends [Command, Command, never, never, never] ? [T["type"], U["type"]] : [T, U, V, W, X] extends [Command, Command, Command, never, never] ? [T["type"], U["type"], V["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, never] ? [T["type"], U["type"], V["type"], W["type"]] : [T, U, V, W, X] extends [Command, Command, Command, Command, Command] ? [T["type"], U["type"], V["type"], W["type"], X["type"]] : never, callback: (events: [T, U, V, W, X] extends [Command, never, never, never, never] ? { [K in T["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, never, never, never] ? { [K in T["type"] | U["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, never, never] ? { [K in T["type"] | U["type"] | V["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, Command, never] ? { [K in T["type"] | U["type"] | V["type"] | W["type"]]: Event[]; } : [T, U, V, W, X] extends [Command, Command, Command, Command, Command] ? { [K in T["type"] | U["type"] | V["type"] | W["type"] | X["type"]]: Event[]; } : never) => void) => SettledRegistration;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Dispatch a command to the message bus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dsl/types.d.ts
CHANGED
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
import type { Command, Event } from '@auto-engineer/message-bus';
|
|
2
|
-
export type ExtractHandlerEvents<T> = T extends {
|
|
3
|
-
handle: (...args: unknown[]) => Promise<infer R>;
|
|
4
|
-
} ? R : never;
|
|
5
|
-
export interface CommandHandlerRegistry {
|
|
6
|
-
CheckTests: {
|
|
7
|
-
handle: () => Promise<import('@auto-engineer/server-checks').CheckTestsEvents>;
|
|
8
|
-
};
|
|
9
|
-
CheckTypes: {
|
|
10
|
-
handle: () => Promise<import('@auto-engineer/server-checks').CheckTypesEvents>;
|
|
11
|
-
};
|
|
12
|
-
CheckLint: {
|
|
13
|
-
handle: () => Promise<import('@auto-engineer/server-checks').CheckLintEvents>;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export type AutoCommandEventMap = {
|
|
17
|
-
[K in keyof CommandHandlerRegistry]: ExtractHandlerEvents<CommandHandlerRegistry[K]>;
|
|
18
|
-
};
|
|
19
|
-
export type AutoSettledEvents<T extends readonly Command[]> = {
|
|
20
|
-
[K in T[number]['type']]: K extends keyof AutoCommandEventMap ? AutoCommandEventMap[K][] : Event[];
|
|
21
|
-
};
|
|
22
2
|
export interface EventRegistration {
|
|
23
3
|
type: 'on';
|
|
24
4
|
eventType: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dsl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dsl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,OAAO,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAE1G,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB"}
|
package/dist/src/dsl-exports.js
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -6,14 +6,14 @@ import * as path from 'path';
|
|
|
6
6
|
import * as fs from 'fs';
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
8
|
import Debug from 'debug';
|
|
9
|
-
import { loadConfig, validateConfig } from './utils/config';
|
|
10
|
-
import { handleError } from './utils/errors';
|
|
11
|
-
import { createOutput } from './utils/terminal';
|
|
12
|
-
import { Analytics } from './utils/analytics';
|
|
13
|
-
import { PluginLoader } from './plugin-loader';
|
|
9
|
+
import { loadConfig, validateConfig } from './utils/config.js';
|
|
10
|
+
import { handleError } from './utils/errors.js';
|
|
11
|
+
import { createOutput } from './utils/terminal.js';
|
|
12
|
+
import { Analytics } from './utils/analytics.js';
|
|
13
|
+
import { PluginLoader } from './plugin-loader.js';
|
|
14
14
|
import getPort, { portNumbers } from 'get-port';
|
|
15
15
|
// Export DSL functions for use in auto.config.ts
|
|
16
|
-
export { on, dispatch, fold, autoConfig } from './dsl/index';
|
|
16
|
+
export { on, dispatch, fold, autoConfig } from './dsl/index.js';
|
|
17
17
|
const debug = Debug('auto-engineer:cli');
|
|
18
18
|
// Get version from package.json - works in both dev and production
|
|
19
19
|
const getVersion = () => {
|
|
@@ -389,8 +389,8 @@ const startMessageBusServer = async () => {
|
|
|
389
389
|
return;
|
|
390
390
|
}
|
|
391
391
|
serverStarted = true;
|
|
392
|
-
const { MessageBusServer } = await import('./server/server');
|
|
393
|
-
const { loadMessageBusConfig } = await import('./server/config-loader');
|
|
392
|
+
const { MessageBusServer } = await import('./server/server.js');
|
|
393
|
+
const { loadMessageBusConfig } = await import('./server/config-loader.js');
|
|
394
394
|
console.log(chalk.cyan('Starting Auto Engineer Message Bus Server...'));
|
|
395
395
|
// Check for config file
|
|
396
396
|
let configPath = path.resolve(process.cwd(), 'auto.config.ts');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import createJiti from 'jiti';
|
|
2
2
|
import createDebug from 'debug';
|
|
3
|
-
import { on, dispatch, fold, getRegistrations, getPendingDispatches } from '../dsl';
|
|
3
|
+
import { on, dispatch, fold, getRegistrations, getPendingDispatches } from '../dsl/index.js';
|
|
4
4
|
const debug = createDebug('auto-engineer:server:config');
|
|
5
5
|
let configLoading = false;
|
|
6
6
|
/**
|
|
@@ -44,7 +44,7 @@ export async function loadMessageBusConfig(configPath, server) {
|
|
|
44
44
|
if (config.plugins !== undefined && config.plugins.length > 0) {
|
|
45
45
|
try {
|
|
46
46
|
debug('Loading plugins for metadata:', config.plugins);
|
|
47
|
-
const { PluginLoader } = await import('../plugin-loader');
|
|
47
|
+
const { PluginLoader } = await import('../plugin-loader.js');
|
|
48
48
|
const pluginLoader = new PluginLoader();
|
|
49
49
|
await pluginLoader.loadPlugins(configPath);
|
|
50
50
|
// Register unified command handlers from plugin loader
|
|
@@ -2,10 +2,10 @@ import chokidar from 'chokidar';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import createDebug from 'debug';
|
|
4
4
|
import { NodeFileStore } from '@auto-engineer/file-store';
|
|
5
|
-
import { resolveSyncFileSet } from './sync/resolveSyncFileSet';
|
|
6
|
-
import { loadAutoConfig } from '../config-loader';
|
|
7
|
-
import { md5, readBase64, statSize } from './utils/hash';
|
|
8
|
-
import { toWirePath, fromWirePath, rebuildWirePathCache } from './utils/path';
|
|
5
|
+
import { resolveSyncFileSet } from './sync/resolveSyncFileSet.js';
|
|
6
|
+
import { loadAutoConfig } from '../config-loader.js';
|
|
7
|
+
import { md5, readBase64, statSize } from './utils/hash.js';
|
|
8
|
+
import { toWirePath, fromWirePath, rebuildWirePathCache } from './utils/path.js';
|
|
9
9
|
const debug = createDebug('cli:file-syncer');
|
|
10
10
|
export class FileSyncer {
|
|
11
11
|
constructor(io, watchDir = '.', _extensions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSyncFileSet.d.ts","sourceRoot":"","sources":["../../../../../src/server/file-syncer/sync/resolveSyncFileSet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveSyncFileSet.d.ts","sourceRoot":"","sources":["../../../../../src/server/file-syncer/sync/resolveSyncFileSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AA8B1D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,wBAqD3G"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { dirOf, logArray, pkgNameFromPath, scorePathForDedupe, uniq } from '../utils/path';
|
|
1
|
+
import { collectBareImportsFromFiles } from '../discovery/bareImports.js';
|
|
2
|
+
import { nmRootsForBases, probeEntryDtsForPackagesFromRoots } from '../discovery/dts.js';
|
|
3
|
+
import { dirOf, logArray, pkgNameFromPath, scorePathForDedupe, uniq } from '../utils/path.js';
|
|
5
4
|
function flattenPaths(x) {
|
|
6
5
|
if (!x)
|
|
7
6
|
return [];
|
|
@@ -30,17 +29,25 @@ function stableCandidateNmRoots(projectRoot) {
|
|
|
30
29
|
export async function resolveSyncFileSet(opts) {
|
|
31
30
|
const { vfs, watchDir, projectRoot } = opts;
|
|
32
31
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
let flows = null;
|
|
33
|
+
try {
|
|
34
|
+
const flowPackage = '@auto-engineer/flow';
|
|
35
|
+
const flowModule = (await import(flowPackage));
|
|
36
|
+
flows = await flowModule.getFlows({ vfs, root: watchDir });
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
console.warn('[sync] @auto-engineer/flow not available, using fallback mode');
|
|
40
|
+
}
|
|
41
|
+
const files = flows !== null ? flattenPaths(flows.vfsFiles) : [];
|
|
35
42
|
const baseDirs = uniq([projectRoot, ...files.map(dirOf)]);
|
|
36
43
|
const dynamicRoots = nmRootsForBases(baseDirs);
|
|
37
44
|
const fallbackRoots = stableCandidateNmRoots(projectRoot);
|
|
38
45
|
const nmRoots = uniq([...dynamicRoots, ...fallbackRoots]);
|
|
39
46
|
// Gather externals from flow graph + bare imports in source files
|
|
40
|
-
const externalsFromFlows = flows
|
|
47
|
+
const externalsFromFlows = flows?.externals ?? [];
|
|
41
48
|
const extraPkgs = await collectBareImportsFromFiles(files, vfs);
|
|
42
49
|
const externals = Array.from(new Set([...externalsFromFlows, ...extraPkgs]));
|
|
43
|
-
const dtsFromGraph = flattenPaths(flows.typings);
|
|
50
|
+
const dtsFromGraph = flows !== null ? flattenPaths(flows.typings) : [];
|
|
44
51
|
const dtsFromProbe = await probeEntryDtsForPackagesFromRoots(vfs, nmRoots, externals);
|
|
45
52
|
// Merge & prefer non-.pnpm & shorter paths for stability
|
|
46
53
|
const allDts = Array.from(new Set([...dtsFromGraph, ...dtsFromProbe]));
|
|
@@ -51,26 +58,29 @@ export async function resolveSyncFileSet(opts) {
|
|
|
51
58
|
return pa - pb;
|
|
52
59
|
return a.length - b.length;
|
|
53
60
|
});
|
|
54
|
-
|
|
55
|
-
const bestByPkg = new Map();
|
|
56
|
-
for (const p of allDts) {
|
|
57
|
-
const pkg = pkgNameFromPath(p);
|
|
58
|
-
if (pkg === null)
|
|
59
|
-
continue;
|
|
60
|
-
const prev = bestByPkg.get(pkg);
|
|
61
|
-
if (prev === undefined || scorePathForDedupe(p) < scorePathForDedupe(prev)) {
|
|
62
|
-
bestByPkg.set(pkg, p);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const dts = [...bestByPkg.values()];
|
|
61
|
+
const dts = dedupeTypeDefinitionsByPackage(allDts);
|
|
66
62
|
logArray('files', files);
|
|
67
63
|
logArray('dts', dts);
|
|
68
64
|
logArray('externals', externals);
|
|
69
65
|
return new Set([...files, ...dts]);
|
|
70
66
|
}
|
|
71
67
|
catch (err) {
|
|
72
|
-
console.error('[sync]
|
|
68
|
+
console.error('[sync] resolveSyncFileSet FAILED:', err);
|
|
73
69
|
return new Set();
|
|
74
70
|
}
|
|
75
71
|
}
|
|
72
|
+
function dedupeTypeDefinitionsByPackage(allDts) {
|
|
73
|
+
// Keep only ONE entry .d.ts per npm package (choose best-scoring path)
|
|
74
|
+
const bestByPkg = new Map();
|
|
75
|
+
for (const p of allDts) {
|
|
76
|
+
const pkg = pkgNameFromPath(p);
|
|
77
|
+
if (pkg === null)
|
|
78
|
+
continue;
|
|
79
|
+
const prev = bestByPkg.get(pkg);
|
|
80
|
+
if (prev === undefined || scorePathForDedupe(p) < scorePathForDedupe(prev)) {
|
|
81
|
+
bestByPkg.set(pkg, p);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return [...bestByPkg.values()];
|
|
85
|
+
}
|
|
76
86
|
//# sourceMappingURL=resolveSyncFileSet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSyncFileSet.js","sourceRoot":"","sources":["../../../../../src/server/file-syncer/sync/resolveSyncFileSet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveSyncFileSet.js","sourceRoot":"","sources":["../../../../../src/server/file-syncer/sync/resolveSyncFileSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>On Auto — Sandbox Server</title>
|
|
8
|
+
<meta name="onauto:hosted-url" content="" />
|
|
9
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
|
|
10
|
+
<link rel="icon" type="image/svg+xml"
|
|
11
|
+
href="data:image/svg+xml,%3Csvg width='637' height='637' viewBox='0 0 637 637' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_1042_512)'%3E%3Crect width='637' height='637'/%3E%3Cpath d='M693.161 -427.743L-623.632 1532.31L-591.107 1552.06L725.686 -407.988L693.161 -427.743Z' fill='%23EC3F4A'/%3E%3Cpath d='M725.695 -407.962L-591.097 1552.09L-571.511 1563.98L745.281 -396.066L725.695 -407.962Z' fill='%231A1A1A'/%3E%3Cpath d='M745.281 -396.071L-571.511 1563.98L-538.986 1583.73L777.807 -376.315L745.281 -396.071Z' fill='%23FF8A1D'/%3E%3Cpath d='M777.815 -376.302L-538.978 1583.75L-519.391 1595.64L797.402 -364.406L777.815 -376.302Z' fill='%231A1A1A'/%3E%3Cpath d='M797.394 -364.425L-519.399 1595.62L-486.874 1615.38L829.919 -344.67L797.394 -364.425Z' fill='%235EC72D'/%3E%3Cpath d='M829.913 -344.684L-486.879 1615.37L-467.293 1627.26L849.499 -332.787L829.913 -344.684Z' fill='%231A1A1A'/%3E%3Cpath d='M849.467 -332.791L-467.326 1627.26L-434.801 1647.01L881.992 -313.035L849.467 -332.791Z' fill='%2342C3F7'/%3E%3Cpath d='M882 -313.038L-434.792 1647.01L-415.206 1658.91L901.587 -301.142L882 -313.038Z' fill='%231A1A1A'/%3E%3Cpath d='M673.55 -439.635L-643.242 1520.42L-623.656 1532.31L693.136 -427.738L673.55 -439.635Z' fill='%231A1A1A'/%3E%3Cpath d='M512.644 100H121.718C109.652 100 100 109.667 100 121.751V513.277C100 525.361 109.652 535.028 121.718 535.028H512.644C524.71 535.028 534.362 525.361 534.362 513.277V121.751C534.362 109.667 524.71 100 512.644 100Z' fill='white'/%3E%3Cpath d='M413.706 481.86C451.11 481.86 481.274 451.649 481.274 414.189C481.274 376.728 451.11 346.518 413.706 346.518C376.303 346.518 346.139 376.728 346.139 414.189C346.139 451.649 376.303 481.86 413.706 481.86Z' fill='%231A1A1A'/%3E%3Cpath d='M153.089 347.968C153.089 347.243 153.813 346.518 154.537 346.518H287.017C287.741 346.518 288.465 347.243 288.465 347.968V412.98C288.465 413.705 287.741 414.43 287.017 414.43H257.095C256.371 414.43 255.647 415.155 255.647 415.88V480.893C255.647 481.618 254.923 482.343 254.199 482.343H188.321C187.597 482.343 186.873 481.618 186.873 480.893V415.88C186.873 415.155 186.149 414.43 185.425 414.43H154.296C153.572 414.43 152.848 413.705 152.848 412.98V347.968H153.089Z' fill='%231A1A1A'/%3E%3Cpath d='M347.587 153.17C346.863 153.17 346.139 153.895 346.139 154.621V223.017C346.139 259.269 376.303 288.513 413.706 288.513C451.11 288.513 481.274 259.269 481.274 223.017V154.621C481.274 153.895 480.55 153.17 479.826 153.17H347.345H347.587Z' fill='%231A1A1A'/%3E%3Cpath d='M153.33 286.339C152.848 287.306 153.33 288.272 154.537 288.272H286.776C287.742 288.272 288.465 287.306 287.983 286.339L221.863 154.139C221.381 153.172 219.933 153.172 219.45 154.139L153.33 286.339Z' fill='%231A1A1A'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1042_512'%3E%3Crect width='637' height='637' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E" />
|
|
12
|
+
<style>
|
|
13
|
+
* {
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
html,
|
|
18
|
+
body {
|
|
19
|
+
margin: 0;
|
|
20
|
+
padding: 0;
|
|
21
|
+
width: 100vw;
|
|
22
|
+
height: 100vh;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:root {
|
|
26
|
+
--brand-red: #ec3f4a;
|
|
27
|
+
--brand-orange: #ff8a1d;
|
|
28
|
+
--brand-green: #5ec72d;
|
|
29
|
+
--brand-blue: #42c3f7;
|
|
30
|
+
--brand-primary: #0057dd;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.landing-root {
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%;
|
|
36
|
+
color: #e6e9ef;
|
|
37
|
+
font-family:
|
|
38
|
+
ui-sans-serif,
|
|
39
|
+
system-ui,
|
|
40
|
+
-apple-system,
|
|
41
|
+
Segoe UI,
|
|
42
|
+
Roboto,
|
|
43
|
+
Ubuntu,
|
|
44
|
+
Cantarell,
|
|
45
|
+
Noto Sans,
|
|
46
|
+
Helvetica Neue,
|
|
47
|
+
Arial,
|
|
48
|
+
'Apple Color Emoji',
|
|
49
|
+
'Segoe UI Emoji';
|
|
50
|
+
position: relative;
|
|
51
|
+
overflow: hidden;
|
|
52
|
+
background-image:
|
|
53
|
+
linear-gradient(180deg, rgba(5, 7, 13, 0.65), rgba(3, 4, 10, 0.85)),
|
|
54
|
+
url('https://framerusercontent.com/images/KkJqJ4krjg5tkwq9wtHeMXjKaMU.png?width=1440&height=780');
|
|
55
|
+
background-size: cover;
|
|
56
|
+
background-position: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.landing-container {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 100%;
|
|
62
|
+
display: flex;
|
|
63
|
+
flex-direction: column;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
gap: 24px;
|
|
67
|
+
padding: 24px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.content-grid {
|
|
71
|
+
width: 100%;
|
|
72
|
+
max-width: 1120px;
|
|
73
|
+
display: grid;
|
|
74
|
+
grid-template-columns: 1fr;
|
|
75
|
+
align-items: center;
|
|
76
|
+
gap: 36px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.left {
|
|
80
|
+
display: flex;
|
|
81
|
+
justify-content: center;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.right {
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.hero {
|
|
91
|
+
text-align: center;
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: column;
|
|
94
|
+
align-items: center;
|
|
95
|
+
gap: 14px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.badge {
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
gap: 6px;
|
|
102
|
+
padding: 6px 10px;
|
|
103
|
+
border-radius: 999px;
|
|
104
|
+
background: rgba(0, 87, 221, 0.18);
|
|
105
|
+
color: #c9d8ff;
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
font-size: 12px;
|
|
108
|
+
letter-spacing: 0.2px;
|
|
109
|
+
border: 1px solid rgba(0, 87, 221, 0.35);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.headline {
|
|
113
|
+
margin: 0;
|
|
114
|
+
font-size: 36px;
|
|
115
|
+
line-height: 1.15;
|
|
116
|
+
letter-spacing: -0.02em;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.logo {
|
|
120
|
+
width: 72px;
|
|
121
|
+
height: 72px;
|
|
122
|
+
display: inline-block;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.subhead {
|
|
126
|
+
margin: 0;
|
|
127
|
+
color: #b9c3d6;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.actions {
|
|
131
|
+
display: flex;
|
|
132
|
+
align-items: center;
|
|
133
|
+
gap: 12px;
|
|
134
|
+
margin-top: 6px;
|
|
135
|
+
justify-content: center;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
button.primary {
|
|
139
|
+
appearance: none;
|
|
140
|
+
border: none;
|
|
141
|
+
border-radius: 10px;
|
|
142
|
+
padding: 14px 24px;
|
|
143
|
+
background: linear-gradient(135deg, var(--brand-primary) 0%, #1b73ff 100%);
|
|
144
|
+
color: white;
|
|
145
|
+
font-weight: 600;
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
button.primary:disabled {
|
|
150
|
+
opacity: 0.6;
|
|
151
|
+
cursor: not-allowed;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.checkbox {
|
|
155
|
+
display: inline-flex;
|
|
156
|
+
align-items: center;
|
|
157
|
+
gap: 8px;
|
|
158
|
+
color: #a5adba;
|
|
159
|
+
user-select: none;
|
|
160
|
+
margin-top: 6px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.footer-links {
|
|
164
|
+
display: flex;
|
|
165
|
+
align-items: center;
|
|
166
|
+
gap: 10px;
|
|
167
|
+
color: #7d8696;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.footer-links a {
|
|
171
|
+
color: #aab4c6;
|
|
172
|
+
text-decoration: none;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.footer-links a:hover {
|
|
176
|
+
color: #d3dcf0;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.preview-wrap {
|
|
180
|
+
width: 100%;
|
|
181
|
+
max-width: 720px;
|
|
182
|
+
border-radius: 14px;
|
|
183
|
+
overflow: hidden;
|
|
184
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
185
|
+
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
|
|
186
|
+
transform: translateZ(0);
|
|
187
|
+
background: rgba(255, 255, 255, 0.03);
|
|
188
|
+
backdrop-filter: blur(6px) saturate(120%);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.preview-image {
|
|
192
|
+
display: block;
|
|
193
|
+
width: 100%;
|
|
194
|
+
height: auto;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@media (max-width: 960px) {
|
|
198
|
+
.content-grid {
|
|
199
|
+
grid-template-columns: 1fr;
|
|
200
|
+
gap: 24px;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.left {
|
|
204
|
+
order: 2;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.right {
|
|
208
|
+
order: 1;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.hero {
|
|
212
|
+
text-align: left;
|
|
213
|
+
align-items: flex-start;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.actions {
|
|
217
|
+
justify-content: flex-start;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
</style>
|
|
221
|
+
</head>
|
|
222
|
+
|
|
223
|
+
<body>
|
|
224
|
+
<div class="landing-root">
|
|
225
|
+
<div class="landing-container">
|
|
226
|
+
<div class="content-grid">
|
|
227
|
+
<div class="left">
|
|
228
|
+
<div class="hero">
|
|
229
|
+
<div class="logo" aria-hidden="true">
|
|
230
|
+
<svg width="100%" height="100%" viewBox="0 0 637 637" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
231
|
+
<g clip-path="url(#clip0_1042_512)">
|
|
232
|
+
<rect width="637" height="637" />
|
|
233
|
+
<path d="M693.161 -427.743L-623.632 1532.31L-591.107 1552.06L725.686 -407.988L693.161 -427.743Z"
|
|
234
|
+
fill="#EC3F4A" />
|
|
235
|
+
<path d="M725.695 -407.962L-591.097 1552.09L-571.511 1563.98L745.281 -396.066L725.695 -407.962Z"
|
|
236
|
+
fill="#1A1A1A" />
|
|
237
|
+
<path d="M745.281 -396.071L-571.511 1563.98L-538.986 1583.73L777.807 -376.315L745.281 -396.071Z"
|
|
238
|
+
fill="#FF8A1D" />
|
|
239
|
+
<path d="M777.815 -376.302L-538.978 1583.75L-519.391 1595.64L797.402 -364.406L777.815 -376.302Z"
|
|
240
|
+
fill="#1A1A1A" />
|
|
241
|
+
<path d="M797.394 -364.425L-519.399 1595.62L-486.874 1615.38L829.919 -344.67L797.394 -364.425Z"
|
|
242
|
+
fill="#5EC72D" />
|
|
243
|
+
<path d="M829.913 -344.684L-486.879 1615.37L-467.293 1627.26L849.499 -332.787L829.913 -344.684Z"
|
|
244
|
+
fill="#1A1A1A" />
|
|
245
|
+
<path d="M849.467 -332.791L-467.326 1627.26L-434.801 1647.01L881.992 -313.035L849.467 -332.791Z"
|
|
246
|
+
fill="#42C3F7" />
|
|
247
|
+
<path d="M882 -313.038L-434.792 1647.01L-415.206 1658.91L901.587 -301.142L882 -313.038Z"
|
|
248
|
+
fill="#1A1A1A" />
|
|
249
|
+
<path d="M673.55 -439.635L-643.242 1520.42L-623.656 1532.31L693.136 -427.738L673.55 -439.635Z"
|
|
250
|
+
fill="#1A1A1A" />
|
|
251
|
+
<path
|
|
252
|
+
d="M512.644 100H121.718C109.652 100 100 109.667 100 121.751V513.277C100 525.361 109.652 535.028 121.718 535.028H512.644C524.71 535.028 534.362 525.361 534.362 513.277V121.751C534.362 109.667 524.71 100 512.644 100Z"
|
|
253
|
+
fill="white" />
|
|
254
|
+
<path
|
|
255
|
+
d="M413.706 481.86C451.11 481.86 481.274 451.649 481.274 414.189C481.274 376.728 451.11 346.518 413.706 346.518C376.303 346.518 346.139 376.728 346.139 414.189C346.139 451.649 376.303 481.86 413.706 481.86Z"
|
|
256
|
+
fill="#1A1A1A" />
|
|
257
|
+
<path
|
|
258
|
+
d="M153.089 347.968C153.089 347.243 153.813 346.518 154.537 346.518H287.017C287.741 346.518 288.465 347.243 288.465 347.968V412.98C288.465 413.705 287.741 414.43 287.017 414.43H257.095C256.371 414.43 255.647 415.155 255.647 415.88V480.893C255.647 481.618 254.923 482.343 254.199 482.343H188.321C187.597 482.343 186.873 481.618 186.873 480.893V415.88C186.873 415.155 186.149 414.43 185.425 414.43H154.296C153.572 414.43 152.848 413.705 152.848 412.98V347.968H153.089Z"
|
|
259
|
+
fill="#1A1A1A" />
|
|
260
|
+
<path
|
|
261
|
+
d="M347.587 153.17C346.863 153.17 346.139 153.895 346.139 154.621V223.017C346.139 259.269 376.303 288.513 413.706 288.513C451.11 288.513 481.274 259.269 481.274 223.017V154.621C481.274 153.895 480.55 153.17 479.826 153.17H347.345H347.587Z"
|
|
262
|
+
fill="#1A1A1A" />
|
|
263
|
+
<path
|
|
264
|
+
d="M153.33 286.339C152.848 287.306 153.33 288.272 154.537 288.272H286.776C287.742 288.272 288.465 287.306 287.983 286.339L221.863 154.139C221.381 153.172 219.933 153.172 219.45 154.139L153.33 286.339Z"
|
|
265
|
+
fill="#1A1A1A" />
|
|
266
|
+
</g>
|
|
267
|
+
<defs>
|
|
268
|
+
<clipPath id="clip0_1042_512">
|
|
269
|
+
<rect width="637" height="637" fill="white" />
|
|
270
|
+
</clipPath>
|
|
271
|
+
</defs>
|
|
272
|
+
</svg>
|
|
273
|
+
</div>
|
|
274
|
+
<span class="badge" id="hostnameBadge"></span>
|
|
275
|
+
<script>
|
|
276
|
+
document.addEventListener('DOMContentLoaded', function () {
|
|
277
|
+
var badge = document.getElementById('hostnameBadge');
|
|
278
|
+
badge.textContent = window.location.hostname + ':' + window.location.port
|
|
279
|
+
});
|
|
280
|
+
</script>
|
|
281
|
+
<h1 class="headline">Visualize & Collaborate</h1>
|
|
282
|
+
<p class="subhead">A free sandbox for you to collaborate with others, visualize your flows, pipelines, and
|
|
283
|
+
more.
|
|
284
|
+
</p>
|
|
285
|
+
<div class="actions">
|
|
286
|
+
<button class="primary" id="openBtn">Access Sandbox</button>
|
|
287
|
+
<div class="hint" id="hint" style="color: #aab4c6; font-size: 12px; display: none"></div>
|
|
288
|
+
</div>
|
|
289
|
+
<label class="checkbox">
|
|
290
|
+
<input type="checkbox" id="dontShowAgain" />
|
|
291
|
+
<span>Don’t show this again</span>
|
|
292
|
+
</label>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
|
|
297
|
+
<div class="footer-links" style="position: absolute; bottom: 16px; left: auto;">
|
|
298
|
+
<a href="https://on.auto/docs" target="_blank" rel="noreferrer">
|
|
299
|
+
<i class="fab fa-readme"></i> Docs
|
|
300
|
+
</a>
|
|
301
|
+
<span>·</span>
|
|
302
|
+
<a href="https://github.com/SamHatoum/auto-engineer" target="_blank" rel="noreferrer">
|
|
303
|
+
<i class="fab fa-github"></i> GitHub
|
|
304
|
+
</a>
|
|
305
|
+
</div>
|
|
306
|
+
</div>
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
<script>
|
|
310
|
+
(function () {
|
|
311
|
+
var STORAGE_KEY = 'onauto_shell_skipLanding';
|
|
312
|
+
|
|
313
|
+
var hostedUrl = 'https://sandbox.on.auto';
|
|
314
|
+
var skip = false;
|
|
315
|
+
try {
|
|
316
|
+
skip = localStorage.getItem(STORAGE_KEY) === 'true';
|
|
317
|
+
} catch (e) { }
|
|
318
|
+
|
|
319
|
+
if (skip) {
|
|
320
|
+
window.location.replace(hostedUrl);
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
var openBtn = document.getElementById('openBtn');
|
|
325
|
+
var hint = document.getElementById('hint');
|
|
326
|
+
var dontShowAgain = document.getElementById('dontShowAgain');
|
|
327
|
+
|
|
328
|
+
openBtn.addEventListener('click', function () {
|
|
329
|
+
try {
|
|
330
|
+
if (dontShowAgain && dontShowAgain.checked) {
|
|
331
|
+
localStorage.setItem(STORAGE_KEY, 'true');
|
|
332
|
+
window.location.replace(hostedUrl);
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
} catch (e) { }
|
|
336
|
+
window.location.assign(hostedUrl);
|
|
337
|
+
});
|
|
338
|
+
})();
|
|
339
|
+
</script>
|
|
340
|
+
</body>
|
|
341
|
+
|
|
342
|
+
</html>
|