aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema.peechy
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/schema.peechy')
-rw-r--r--src/api/schema.peechy132
1 files changed, 120 insertions, 12 deletions
diff --git a/src/api/schema.peechy b/src/api/schema.peechy
index fd0b81fd2..3b7b2669e 100644
--- a/src/api/schema.peechy
+++ b/src/api/schema.peechy
@@ -10,6 +10,93 @@ smol Loader {
json = 7;
}
+smol FrameworkEntryPointType {
+ client = 1;
+ server = 2;
+ fallback = 3;
+}
+
+smol StackFrameScope {
+ Eval = 1;
+ Module = 2;
+ Function = 3;
+ Global = 4;
+ Wasm = 5;
+ Constructor = 6;
+}
+
+struct StackFrame {
+ string function_name;
+ string file;
+ StackFramePosition position;
+ StackFrameScope scope;
+}
+
+struct StackFramePosition {
+ int32 source_offset;
+ int32 line;
+ int32 line_start;
+ int32 line_stop;
+ int32 column_start;
+ int32 column_stop;
+ int32 expression_start;
+ int32 expression_stop;
+}
+
+struct SourceLine {
+ int32 line;
+ string text;
+}
+
+struct StackTrace {
+ SourceLine[] source_lines;
+ StackFrame[] frames;
+}
+
+
+message JSException {
+ string name = 1;
+ string message = 2;
+
+ uint16 runtime_type = 3;
+ uint8 code = 4;
+
+ StackTrace stack = 5;
+}
+
+smol FallbackStep {
+ ssr_disabled = 1;
+ create_vm = 2;
+ configure_router = 3;
+ configure_defines = 4;
+ resolve_entry_point = 5;
+ load_entry_point = 6;
+ eval_entry_point = 7;
+ fetch_event_handler = 8;
+}
+
+struct Problems {
+ uint16 code;
+ string name;
+
+ JSException[] exceptions;
+ Log build;
+}
+
+struct Router {
+ string[] routes;
+ int32 route;
+ StringMap params;
+}
+
+message FallbackMessageContainer {
+ string message = 1;
+ Router router = 2;
+ FallbackStep reason = 3;
+ Problems problems = 4;
+}
+
+
smol ResolveMode {
disable = 1;
lazy = 2;
@@ -161,22 +248,35 @@ struct LoadedEnvConfig {
message FrameworkConfig {
string package = 1;
- string client = 2;
- string server = 3;
- bool development = 4;
- EnvConfig client_env = 5;
- EnvConfig server_env = 6;
+ FrameworkEntryPointMessage client = 2;
+ FrameworkEntryPointMessage server = 3;
+ FrameworkEntryPointMessage fallback = 4;
+ bool development = 5;
+
+ CSSInJSBehavior client_css_in_js = 6;
+}
- CSSInJSBehavior client_css_in_js = 7;
+struct FrameworkEntryPoint {
+ FrameworkEntryPointType kind;
+ string path;
+ LoadedEnvConfig env;
+}
+
+message FrameworkEntryPointMap {
+ FrameworkEntryPoint client = 1;
+ FrameworkEntryPoint server = 2;
+ FrameworkEntryPoint fallback = 3;
+}
+
+message FrameworkEntryPointMessage {
+ string path = 1;
+ EnvConfig env = 2;
}
struct LoadedFramework {
- string entry_point;
string package;
bool development;
- bool client;
- LoadedEnvConfig env;
-
+ FrameworkEntryPointMap entry_points;
CSSInJSBehavior client_css_in_js;
}
@@ -264,7 +364,7 @@ struct TransformResponse {
Message[] errors;
}
-enum MessageKind {
+enum MessageLevel {
err = 1;
warn =2;
note = 3;
@@ -286,10 +386,18 @@ message MessageData {
Location location = 2;
}
+
+
+message MessageMeta {
+ string resolve = 1;
+ bool build = 2;
+}
+
struct Message {
- MessageKind kind;
+ MessageLevel level;
MessageData data;
MessageData[] notes;
+ MessageMeta on;
}
struct Log {