@pablopunk/webr 0.1.1
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/LICENSE +661 -0
- package/README.md +17 -0
- package/bin/webr.mjs +11 -0
- package/dist/client/_astro/App.BxlQhLhN.css +1 -0
- package/dist/client/_astro/App.CzxEZ_Dw.js +2 -0
- package/dist/client/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CTgtIFyY.js +1 -0
- package/dist/client/_astro/addon-fit.jgKqzwky.js +1 -0
- package/dist/client/_astro/addon-web-links.C9lyQRxI.js +1 -0
- package/dist/client/_astro/client.BDkzSRUN.js +1 -0
- package/dist/client/_astro/client.Bbg9OBwT.js +1 -0
- package/dist/client/_astro/client.CLSsMr2g.js +9 -0
- package/dist/client/_astro/jetbrains-mono.CFJaiWaY.woff2 +0 -0
- package/dist/client/_astro/symbols-nerd.CEdkKAK8.woff2 +0 -0
- package/dist/client/_astro/xterm.B-l5AIf6.js +7 -0
- package/dist/client/apple-touch-icon.png +0 -0
- package/dist/client/brand-mark.png +0 -0
- package/dist/client/favicon-16.png +0 -0
- package/dist/client/favicon-32.png +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/icon-192.png +0 -0
- package/dist/client/icon-512.png +0 -0
- package/dist/client/icon-maskable-512.png +0 -0
- package/dist/client/manifest.webmanifest +30 -0
- package/dist/server/chunks/App_BmsGAwGf.mjs +4314 -0
- package/dist/server/chunks/_id__u0ueX6GO.mjs +34 -0
- package/dist/server/chunks/_tab__DL6wyr-j.mjs +35 -0
- package/dist/server/chunks/_virtual_astro_server-island-manifest_C1Q2srgE.mjs +5 -0
- package/dist/server/chunks/_virtual_astro_session-driver_DS5V7T-N.mjs +6 -0
- package/dist/server/chunks/compiler_CpXox_xS.mjs +35 -0
- package/dist/server/chunks/console_CucE1SwS.mjs +170 -0
- package/dist/server/chunks/errors_BgIp4W2B.mjs +383 -0
- package/dist/server/chunks/index_DyyPce_k.mjs +22 -0
- package/dist/server/chunks/new_G7XChx5p.mjs +33 -0
- package/dist/server/chunks/node_BlixNyYV.mjs +1816 -0
- package/dist/server/chunks/noop-entrypoint_Z3zFhrGC.mjs +4 -0
- package/dist/server/chunks/remote_BxuVLM0r.mjs +169 -0
- package/dist/server/chunks/server_DS45LC4q.mjs +2496 -0
- package/dist/server/chunks/settings_DLV2Js3e.mjs +31 -0
- package/dist/server/chunks/sharp_CgNvPCpY.mjs +152 -0
- package/dist/server/chunks/vnode-children_CRmaSs5G.mjs +24 -0
- package/dist/server/entry.mjs +5837 -0
- package/dist/server/virtual_astro_middleware.mjs +4 -0
- package/drizzle/0000_gateway.sql +13 -0
- package/drizzle/0001_device_sessions.sql +9 -0
- package/drizzle/0002_audit_events.sql +7 -0
- package/drizzle/meta/_journal.json +1 -0
- package/package.json +88 -0
- package/server/cli.ts +93 -0
- package/server/command.ts +9 -0
- package/server/entry.ts +3 -0
- package/server/herdr-check.ts +37 -0
- package/server/home.ts +4 -0
- package/server/log-file.ts +52 -0
- package/server/package-info.ts +6 -0
- package/server/plugin/config.ts +14 -0
- package/server/plugin/dev.ts +27 -0
- package/server/plugin/files.ts +10 -0
- package/server/plugin/herdr.ts +33 -0
- package/server/plugin/index.ts +68 -0
- package/server/plugin/probe.ts +17 -0
- package/server/plugin/stop.ts +39 -0
- package/server/port.ts +8 -0
- package/server/run.ts +35 -0
- package/server/ssr.ts +23 -0
- package/server/start.ts +5 -0
- package/server/update/hint.ts +26 -0
- package/server/update/index.ts +33 -0
- package/server/update/latest.ts +33 -0
- package/server/update/package-manager.ts +24 -0
- package/server/update/versions.ts +15 -0
- package/src/lib/avatars.ts +15 -0
- package/src/lib/launch.ts +16 -0
- package/src/lib/machines.ts +41 -0
- package/src/lib/mock-store.ts +82 -0
- package/src/lib/models.ts +139 -0
- package/src/lib/project-icons.ts +120 -0
- package/src/lib/terminal-split.ts +23 -0
- package/src/lib/uuid.ts +10 -0
- package/src/server/auth/access.ts +22 -0
- package/src/server/auth/audit.ts +15 -0
- package/src/server/auth/auth.ts +134 -0
- package/src/server/auth/pair-page.ts +85 -0
- package/src/server/auth/pairing.ts +91 -0
- package/src/server/auth/presence.ts +8 -0
- package/src/server/auth/sessions.ts +48 -0
- package/src/server/directories.ts +21 -0
- package/src/server/dist.ts +3 -0
- package/src/server/host.ts +166 -0
- package/src/server/perf-log.ts +23 -0
- package/src/server/protocol/deadlines.ts +24 -0
- package/src/server/protocol/native.ts +10 -0
- package/src/server/protocol/ndjson.ts +22 -0
- package/src/server/protocol/socket.ts +81 -0
- package/src/server/protocol/validate.ts +17 -0
- package/src/server/public-urls.ts +17 -0
- package/src/server/runtime/herdr-actions.ts +122 -0
- package/src/server/runtime/launch.ts +55 -0
- package/src/server/runtime/manager.ts +187 -0
- package/src/server/runtime/reconcile.ts +51 -0
- package/src/server/runtime/supervisor.ts +92 -0
- package/src/server/runtime/target.ts +37 -0
- package/src/server/runtime/workspace.ts +24 -0
- package/src/server/storage/database.ts +88 -0
- package/src/server/storage/drizzle-node-sqlite.ts +18 -0
- package/src/server/storage/node-sqlite-client.ts +44 -0
- package/src/server/storage/schema.ts +25 -0
- package/src/server/tailscale-host.ts +17 -0
- package/src/server/terminal/cli.ts +44 -0
- package/src/server/terminal/hub.ts +140 -0
- package/src/server/terminal/writer.ts +38 -0
- package/src/server/transport/herdr-target.ts +148 -0
- package/src/server/transport/icons.ts +65 -0
- package/src/server/transport/identity.ts +5 -0
- package/src/server/transport/local-session.ts +65 -0
- package/src/server/transport/model-discovery.ts +18 -0
- package/src/server/transport/native-locations.ts +17 -0
- package/src/server/transport/process.ts +21 -0
- package/src/server/transport/registry.ts +27 -0
- package/src/server/transport/ssh.ts +47 -0
- package/src/server/uploads.ts +40 -0
- package/src/server/websockets.ts +62 -0
- package/src/shared/agent-kinds.ts +4 -0
- package/src/shared/frame.ts +38 -0
- package/src/shared/projects.ts +1 -0
- package/src/shared/retry.ts +1 -0
- package/src/shared/runtime.ts +33 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { R as __exportAll, S as createAstro, i as renderComponent, u as renderTemplate } from "./server_DS45LC4q.mjs";
|
|
2
|
+
import { t as createComponent } from "./compiler_CpXox_xS.mjs";
|
|
3
|
+
import { n as $$Base, t as App } from "./App_BmsGAwGf.mjs";
|
|
4
|
+
//#region src/pages/threads/[id].astro
|
|
5
|
+
var _id__exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
default: () => $$Id,
|
|
7
|
+
file: () => $$file,
|
|
8
|
+
url: () => $$url
|
|
9
|
+
});
|
|
10
|
+
createAstro("https://astro.build");
|
|
11
|
+
var $$Id = createComponent(($$result, $$props, $$slots) => {
|
|
12
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
13
|
+
Astro.self = $$Id;
|
|
14
|
+
const bootstrap = Astro.locals.runtime.bootstrap();
|
|
15
|
+
const thread = bootstrap.threads.find((thread) => thread.id === Astro.params.id);
|
|
16
|
+
if (!thread) Astro.response.status = 404;
|
|
17
|
+
return renderTemplate`${renderComponent($$result, "Base", $$Base, { "title": thread?.title ?? "Thread not found" }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "App", App, {
|
|
18
|
+
"page": thread ? "thread" : "missing",
|
|
19
|
+
"threadId": Astro.params.id,
|
|
20
|
+
"bootstrap": bootstrap,
|
|
21
|
+
"client:load": true,
|
|
22
|
+
"data-astro-transition-persist": "webr-app",
|
|
23
|
+
"client:component-hydration": "load",
|
|
24
|
+
"client:component-path": "/Users/pablopunk/src/herdr-web/src/components/App.tsx",
|
|
25
|
+
"client:component-export": "default"
|
|
26
|
+
})}` })}`;
|
|
27
|
+
}, "/Users/pablopunk/src/herdr-web/src/pages/threads/[id].astro", void 0);
|
|
28
|
+
var $$file = "/Users/pablopunk/src/herdr-web/src/pages/threads/[id].astro";
|
|
29
|
+
var $$url = "/threads/[id]";
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region \0virtual:astro:page:src/pages/threads/[id]@_@astro
|
|
32
|
+
var page = () => _id__exports;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { page };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { R as __exportAll, S as createAstro, i as renderComponent, u as renderTemplate } from "./server_DS45LC4q.mjs";
|
|
2
|
+
import { t as createComponent } from "./compiler_CpXox_xS.mjs";
|
|
3
|
+
import { n as $$Base, t as App } from "./App_BmsGAwGf.mjs";
|
|
4
|
+
//#region src/pages/sessions/[session]/tabs/[tab].astro
|
|
5
|
+
var _tab__exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
default: () => $$Tab,
|
|
7
|
+
file: () => $$file,
|
|
8
|
+
url: () => $$url
|
|
9
|
+
});
|
|
10
|
+
createAstro("https://astro.build");
|
|
11
|
+
var $$Tab = createComponent(($$result, $$props, $$slots) => {
|
|
12
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
13
|
+
Astro.self = $$Tab;
|
|
14
|
+
const bootstrap = Astro.locals.runtime.bootstrap();
|
|
15
|
+
const machineId = Astro.url.searchParams.get("machine");
|
|
16
|
+
const thread = machineId ? bootstrap.threads.find((item) => item.machineId === machineId && item.session === Astro.params.session && item.tabId === Astro.params.tab) : void 0;
|
|
17
|
+
if (!thread) Astro.response.status = 404;
|
|
18
|
+
return renderTemplate`${renderComponent($$result, "Base", $$Base, { "title": thread?.title ?? "Tab not found" }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "App", App, {
|
|
19
|
+
"page": thread ? "thread" : "missing",
|
|
20
|
+
"threadId": thread?.id,
|
|
21
|
+
"bootstrap": bootstrap,
|
|
22
|
+
"client:load": true,
|
|
23
|
+
"data-astro-transition-persist": "webr-app",
|
|
24
|
+
"client:component-hydration": "load",
|
|
25
|
+
"client:component-path": "/Users/pablopunk/src/herdr-web/src/components/App.tsx",
|
|
26
|
+
"client:component-export": "default"
|
|
27
|
+
})}` })}`;
|
|
28
|
+
}, "/Users/pablopunk/src/herdr-web/src/pages/sessions/[session]/tabs/[tab].astro", void 0);
|
|
29
|
+
var $$file = "/Users/pablopunk/src/herdr-web/src/pages/sessions/[session]/tabs/[tab].astro";
|
|
30
|
+
var $$url = "/sessions/[session]/tabs/[tab]";
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region \0virtual:astro:page:src/pages/sessions/[session]/tabs/[tab]@_@astro
|
|
33
|
+
var page = () => _tab__exports;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { page };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import _default from "unstorage/drivers/fs-lite";
|
|
2
|
+
export * from "unstorage/drivers/fs-lite";
|
|
3
|
+
//#region \0virtual:astro:session-driver
|
|
4
|
+
var _virtual_astro_session_driver_default = _default;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { _virtual_astro_session_driver_default as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "./server_DS45LC4q.mjs";
|
|
2
|
+
import { t as AstroError, x as InvalidComponentArgs } from "./errors_BgIp4W2B.mjs";
|
|
3
|
+
//#region node_modules/.pnpm/astro@7.3.5_@types+node@22.20.4_tsx@4.23.15_yaml@2.9.1/node_modules/astro/dist/runtime/server/astro-component.js
|
|
4
|
+
function validateArgs(args) {
|
|
5
|
+
if (args.length !== 3) return false;
|
|
6
|
+
if (!args[0] || typeof args[0] !== "object") return false;
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
function baseCreateComponent(cb, moduleId, propagation) {
|
|
10
|
+
const name = moduleId?.split("/").pop()?.replace(".astro", "") ?? "";
|
|
11
|
+
const fn = (...args) => {
|
|
12
|
+
if (!validateArgs(args)) throw new AstroError({
|
|
13
|
+
...InvalidComponentArgs,
|
|
14
|
+
message: InvalidComponentArgs.message(name)
|
|
15
|
+
});
|
|
16
|
+
return cb(...args);
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(fn, "name", {
|
|
19
|
+
value: name,
|
|
20
|
+
writable: false
|
|
21
|
+
});
|
|
22
|
+
fn.isAstroComponentFactory = true;
|
|
23
|
+
fn.moduleId = moduleId;
|
|
24
|
+
fn.propagation = propagation;
|
|
25
|
+
return fn;
|
|
26
|
+
}
|
|
27
|
+
function createComponentWithOptions(opts) {
|
|
28
|
+
return baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);
|
|
29
|
+
}
|
|
30
|
+
function createComponent(arg1, moduleId, propagation) {
|
|
31
|
+
if (typeof arg1 === "function") return baseCreateComponent(arg1, moduleId, propagation);
|
|
32
|
+
else return createComponentWithOptions(arg1);
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { createComponent as t };
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import colors from "piccolore";
|
|
2
|
+
//#region node_modules/.pnpm/astro@7.3.5_@types+node@22.20.4_tsx@4.23.15_yaml@2.9.1/node_modules/astro/dist/core/logger/core.js
|
|
3
|
+
var dateTimeFormat = new Intl.DateTimeFormat([], {
|
|
4
|
+
hour: "2-digit",
|
|
5
|
+
minute: "2-digit",
|
|
6
|
+
second: "2-digit",
|
|
7
|
+
hour12: false
|
|
8
|
+
});
|
|
9
|
+
var levels = {
|
|
10
|
+
debug: 20,
|
|
11
|
+
info: 30,
|
|
12
|
+
warn: 40,
|
|
13
|
+
error: 50,
|
|
14
|
+
silent: 90
|
|
15
|
+
};
|
|
16
|
+
function log(opts, level, label, message, newLine = true) {
|
|
17
|
+
const logLevel = opts.level;
|
|
18
|
+
const dest = opts.destination;
|
|
19
|
+
const event = {
|
|
20
|
+
label,
|
|
21
|
+
level,
|
|
22
|
+
message,
|
|
23
|
+
newLine
|
|
24
|
+
};
|
|
25
|
+
if (!isLogLevelEnabled(logLevel, level)) return;
|
|
26
|
+
dest.write(event);
|
|
27
|
+
}
|
|
28
|
+
function isLogLevelEnabled(configuredLogLevel, level) {
|
|
29
|
+
return levels[configuredLogLevel] <= levels[level];
|
|
30
|
+
}
|
|
31
|
+
function info(opts, label, message, newLine = true) {
|
|
32
|
+
return log(opts, "info", label, message, newLine);
|
|
33
|
+
}
|
|
34
|
+
function warn(opts, label, message, newLine = true) {
|
|
35
|
+
return log(opts, "warn", label, message, newLine);
|
|
36
|
+
}
|
|
37
|
+
function error(opts, label, message, newLine = true) {
|
|
38
|
+
return log(opts, "error", label, message, newLine);
|
|
39
|
+
}
|
|
40
|
+
function debug(...args) {
|
|
41
|
+
if ("_astroGlobalDebug" in globalThis) globalThis._astroGlobalDebug(...args);
|
|
42
|
+
}
|
|
43
|
+
function getEventPrefix({ level, label }) {
|
|
44
|
+
const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;
|
|
45
|
+
const prefix = [];
|
|
46
|
+
if (level === "error" || level === "warn") {
|
|
47
|
+
prefix.push(colors.bold(timestamp));
|
|
48
|
+
prefix.push(`[${level.toUpperCase()}]`);
|
|
49
|
+
} else prefix.push(timestamp);
|
|
50
|
+
if (label) prefix.push(`[${label}]`);
|
|
51
|
+
if (level === "error") return colors.red(prefix.join(" "));
|
|
52
|
+
if (level === "warn") return colors.yellow(prefix.join(" "));
|
|
53
|
+
if (prefix.length === 1) return colors.dim(prefix[0]);
|
|
54
|
+
return colors.dim(prefix[0]) + " " + colors.blue(prefix.splice(1).join(" "));
|
|
55
|
+
}
|
|
56
|
+
var AstroLogger = class {
|
|
57
|
+
options;
|
|
58
|
+
constructor(options) {
|
|
59
|
+
this.options = options;
|
|
60
|
+
}
|
|
61
|
+
info(label, message, newLine = true) {
|
|
62
|
+
info(this.options, label, message, newLine);
|
|
63
|
+
}
|
|
64
|
+
warn(label, message, newLine = true) {
|
|
65
|
+
warn(this.options, label, message, newLine);
|
|
66
|
+
}
|
|
67
|
+
error(label, message, newLine = true) {
|
|
68
|
+
error(this.options, label, message, newLine);
|
|
69
|
+
}
|
|
70
|
+
debug(label, ...messages) {
|
|
71
|
+
debug(label, ...messages);
|
|
72
|
+
}
|
|
73
|
+
level() {
|
|
74
|
+
return this.options.level;
|
|
75
|
+
}
|
|
76
|
+
forkIntegrationLogger(label) {
|
|
77
|
+
return new AstroIntegrationLogger(this.options, label);
|
|
78
|
+
}
|
|
79
|
+
setDestination(destination) {
|
|
80
|
+
this.options.destination = destination;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* It calls the `close` function of the provided destination, if it exists.
|
|
84
|
+
*/
|
|
85
|
+
close() {
|
|
86
|
+
if (this.options.destination.close) this.options.destination.close();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* It calls the `flush` function of the provided destination, if it exists.
|
|
90
|
+
*/
|
|
91
|
+
flush() {
|
|
92
|
+
if (this.options.destination.flush) this.options.destination.flush();
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var AstroIntegrationLogger = class AstroIntegrationLogger {
|
|
96
|
+
options;
|
|
97
|
+
label;
|
|
98
|
+
constructor(logging, label) {
|
|
99
|
+
this.options = logging;
|
|
100
|
+
this.label = label;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates a new logger instance with a new label, but the same log options.
|
|
104
|
+
*/
|
|
105
|
+
fork(label) {
|
|
106
|
+
return new AstroIntegrationLogger(this.options, label);
|
|
107
|
+
}
|
|
108
|
+
info(message) {
|
|
109
|
+
info(this.options, this.label, message);
|
|
110
|
+
}
|
|
111
|
+
warn(message) {
|
|
112
|
+
warn(this.options, this.label, message);
|
|
113
|
+
}
|
|
114
|
+
error(message) {
|
|
115
|
+
error(this.options, this.label, message);
|
|
116
|
+
}
|
|
117
|
+
debug(message) {
|
|
118
|
+
debug(this.label, message);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* It calls the `flush` function of the provided destination, if it exists.
|
|
122
|
+
*/
|
|
123
|
+
flush() {
|
|
124
|
+
if (this.options.destination.flush) this.options.destination.flush();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* It calls the `close` function of the provided destination, if it exists.
|
|
128
|
+
*/
|
|
129
|
+
close() {
|
|
130
|
+
if (this.options.destination.close) this.options.destination.close();
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
function astroToRuntimeLogger(logger) {
|
|
134
|
+
return {
|
|
135
|
+
info(msg) {
|
|
136
|
+
logger.info(null, msg);
|
|
137
|
+
},
|
|
138
|
+
warn(msg) {
|
|
139
|
+
logger.warn(null, msg);
|
|
140
|
+
},
|
|
141
|
+
error(msg) {
|
|
142
|
+
logger.error(null, msg);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region node_modules/.pnpm/astro@7.3.5_@types+node@22.20.4_tsx@4.23.15_yaml@2.9.1/node_modules/astro/dist/core/logger/public.js
|
|
148
|
+
function matchesLevel(messageLevel, configuredLevel) {
|
|
149
|
+
return levels[messageLevel] >= levels[configuredLevel];
|
|
150
|
+
}
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region node_modules/.pnpm/astro@7.3.5_@types+node@22.20.4_tsx@4.23.15_yaml@2.9.1/node_modules/astro/dist/core/logger/impls/console.js
|
|
153
|
+
function consoleLogDestination(config = {}) {
|
|
154
|
+
const { level = "info" } = config;
|
|
155
|
+
return { write(event) {
|
|
156
|
+
let dest = console.error;
|
|
157
|
+
if (levels[event.level] < levels["error"]) dest = console.info;
|
|
158
|
+
if (!matchesLevel(event.level, level)) return;
|
|
159
|
+
if (event.label === "SKIP_FORMAT") dest(event.message);
|
|
160
|
+
else dest(getEventPrefix(event) + " " + event.message);
|
|
161
|
+
} };
|
|
162
|
+
}
|
|
163
|
+
function createConsoleLogger({ level }) {
|
|
164
|
+
return new AstroLogger({
|
|
165
|
+
level,
|
|
166
|
+
destination: consoleLogDestination()
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
//#endregion
|
|
170
|
+
export { AstroIntegrationLogger as n, astroToRuntimeLogger as r, createConsoleLogger as t };
|